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 الخارجية خلف نموذج أوضاع عام. وبذلك يظل ComM وEcuM مفصولين عن العتاد الفعلي (SWS CanTrcv ص. 19). يوجد مثيل برنامج تشغيل لكل نوع عتاد لجهاز الإرسال والاستقبال [SWS_CanTrcv_00016]. تتم مخاطبة برنامج التشغيل عبر CanIf ويتحكم في العتاد عبر Dio وSpi، واللذين يجب تهيئتهما قبل CanTrcv_Init [SWS_CanTrcv_00099]. بعد Init، يستقر كل جهاز إرسال واستقبال، وفقًا للتكوين لكل قناة، في 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]. وعند إيقاف التشغيل (Shutdown)، يمسح CanSM أولاً راية WUF ثم يتحول إلى STANDBY [SWS_CanTrcv_00194]. بعد ذلك، يتيح CanSM فحص راية الاستيقاظ بشكل غير متزامن [SWS_CanTrcv_00224].

في حالة حدوث خطأ، ينطبق الآتي:

  • عند تفعيل DET، يتم الإبلاغ عن أخطاء التطوير، وعند إيقاف تشغيل DET، تُرجع واجهات برمجة التطبيقات E_NOT_OK [SWS_CanTrcv_00050].
  • يُبلغ برنامج التشغيل عن تعطل الاتصال بالعتاد كخطأ أثناء التشغيل CANTRCV_E_NO_TRCV_CONTROL [SWS_CanTrcv_91006].
  • يُبلغ CanTrcv_MainFunctionDiagnostics عن أخطاء الناقل كـ CANTRCV_E_BUS_ERROR إلى DEM [SWS_CanTrcv_00206].
إيقاف التشغيل مع الشبكات الجزئية (SPI غير متزامن)CanSMCanIfCanTrcvSpiAusgang: Anforderung NoCom,Transceiver NORMAL, Controller STARTEDUse Case: الجزء الأول: مسح راية 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: الجزء الثاني: سكون وحدة التحكم، فحص راية الاستيقاظ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]

الدور: برنامج تشغيل لأجهزة إرسال واستقبال CAN الخارجية أسفل CanIf

يتحكم CAN Transceiver Driver (CanTrcv) في وحدات إرسال واستقبال CAN الخارجية. ويقوم بمطابقة حالات العتاد الخاصة بها مع نموذج أوضاع تشغيل عام. ويهدف هذا النموذج إلى تغطية العديد من أجهزة الإرسال والاستقبال المتاحة بشكل موحد. ووفقًا للمواصفة، فإنه يتقبل وجود حالة أو حالتين زائدتين لمكون عتادي معين في سبيل تحقيق ذلك، لكنه يفصل بذلك ComM وEcuM عن العتاد (SWS CanTrcv ص. 19). ويجب أن يوفر عتاد جهاز الإرسال والاستقبال واجهة يمكن مطابقتها مع هذا النموذج [SWS_CanTrcv_00098].

في الاتجاه الأعلى، يعد CanIf الشريك المباشر:

تمر الإفادات عبر CanIf_TrcvModeIndication، والتي تنتمي إلى الواجهات الإلزامية [SWS_CanTrcv_00085]. وبالنسبة لدلالات PN، تم إدراج دوال رد اتصال أخرى لـ CanIf [SWS_CanTrcv_00086]. وفي الاتجاه الأدنى، يستخدم CanTrcv كلاً من Dio وSpi للتحكم في العتاد بالإضافة إلى Icu وDEM وأنواع EcuM، كما توضح قائمة الاستيراد [SWS_CanTrcv_00084]. وينفذ برنامج التشغيل فترات الانتظار عند تغيرات الحالة باستخدام Tm_BusyWait1us16bit [SWS_CanTrcv_00230]. ويستدعي BSW-Scheduler كلاً من CanTrcv_MainFunction وCanTrcv_MainFunctionDiagnostics (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

التهيئة، ودورة الحياة، وإلغاء التهيئة

قبل استدعاء CanTrcv_Init [SWS_CanTrcv_00001]، يجب أن تكون البيئة قد قامت بتهيئة جميع برامج التشغيل المستخدمة، ولا سيما Spi وDio [SWS_CanTrcv_00099]. يضيف موضع المستند متطلبين زمنيين: يجب أن تتم التهيئة مبكرًا بعد بدء التشغيل (Power-up)، ويجب أن تكون الخدمات التابعة قصيرة ومتزامنة (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 مما إذا كان نشاط جهاز الإرسال والاستقبال قد أدى إلى تشغيل الاستيقاظ. ويُبلغ عن النتيجة عبر EcuM_SetWakeupEvent مع المصدر من CanTrcvWakeupSourceRef [SWS_CanTrcv_00167].
  • في أجهزة الإرسال والاستقبال المتوافقة مع PN، يتم تنفيذ تسلسل التكوين مرة أخرى بالإضافة إلى ذلك إذا تم تعيين راية POR أو SYSERR. وإلا، يظل التكوين المخزن في جهاز الإرسال والاستقبال صالحًا [SWS_CanTrcv_00182].
  • يتم الإبلاغ أيضًا عن راية POR المعينة كاستيقاظ عبر CanTrcvPorWakeupSourceRef [SWS_CanTrcv_00183].

يتطابق بلاغ POR مع أجهزة الإرسال والاستقبال المزودة بمصدر طاقة مدمج. ففي هذه الأجهزة، يبدو الاستيقاظ غير الفعال بالنسبة لـ ECU كأنه إعادة تعيين عند التشغيل (Power-on-Reset) (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 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 لكل قناة. ترتيب الفحوصات هو تفسير. المصادر: [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_TrcvModeIndication باستخدام CanIf-TransceiverId المجرد [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،إعادة التهيئة بعد PORDio_WriteChannel أو تسلسل SPIE_OK (Anforderung angenommen)E_OKغير متزامن: سيتم الوصول إلى النمط المستهدفلاحقًاCanIf_TrcvModeIndication(TransceiverId, TransceiverMode)CanSM_TransceiverModeIndication(TransceiverId, TransceiverMode)يتجاهل CanSM الإشعار الخاص بـ SLEEP

مخطط تسلسلي: يتم قبول تغيير الوضع بشكل متزامن وتأكيده لاحقًا عبر إشارة دلالة (Indication) عبر CanIf إلى CanSM. المصادر: SWS CanTrcv ص. 52، [SWS_CanTrcv_00158]، [SWS_CanTrcv_00186]

الاستيقاظ: الاكتشاف، والسبب، والتحكم في الإشعار

يتم التعرف على الاستيقاظ عبر المقاطعة (Interrupt) أو عبر الاستقصاء (Polling) (SWS EcuM ص. 179). وفي هذه الأثناء، يستعلم CanIf عبر CanIf_CheckWakeup من الدالة CanTrcv_CheckWakeup [SWS_CanTrcv_00143] (SWS CanIf ص. 56). وإذا كان العتاد يدعم ذلك، فإن هذه الدالة تتحقق من صحة الاستيقاظ من خلال نشاط جهاز الإرسال والاستقبال وتبلغ عنه عبر EcuM_SetWakeupEvent [SWS_CanTrcv_00146].

يبحث CanTrcv_MainFunction [SWS_CanTrcv_00013] في جميع النواقل في STANDBY وSLEEP عن حالات استيقاظ ويعين راية استيقاظ [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).

لمقاطعات الاستيقاظ، يستخدم برنامج التشغيل قنوات 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 inفحص STANDBY/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 لدى جهاز الإرسال والاستقبال، والإبلاغ عنه إلى 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]:

  • CANTRCV_WUMODE_DISABLE: لا يتم الإبلاغ عن حالات الاستيقاظ، ولكن يتم تخزينها داخليًا [SWS_CanTrcv_00093].
  • CANTRCV_WUMODE_ENABLE: يتم الإبلاغ عن استيقاظ مخزن على أنه «حاضر» (present) [SWS_CanTrcv_00111].
  • CANTRCV_WUMODE_CLEAR: يتم مسح استيقاظ مخزن [SWS_CanTrcv_00094].

في المرحلة المحظورة، لا يجوز فقدان أي حالات استيقاظ [SWS_CanTrcv_00095]. يهدف الحذف إلى تجاهل حالات الاستيقاظ المخزنة أثناء حظر الإشعار تحت تحكم الطبقة العليا [SWS_CanTrcv_00150]. يمرر CanIf الطلب عبر CanIf_SetTrcvWakeupMode إلى CanTrcv (SWS CanIf ص. 100).

الاستيقاظ الانتقائي (Partial Networking)

في شبكات Partial Networking، تظل العقد في وضع الطاقة المنخفضة حتى توقظها إطارات استيقاظ (WUF) محددة مسبقًا. وبالتالي، لا تستجيب أجهزة الإرسال والاستقبال المتوافقة مع PN لنمط الاستيقاظ (WUP) فحسب، بل تستجيب أيضًا لهذه الإطارات (SWS CanTrcv ص. 27). ويوضح CanTrcvHwPnSupport ما إذا كان العتاد قادرًا على ذلك [SWS_CanTrcv_00174]. وفقط عندما تكون هذه المعلمة TRUE، يتواجد الحاوي CanTrcvPartialNetwork وخمس واجهات برمجة تطبيقات: 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].

يعد إجراء إيقاف التشغيل (Shutdown) أمرًا محوريًا:

  1. يمسح CanSM راية WUF عبر CanTrcv_ClearTrcvWufFlag حتى لا يُفقد أي استيقاظ للإطار عند الدخول في وضع الطاقة المنخفضة. بعد ذلك، يدخل جهاز الإرسال والاستقبال في 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).

إيقاف التشغيل مع الشبكات الجزئية (SPI غير متزامن)CanSMCanIfCanTrcvSpiAusgang: Anforderung NoCom,Transceiver NORMAL, Controller STARTEDUse Case: الجزء الأول: مسح راية 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: الجزء الثاني: سكون وحدة التحكم، فحص راية الاستيقاظ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، وفحص راية الاستيقاظ بشكل غير متزامن بعد وضع سكون وحدة التحكم (Controller-Sleep). المصادر: 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].

التكوين ومرجع النسخ (Instance)

يوجد لكل نوع عتاد لجهاز الإرسال والاستقبال مثيل برنامج تشغيل يخدم جميع مكونات هذا النوع [SWS_CanTrcv_00016]. يوضح مخطط CanIf حالة وحدات تحكم متطابقة مع أنواع مختلفة من أجهزة الإرسال والاستقبال، والتي تتطلب حينئذٍ برنامجي تشغيل لجهاز الإرسال والاستقبال (SWS CanIf ص. 34). يصف كل قناة حاوٍ CanTrcvChannel (التعددية 1..*). ويحتوي من بين أمور أخرى على CanTrcvHwPnSupport، وCanTrcvInitState، وCanTrcvWakeupByBusUsed، ومراجع مصادر الاستيقاظ (SWS CanTrcv ص. 70).

يتعلق أحد الاختلافات بين المصادر بالحالة بعد Init. يذكر مخطط التكوين CanTrcvOpModeNormal كقيمة افتراضية لـ CanTrcvInitState (ECUC-Parameter ص. 187). ومع ذلك، فإن المعيار الإلزامي لـ R20-11 هو [SWS_CanTrcv_00148]، والذي ينص فقط على SLEEP أو STANDBY بعد Init. ويجب على برنامج التشغيل رفض التكوينات التي تتضمن تعيينات أقسام غير مدعومة [SWS_CanTrcv_00231].

التصرف في حالة الخطأ

تتبع أخطاء التطوير من [SWS_CanTrcv_00050] نمطًا موحدًا. وعند تفعيل DET، تبلغ واجهات برمجة التطبيقات عن:

إذا تم إيقاف تشغيل DET، فإن واجهات برمجة التطبيقات تُرجع E_NOT_OK في هذه الحالات.

إذا تعطل الاتصال بجهاز الإرسال والاستقبال، يُبلغ برنامج التشغيل عن خطأ وقت التشغيل CANTRCV_E_NO_TRCV_CONTROL [SWS_CanTrcv_91006] عبر Det_ReportRuntimeError [SWS_CanTrcv_00085]. وينطبق ذلك تقريبًا في 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 عن معدل بود (Baudrate) غير مدعوم كـ 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 معرّف جهاز الإرسال/الاستقبال صالح؟ 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 بشكل دوري. ويُبلغ DEM بـ CANTRCV_E_BUS_ERROR كـ DEM_EVENT_STATUS_FAILED [SWS_CanTrcv_00206] أو DEM_EVENT_STATUS_PASSED [SWS_CanTrcv_00227] [SWS_CanTrcv_00228] [SWS_CanTrcv_00229]. وتتم الإشارة إلى حدث DEM عبر CanTrcvDemEventParameterRefs (SWS CanTrcv ص. 78).

أدلة تفصيلية إضافية

دليل تم إنشاؤه بواسطة الذكاء الاصطناعي استنادًا إلى المتطلبات ومواضع المستندات الواردة في الحمولة لـ CanTrcv (Classic، R20-11). تم استخدام مواضع المستندات من إصدارات أخرى بشكل تكميلي؛ وحيثما تختلف، يُذكر ذلك. والبيانات المصنفة كتفسير ليست معيارية.

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]. ويتم التنفيذ بشكل متزامن ومحدد على أنه غير قابل لإعادة الدخول [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]. وإذا كان اكتشاف أخطاء التطوير نشطًا، فسيتم الإبلاغ أيضًا عن CANTRCV_E_BAUDRATE_NOT_SUPPORTED في حال كان معدل الباود المكوّن غير مدعوم بواسطة جهاز الإرسال والاستقبال المعني [SWS_CanTrcv_00168].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد 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]؛ وعند طلب Sleep خارج Standby أو 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].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على متطلبات المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد 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]. تفسير: لتعطيل أحداث الإيقاظ، من المرجح أن توجد قيمة نمط مطابقة بالمثل، حتى لو لم تكن مفصلة بشكل منفصل في مقتطف المتطلبات الحالي. سؤال 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 علامة إطار الاستيقاظ (WUF) في عتاد جهاز إرسال واستقبال CAN المعنون، وتكون متاحة فقط إذا تم تكوين دعم 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] في حالة عدم تهيئة برنامج التشغيل، وتبلغ عن الخطأ CANTRCV_E_INVALID_TRANSCEIVER [SWS_CanTrcv_00198] في حالة وجود معلمة غير صالحة Transceiver. وإذا كان 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 كمعلَمة إدخال لتحديد جهاز الإرسال والاستقبال المراد مخاطبته، بينما تُرجع حالة الراية عبر معلَمة الإخراج FlagState من النوع CanTrcv_TrcvFlagStateType* [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):

  • إذا تم تمرير معرّف جهاز إرسال واستقبال غير صالح، تُنشئ الوحدة الخطأ CANTRCV_E_INVALID_TRANSCEIVER عند تفعيل DET؛ وإذا كان DET معطلاً، يتم إرجاع E_NOT_OK بدلاً من ذلك [SWS_CanTrcv_00199].
  • إذا تم تمرير مؤشر فارغ للمعامل FlagState (FlagState = NULL)، تُبلّغ الوحدة عن الخطأ CANTRCV_E_PARAM_POINTER عند تفعيل DET؛ وإذا كان 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]. وهي متاحة حصرياً إذا كان دعم العتاد لـ Partial Networking مفعلاً عبر معامل التكوين CanTrcvHwPnSupport = TRUE [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 (معرّف الخدمة 0x0d) لقراءة حالة راية الصمت مباشرةً من عتاد جهاز إرسال واستقبال CAN [SWS_CanTrcv_00217]. ويتم توفيرها عبر ملف الرأس CanTrcv.h ولا يجوز تنفيذها بشكل تزامني نظراً لعدم قابليتها لإعادة الدخول [SWS_CanTrcv_00217].

المعلمات وقيم الإرجاع

  • Transceiver: معامل إدخال (uint8) لمخاطبة نسخة جهاز الإرسال والاستقبال المعنية عبر معرّفها [SWS_CanTrcv_00217].
  • 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]. يتم تحديد جهاز إرسال واستقبال CAN المراد فحصه عبر المعامل Transceiver [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 سلوك الإيقاظ لجهاز إرسال واستقبال CAN لنمطي الاستعداد والسكون ([SWS_CanTrcv_00219]). وهي تحدد ما إذا كان سيتم إيقاظ جهاز الإرسال والاستقبال عبر نمط إيقاظ قياسي (Standard-Wake-up-Pattern) أو بشكل مستهدف عبر إطار إيقاظ عن بُعد مهيأ في إطار Partial Networking ([SWS_CanTrcv_00219]).

الاستخدام والمعلمات

تتوفر الدالة عبر CanTrcv.h بمعرّف الخدمة 0x0f وتُنفَّذ بشكل متزامن ([SWS_CanTrcv_00219]). ويتحكم معامل التمرير الخاص بها ActivationState من النوع CanTrcv_PNActivationType في وضع التشغيل:

  • PN_ENABLED: يُفعِّل وظيفة إيقاظ PN في جهاز إرسال واستقبال CAN ([SWS_CanTrcv_00219]).
  • PN_DIABLED: يُعطِّل وظيفة إيقاظ PN ([SWS_CanTrcv_00219]).

كقيمة إرجاع، تُرجع الدالة E_OK إذا تم تحويل جهاز الإرسال والاستقبال بنجاح إلى تكوين PN المطلوب. وإذا فشل التحويل، يتم إرجاع E_NOT_OK؛ وفي هذه الحالة يظل التكوين السابق قائماً دون تغيير ([SWS_CanTrcv_00219]).

القيود ومعالجة الأخطاء

الدالة غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_CanTrcv_00219]). وكشرط مسبق إلزامي، يجب تهيئة الوحدة CanTrcv بالكامل قبل الاستدعاء: إذا تم الاستدعاء قبل التهيئة، تُبلّغ الدالة عن الخطأ CANTRCV_E_UNINIT إلى DET عند تفعيل اكتشاف أخطاء التطوير؛ وإذا كان 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]):

فيما يتعلق بالتزامن، تم تحديد أن الدالة غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_CanTrcv_00223]). ونظراً لتحديد الخدمة على أنها غير متزامنة، فإن قيمة الإرجاع تعكس فقط قبول أمر الفحص؛ ومن المرجح أن تتم القراءة الفعلية للعتاد لاحقاً ([SWS_CanTrcv_00223]). سؤال Q-f09b7ff49c24cea8 (مفتوح) لا توجد رموز أخطاء محددة أو بلاغات DET أو DEM مسرودة لهذه الخدمة.

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد 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 بمعرف الخدمة 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)، ومحددة تحت معرّف الخدمة الست عشري 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، أو متطلبات تتعلق بقابلية إعادة الدخول (Reentrancy).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد 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 (معرف الخدمة 0x08) دوريًا حالة تشخيص جهاز الإرسال والاستقبال وتضبط أخطاء الإنتاج والتطوير المقابلة [SWS_CanTrcv_00218]. الوظيفة بدون معاملات، وليس لها قيمة مرجعة (void CanTrcv_MainFunctionDiagnostics(void))، وتُوفر عبر الترويسة SchM_CanTrcv.h [SWS_CanTrcv_00218].

سياق الاستدعاء والتزامن

نظرًا لتوفيرها عبر SchM_CanTrcv.h، يُفترض أن الوظيفة الرئيسية تُستدعى دوريًا بواسطة مجدول BSW (SchM) في سياق مهمة (تفسير). سؤال Q-ab1f6c55abcb8d4b (مفتوح) وبما أن المواصفة لا تشير إلى قابلية إعادة الدخول، فيجب افتراض تنفيذ غير قابل لإعادة الدخول.

معالجة الأخطاء والتفاعل مع DEM

يتم تقييم التشخيص وفقًا للتكوين ودعم العتاد:

  • إذا كانت الراية BUSERR المُبلّغ عنها من BSW مضبوطة، تستدعي الوظيفة API Dem_SetEventStatus باستخدام المعامل EventId كـ CANTRCV_E_BUS_ERROR وEventStatus كـ DEM_EVENT_STATUS_FAILED [SWS_CanTrcv_00206].
  • إذا أُعيد ضبط الراية BUSERR، يستدعي CanTrcv_MainFunctionDiagnostics API Dem_SetEventStatus بنفس EventId (CANTRCV_E_BUS_ERROR) والحالة DEM_EVENT_STATUS_PASSED [SWS_CanTrcv_00227].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو لا يغني عن دراسة مواصفات 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]. تفسير: من المرجح أن تقرأ الطبقات المستدعية مثل مشغّل واجهة CAN أو موديولات التشخيص هذا النوع عادةً عبر دوال استعلام من خلال معلَمات مؤشر أو قيمة إرجاع لتقييم أي رايات للأخطاء أو الإيقاظ. سؤال Q-1b75b4baf2f4c6e3 (مفتوح) وبما أن النوع نفسه لا يتضمن منطق دوال أو قيود إعادة دخول أو بلاغات DET، فإن التحقق من نطاقات القيم الصالحة يقع على عاتق الواجهات المعالجة.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي. وتظل مواصفات 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). ويتم توفير التصريح عبر ملف الرأس Can_GeneralTypes.h للواجهات المشتركة بين البرمجيات في مكدس اتصالات AUTOSAR.

نطاق القيم والمعاني

تتوفر ثلاث قيم للتعداد وفقًا لـ [SWS_CanTrcv_00163]:

  • CANTRCV_TRCVMODE_NORMAL (القيمة 0x00): يميّز نمط تشغيل جهاز الإرسال والاستقبال الاعتيادي لإرسال واستقبال رسائل CAN.
  • CANTRCV_TRCVMODE_STANDBY: يمثل نمط الاستعداد (Standby) لجهاز الإرسال والاستقبال، حيث يتوقف الاتصال ويكون استهلاك الطاقة منخفضًا.
  • CANTRCV_TRCVMODE_SLEEP: يمثل نمط النوم (Sleep) لجهاز الإرسال والاستقبال لتحقيق أقصى توفير للطاقة.

الاستخدام والقيود

يُستخدم التعداد كتمثيل موحد لنوع البيانات لحالة العتاد لجهاز إرسال واستقبال CAN [SWS_CanTrcv_00163]. تفسير: من المرجح أن يُستخدم النوع أساسًا لتمرير المعلَمات في واجهات التحكم والاستعلام الخاصة بمشغّل جهاز الإرسال والاستقبال، والتي من خلالها تحث الطبقات الأعلى مثل واجهة CAN على تغيير النمط أو قراءة الحالة الحالية. سؤال Q-95fceb6988818621 (مفتوح) وبما أن مقتطف المواصفة الحالي لا يحتوي على أخطاء وقت التشغيل (DET/DEM) أو بيانات إعادة الدخول أو توقيعات محددة للدوال، فيجب أخذ سياقات الاستدعاء وقواعد التزامن من دوال المشغّل المستخدمة في كل حالة.

يستند إشعار الاستخدام هذا حصرًا إلى بيانات المواصفة من AUTOSAR R20-11 الخاصة بـ [SWS_CanTrcv_00163].

دليل المنفِّذ قيد الإعداد (التعقيد 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 للتحكم في جهاز إرسال واستقبال CAN فيما يتعلق بأحداث الإيقاظ وإشعارات الإيقاظ [SWS_CanTrcv_00164]. ويتم توفير تعريف النوع عبر ملف الرأس 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].

تفسير: من المرجح عمليًا أن يُستخدم النوع أساسًا كمعلَمة تمرير في دوال التحكم الخاصة بمشغّل جهاز الإرسال والاستقبال، وذلك لتشغيل إشعارات الإيقاظ أو إيقاف تشغيلها ديناميكيًا وكذلك لإعادة ضبط أحداث الإيقاظ المكتشفة. سؤال Q-c53d60cdad0442ca (مفتوح) وبما أن المواصفة، بوصفها نوع تعداد مجرد، لا تحدد توقيعات دوال أو دلالات تنفيذ أو رموز أخطاء أو قواعد تزامن، فإن هذه الجوانب تتحدد بالكامل بواسطة واجهات المشغّل المستدعية والمعالجة [SWS_CanTrcv_00164].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ ولا يمكن ضمان صحته.

دليل المنفِّذ قيد الإعداد (التعقيد 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#9d48a7d4
Content hash
9d48a7d4
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANTransceiverDriver.pdf#nameddest=SWS_CanTrcv_00001

التهيئة والحالة

De - initializes the Can Trcv module.

void CanTrcv_DeInit (void);

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…

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

Std_ReturnType CanTrcv_GetBusWuReason (uint8 Transceiver, CanTrcv_TrcvWakeupReasonType* reason);

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

Std_ReturnType CanTrcv_GetOpMode (uint8 Transceiver, CanTrcv_TrcvModeType* OpMode);

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…

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

Std_ReturnType CanTrcv_SetOpMode (uint8 Transceiver, CanTrcv_TrcvModeType OpMode);

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);

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);

الخدمات · أخرى

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

Std_ReturnType CanTrcv_CheckWakeFlag (uint8 Transceiver);

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

Std_ReturnType CanTrcv_CheckWakeup (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.

Std_ReturnType CanTrcv_ClearTrcvTimeoutFlag (uint8 Transceiver);

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);

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);

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);

دورية

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

void CanTrcv_MainFunction (void);

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

void CanTrcv_MainFunctionDiagnostics (void);

الأنواع

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