LIN Interface (LinIf)
Abstracts LIN hardware and manages schedule tables and frame transmission.
Funktionen — Übersicht
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);Initializes the LIN Interface.void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Re quests transmission of a PDU.Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);Requests a schedule table to be executed.Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);Initiates a transition into the Sleep Mode on the selected channel.Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);Initiates the wake up process.Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);Set the given LIN transceiver to the given mode.Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);Returns the actual sta te of a LIN Transceiver Driver.Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);This API enables, disables and cl ears the notification for wakeup events on the addressed networkStd_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);Retrieves all assigned PID values.Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);Sets all assigned PID values.Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);Reports the current configured NAD.Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);Sets the current configured NAD.void LinTp_Init (const LinTp_ConfigType* ConfigPtr);Initializes the LIN Transport Layer.Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.void LinTp_Shutdown (void);Shutdowns the LIN TP.Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);Enables or disables mirroring for a LIN channel.void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup...Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);The LIN Driver will call this function to report a received LIN header.void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN...void LinIf_TxConfirmation (NetworkHandleType Channel);The LIN Driver will call this function to report a successfully transmitted response.void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);The LIN Driver will call this function to report a detected error event during header or response processing.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size...void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);Notifies the change of the response error signal with the new value.boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);Notifies the reception of a Save Configuration request.
Typen — Übersicht
LinIf_SchHandleTypeIndex of the schedule table that is selectable and followed by LIN Interface.struct LinIf_ConfigTypeA pointer to an instance of this structure will be used in the initialization of the LIN Interface.struct LinTp_ConfigTypeThis is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be...LinTp_ModeThis type denotes which Schedule table can be requested by LIN TP during diagnostic session
Funktionen & Typen — Detailansicht
دالة LinIf_Init [SWS_LinIf_00198] 📄 PDF
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);
Initializes the LIN Interface.
تُستخدم الدالة المتزامنة LinIf_Init لتهيئة واجهة LIN وفقًا لـ [SWS_LinIf_00198]. تمتلك الواجهة معرّف الخدمة 0x01، وتتوفر عبر ملف الترويسة LinIf.h وتُنفذ بشكل متزامن.
سياق الاستدعاء والمعلمات
تتوقع الدالة معاملًا وحيدًا هو ConfigPtr (const LinIf_ConfigType*)، والذي يعمل كمؤشر إلى تكوين واجهة LIN [SWS_LinIf_00198]. ليس لها قيمة إرجاع ولا تمتلك معاملات إدخال/إخراج أو معاملات إخراج خالصة.
تسلسلات التهيئة والتفاعل
في إطار التهيئة، تُجري واجهة LIN إعدادات محددة للعقد التابعة (Slave):
- وفقًا لـ [SWS_LinIf_00767]، تقوم الوحدة في
LinIf_Initبتهيئة عنوان العقدة المبدئي (initial NAD) وعنوان العقدة المكوّن (configured NAD) للعقدة التابعة استنادًا إلى معاملي التكوينLinIfInitialNADوLinIfConfiguredNAD. - وفقًا لـ [SWS_LinIf_00768]، تقوم الوحدة في
LinIf_Initبتهيئة معرفات PIDs المكوّنة للعقدة التابعة من بيانات التكوين عبر معاملات التكوينLinIfFrameId.
التزامن والقيود
تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_LinIf_00198]. ولذلك، فإن الاستدعاء المتزامن أو المتداخل غير مسموح به. لم يتم تحديد رموز أخطاء معينة أو رسائل DET في نطاق المواصفة المقدم لهذه الخدمة.
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_GetVersionInfo [SWS_LinIf_00340] 📄 PDF
void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
دالة LinIf_Transmit [SWS_LinIf_00201] 📄 PDF
Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Re quests transmission of a PDU.
الاستخدام وسياق الاستدعاء
تُستخدم الوظيفة LinIf_Transmit (معرف الخدمة 0x49) المعلنة في LinIf.h للطلب المتزامن لإرسال PDU [SWS_LinIf_00201]. كمعاملات إدخال، تتوقع TxPduId لتحديد هوية PDU المراد إرسالها بشكل فريد، بالإضافة إلى المؤشر PduInfoPtr إلى بنية PduInfoType، والتي يمكنها أيضاً الإشارة إلى البيانات الوصفية بالإضافة إلى طول البيانات وبيانات الحمولة الفعلية [SWS_LinIf_00201]. لا توجد معاملات إدخال/إخراج أو إخراج إضافية [SWS_LinIf_00201].
قيم الإرجاع ومتطلبات السلوك
كقيمة إرجاع، تقدم الخدمة الحالة Std_ReturnType [SWS_LinIf_00201]:
E_OK: تم قبول طلب الإرسال بنجاح بواسطة واجهة LIN [SWS_LinIf_00201].E_NOT_OK: تعذر قبول طلب الإرسال [SWS_LinIf_00201].
تم توضيح التفاعل مع أنواع الإطارات بواسطة [SWS_LinIf_00700]: عند تهيئة واجهة LIN، تُرجع LinIf_Transmit أيضاً E_OK حتى لو كانت PDU تنتمي إلى إطار غير متفرق على عقدة رئيسية لـ LIN أو إلى إطار غير مدفوع بالأحداث على عقدة تابعة لـ LIN.
التزامن
فيما يتعلق ببيئة التنفيذ، فإن LinIf_Transmit قابلة لإعادة الدخول لمعرفات PDU مختلفة، ولكن لا يجوز استدعاؤها في الوقت نفسه أو بالتزامن لنفس TxPduId [SWS_LinIf_00201].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_ScheduleRequest [SWS_LinIf_00202] 📄 PDF
Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);
Requests a schedule table to be executed. Only used for LIN master nodes.
تُستخدم الدالة LinIf_ScheduleRequest حصريًا على العقد الرئيسية لـ LIN لطلب تنفيذ جدول جدولة محدد [SWS_LinIf_00202]. تتم معالجة الاستدعاء بشكل غير متزامن ومصمم ليكون قابلاً لإعادة الدخول [SWS_LinIf_00202].
المعلمات وقيم الإرجاع
يُمرَّر عبر المعلمة Channel فهرس قناة LIN المعنية، بينما يحدد Schedule تعريف جدول الجدولة المراد تنفيذه حديثًا [SWS_LinIf_00202]. تُرجع الدالة الحالة كـ Std_ReturnType:
E_OK: تم قبول طلب تبديل جدول الجدولة بنجاح [SWS_LinIf_00202].E_NOT_OK: تم رفض التبديل [SWS_LinIf_00202].
شروط الخطأ والقيود
تحدث القيمة المُرجعة E_NOT_OK وفقًا للمواصفة في حالات الخطأ التالية [SWS_LinIf_00202]:
- واجهة LIN لم تتم تهيئتها بعد.
- القناة المُشار إليها غير موجودة، أو أن الفهرس المُمرَّر يقع خارج نطاق القيم المسموح بها.
- جدول الجدولة المُشار إليه غير موجود، أو أن مُعرِّفه غير صالح.
- الحالة الحالية هي Sleep.
تفاعل
يؤثر فشل طلب الجدولة على عمليات النقل ذات المستوى الأعلى: إذا تم، في إطار استدعاء LinTp_Transmit عبر BswM_LinTp_RequestMode، بدء تبديل جدول الجدولة عبر LinIf_ScheduleRequest، فيجب على LinTp_Transmit إرجاع E_NOT_OK إلزاميًا عندما يستجيب LinIf_ScheduleRequest بـ E_NOT_OK [SWS_LinIf_00878].
تستند ملاحظة الاستخدام هذه حصريًا إلى بيانات مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_GotoSleep [SWS_LinIf_00204] 📄 PDF
Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);
Initiates a transition into the Sleep Mode on the selected channel.
الاستخدام
تبدأ الوظيفة LinIf_GotoSleep (معرف الخدمة 0x06، المعلنة في LinIf.h) الانتقال إلى وضع السكون على قناة LIN المحددة [SWS_LinIf_00204]. يتم الاستدعاء بشكل غير متزامن ويأخذ كمعامل إدخال Channel من النوع NetworkHandleType معرف القناة المعنية [SWS_LinIf_00204].
قيم الإرجاع ومعالجة الأخطاء
كقيمة إرجاع، تقدم الخدمة النوع Std_ReturnType بالمعاني التالية [SWS_LinIf_00204]:
E_OK: تم قبول طلب التبديل إلى وضع السكون بنجاح، أو أن انتقال الحالة إلى وضع السكون قيد التشغيل بالفعل، أو أن وحدة التحكم في حالة السكون بالفعل [SWS_LinIf_00204].E_NOT_OK: لم يتم قبول الطلب. تشمل الأسباب المحتملة لذلك واجهة LIN لم تتم تهيئتها بعد، أو معرف قناة غير موجود أو يقع خارج نطاق القيم الصالحة [SWS_LinIf_00204].
التزامن وتفاعل النظام
تم تعريف الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_LinIf_00204]. إذا تم استدعاء LinIf_GotoSleep، يجب على واجهة LIN استدعاء الوظيفة Lin_GotoSleepInternal على الفور ولا يجوز لها الانتظار حتى الدورة التالية للوظيفة الرئيسية [SWS_LinIf_00757].
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_Wakeup [SWS_LinIf_00205] 📄 PDF
Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);
Initiates the wake up process.
تبدأ الوظيفة القابلة لإعادة الدخول LinIf_Wakeup عملية الاستيقاظ غير المتزامنة لقناة LIN المحددة بواسطة المعامل Channel [SWS_LinIf_00205]. وهي متاحة عبر الترويسة LinIf.h [SWS_LinIf_00205].
توفر قيمة الإرجاع Std_ReturnType معلومات حول قبول الطلب [SWS_LinIf_00205]:
- يشير
E_OKإلى أنه تم قبول طلب الاستيقاظ أو أن وحدة التحكم لم تعد بالفعل في حالة السكون [SWS_LinIf_00205]. - يتم إرجاع
E_NOT_OKإذا لم تكن واجهة LIN مهيأة، أو كان معرف القناة الممرر خارج النطاق الصالح، أو فشلت استدعاءات برامج التشغيل التابعةLin_WakeupأوLin_WakeupInternalمعE_NOT_OK[SWS_LinIf_00205].
يتم التفاعل مع المستخدم عبر وظيفة الإشعار <User>_WakeupConfirmation:
- في حالة حدوث خطأ، تستدعي واجهة LIN إجبارياً
<User>_WakeupConfirmation(FALSE)قبل إرجاعE_NOT_OK[SWS_LinIf_00762]. - عند القبول الناجح (
E_OK)، تؤكد واجهة LIN الاستيقاظ بشكل غير متزامن: فقط عند استدعاء الوظيفةLinIf_HeaderIndicationللمرة الأولى بعد ذلك، تُرسل الوحدة الاستدعاء<User>_WakeupConfirmation(TRUE)[SWS_LinIf_00761].
تم إنشاء هذا النص تلقائياً. وهو يستند إلى متطلبات مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_SetTrcvMode [SWS_LinIf_00544] 📄 PDF
Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);
Set the given LIN transceiver to the given mode.
تُستخدم الوظيفة المتزامنة والقابلة لإعادة الدخول LinIf_SetTrcvMode (معرف الخدمة 0x08) لتبديل جهاز إرسال واستقبال LIN المحدد إلى وضع التشغيل المطلوب [SWS_LinIf_00544]. الواجهة متاحة عبر ملف الترويسة LinIf.h [SWS_LinIf_00544].
المعلمات وقيم الإرجاع
يتطلب الاستدعاء معاملي إدخال [SWS_LinIf_00544]:
Channel(NetworkHandleType): يحدد قناة LIN المراد التحكم فيها [SWS_LinIf_00544].TransceiverMode(LinTrcv_TrcvModeType): يحدد انتقال الحالة المطلوب لجهاز الإرسال والاستقبال [SWS_LinIf_00544].
تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة عملية التبديل [SWS_LinIf_00544]:
E_OK: يتم إرجاعها عند تغيير حالة جهاز الإرسال والاستقبال بنجاح إلى الوضع المطلوب [SWS_LinIf_00544].E_NOT_OK: تشير إلى فشل تغيير الحالة أو وجود معامل واحد على الأقل خارج النطاق المسموح به. تبقى الحالة السابقة لجهاز الإرسال والاستقبال دون تغيير [SWS_LinIf_00544].
التنفيذ وسلوك الخطأ
تُنفذ الوظيفة بشكل متزامن ومحددة كقابلة لإعادة الدخول [SWS_LinIf_00544]. لم يتم سرد رسائل خطأ DET أو DEM محددة بشكل منفصل في عنصر المواصفة؛ يؤدي فشل تغيير الوضع أو قيم المعاملات غير المسموح بها مباشرة إلى قيمة الإرجاع E_NOT_OK [SWS_LinIf_00544].
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_GetTrcvMode [SWS_LinIf_00545] 📄 PDF
Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);
Returns the actual sta te of a LIN Transceiver Driver.
دالة LinIf_GetTrcvWakeupReason [SWS_LinIf_00547] 📄 PDF
Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);
Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.
دالة LinIf_SetTrcvWakeupMode [SWS_LinIf_00550] 📄 PDF
Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);
This API enables, disables and cl ears the notification for wakeup events on the addressed network
تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول LinIf_SetTrcvWakeupMode لتفعيل أو تعطيل أو إعادة تعيين الإخطارات الخاصة بأحداث الاستيقاظ على قناة LIN المحددة [SWS_LinIf_00550]. يتوفر الإعلان عبر ملف الترويسة LinIf.h ويمتلك مُعرِّف الخدمة 0x0b [SWS_LinIf_00550].
تتوقع الواجهة معلمتي إدخال [SWS_LinIf_00550]:
Channel: مُعرِّف فريد لشبكة أو قناة LIN المراد مخاطبتها من النوعNetworkHandleType[SWS_LinIf_00550].LinTrcvWakeupMode: وضع الاستيقاظ المطلوب لجهاز الإرسال والاستقبال من النوعLinTrcv_TrcvWakeupModeType[SWS_LinIf_00550].
تُرجع الدالة كقيمة مرجعة الحالة Std_ReturnType [SWS_LinIf_00550]:
E_OK: كان استدعاء خدمة API لبرنامج تشغيل جهاز إرسال واستقبال LIN ناجحًا وأرجعE_OK[SWS_LinIf_00550].E_NOT_OK: فشلت خدمة API لبرنامج تشغيل جهاز إرسال واستقبال LIN (القيمة المُرجعةE_NOT_OK) أو أن معلمة واحدة على الأقل من المعلمات المُمرَّرة للقناة أو الوضع غير صالحة [SWS_LinIf_00550].
فيما يتعلق بالتفاعل، تفوض الدالة الطلب إلى برنامج تشغيل جهاز إرسال واستقبال LIN؛ ويُفترض أن LinIf يشكل هنا واجهة وسيطة بين الطبقات العليا وعتاد جهاز الإرسال والاستقبال [SWS_LinIf_00550]. سؤال Q-07b525a14a2c5fcd (مفتوح) نظرًا لأن الخدمة محددة على أنها قابلة لإعادة الدخول، فيجوز تنفيذها بالتوازي لقنوات مختلفة أو لنفس القناة [SWS_LinIf_00550].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويُستخدم كدليل توجيهي. وتعتبر وثائق مواصفات AUTOSAR الرسمية هي المرجع المعتمد.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_GetPIDTable [SWS_LinIf_91002] 📄 PDF
Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);
Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
دالة LinIf_SetPIDTable [SWS_LinIf_91003] 📄 PDF
Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);
Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
دالة LinIf_GetConfiguredNAD [SWS_LinIf_00829] 📄 PDF
Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);
Reports the current configured NAD. Only applicable for LIN slave nodes.
دالة LinIf_SetConfiguredNAD [SWS_LinIf_00833] 📄 PDF
Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);
Sets the current configured NAD. Only applicable for LIN slave nodes.
دالة LinTp_Init [SWS_LinIf_00350] 📄 PDF
void LinTp_Init (const LinTp_ConfigType* ConfigPtr);
Initializes the LIN Transport Layer.
الاستخدام وسياق الاستدعاء
تُستخدم الدالة LinTp_Init لتهيئة طبقة النقل لبروتوكول LIN ([SWS_LinIf_00350]). وفقًا للمواصفة [SWS_LinIf_00350]، يعمل استدعاء الدالة بشكل متزامن.
توقيع الدالة هو void LinTp_Init (const LinTp_ConfigType* ConfigPtr). ويتم تمرير التكوين عبر معلمة الإدخال:
ConfigPtr(in): مؤشر إلى بيانات تكوين طبقة نقل LIN من النوعLinTp_ConfigType([SWS_LinIf_00350]).
لا تُرجع الدالة أي قيمة (void) ولا تُحدد معلمات إخراج أو معلمات إدخال/إخراج ([SWS_LinIf_00350]). وهي تمتلك مُعرِّف خدمة سداسي عشري 0x40 وتتوفر عبر ملف الترويسة LinIf.h ([SWS_LinIf_00350]).
معالجة الأخطاء
لا يحدد المتطلب [SWS_LinIf_00350] لهذه الدالة أي رموز أخطاء محددة أو رسائل DET أو أحداث DEM. ولا يتم إرجاع أي حالة خطأ إلى جهة الاستدعاء ([SWS_LinIf_00350]).
التزامن والقيود
صُنفت الدالة LinTp_Init صراحةً على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_LinIf_00350]). وبالتالي، لا يجوز استدعاؤها بشكل متزامن من عدة مسارات تنفيذ (threads) أو مهام (tasks) أو روتينات مقاطعة (interrupt routines). تفسير: يُرجَّح أن يتم الاستدعاء مركزيًا في إطار تسلسل تهيئة البرمجيات الأساسية (BSW)، قبل أن يمكن معالجة طلبات الاتصال اللاحقة. سؤال Q-6e391bdf8abb1a09 (مفتوح)
تفاعل
بالنسبة لـ LinTp_Init، لا تسرد هذه المقتطفات أي ارتباطات مباشرة بمتطلبات مواصفات أخرى أو دوال مجاورة ([SWS_LinIf_00350]). توفر الوحدة LinIf هذا الإعلان ([SWS_LinIf_00350]).
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinTp_Transmit [SWS_LinIf_00351] 📄 PDF
Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
تُستخدم الوظيفة المتزامنة LinTp_Transmit لطلب إرسال PDU عبر بروتوكول نقل LIN ([SWS_LinIf_00351]). كمعاملات تمرير، تتوقع معرف PDU TxPduId بالإضافة إلى المؤشر PduInfoPtr، الذي يوفر طول البيانات بالإضافة إلى مؤشرات إلى بيانات PDU والبيانات الوصفية ([SWS_LinIf_00351]). قيمة الإرجاع هي E_OK عند قبول طلب الإرسال بنجاح وE_NOT_OK في حالة الرفض ([SWS_LinIf_00351]).
يخضع سلوك وقت التشغيل والتفاعل مع واجهة LIN للتعليمات التالية:
- طلب الجدولة: إذا فشل تغيير الجدولة الذي تم البدء فيه في سياق الاستدعاء عبر
BswM_LinTp_RequestModeعندLinIf_ScheduleRequestوأرجعE_NOT_OK، فيجب أيضاً علىLinTp_Transmitالرد مباشرة بـE_NOT_OK([SWS_LinIf_00878]). - التأكيد: فقط إذا كان
LinTp_Transmitناجحاً (قيمة الإرجاعE_OK)، تستدعي واجهة LIN بعد تغيير جدول الجدولة الناجح أو الفاشل الوظيفةPduR_LinTpTxConfirmationبنتيجة إيجابية أو سلبية ([SWS_LinIf_00702]). في حالة رفض أمر الإرسال، يُلغى هذا الاستدعاء تماماً ([SWS_LinIf_00702]). - مقاطعة العمليات الجارية: إذا تم إطلاق طلب فيزيائي جديد عبر
LinTp_Transmitأثناء انتظار استجابة فيزيائية أو أثناء استقبال الاستجابة، تلغي واجهة LIN معالجة TP الجارية بما في ذلك الاستقبال ومراقبة مهلة N_Cr وP2 وتقبل الطلب الجديد ([SWS_LinIf_00708]).
فيما يتعلق بالتزامن، فإن LinTp_Transmit قابلة لإعادة الدخول لمعرفات TxPduId مختلفة، ولكن لا يجوز تنفيذها بالتزامن لنفس TxPduId ([SWS_LinIf_00351]).
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinTp_GetVersionInfo [SWS_LinIf_00352] 📄 PDF
void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
دالة LinTp_Shutdown [SWS_LinIf_00355] 📄 PDF
void LinTp_Shutdown (void);
Shutdowns the LIN TP.
تُستخدم الدالة LinTp_Shutdown لإيقاف تشغيل بروتوكول نقل LIN بشكل مضبوط ([SWS_LinIf_00355]). وعبر استدعائها، يتم إنهاء تشغيل مكون LIN-TP ([SWS_LinIf_00355]). يتوفر إعلان الدالة عبر ملف الترويسة LinIf.h ([SWS_LinIf_00355]).
تنطبق خصائص المواصفة التالية على الاستخدام والتنفيذ ([SWS_LinIf_00355]):
- المعلمات والقيمة المُرجعة: لا تحتوي الدالة على معلمات إدخال أو إدخال/إخراج أو إخراج (
void) ولا تُرجع أي قيمة (void) ([SWS_LinIf_00355]). - تحديد الخدمة: تم تعريف الخدمة تحت مُعرِّف الخدمة
0x43([SWS_LinIf_00355]). - التزامنية: تتم معالجة الاستدعاء بشكل متزامن ([SWS_LinIf_00355]).
- إعادة الدخول: الدالة غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_LinIf_00355]). الاستدعاءات المتزامنة أو المتداخلة من سياقات مختلفة غير مسموح بها.
لم تصف المصادر رموز أخطاء محددة أو استجابات لـ Development Error Tracer (DET) أو معالجات خاصة للأخطاء لهذه الدالة ([SWS_LinIf_00355]). وبالمثل، تغيب المعلومات حول المتطلبات ذات الصلة أو جهة الاستدعاء الدقيقة؛ يُفترض أن الاستدعاء يتم في إطار إلغاء التهيئة التسلسلي لحزمة الاتصالات عبر إدارة حالة BSW ذات المستوى الأعلى. سؤال Q-e25a3c9531527c4f (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه آليًا. وهي تستند حصريًا إلى بيانات مواصفة عنصر AUTOSAR في الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinTp_ChangeParameter [SWS_LinIf_00501] 📄 PDF
Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
Request to change a specific transport protocol parameter (e.g. block size).
الاستخدام والدلالات
تُستخدم الدالة المتزامنة LinTp_ChangeParameter لضبط معلمة محددة لبروتوكول النقل لـ PDU معينة في وقت التشغيل [SWS_LinIf_00501]. وتُمرَّر كمعلمات معرّف PDU (id)، ومُعرِّف معلمة بروتوكول النقل المراد تغييرها (parameter، على سبيل المثال حجم الكتلة) بالإضافة إلى القيمة المستهدفة الجديدة (value) [SWS_LinIf_00501]. يتوفر الإعلان عبر ملف الترويسة LinIf.h [SWS_LinIf_00501].
قيم الإرجاع والسلوك في حالة الخطأ
تشير الدالة إلى نتيجة الطلب مباشرة عبر قيمتها المُرجعة من النوع Std_ReturnType [SWS_LinIf_00501]:
E_OK: تم تغيير المعلمة المطلوبة بنجاح إلى القيمة الجديدة [SWS_LinIf_00501].E_NOT_OK: تم رفض التغيير من قِبل بروتوكول نقل LIN [SWS_LinIf_00501]. يُرجَّح أن يحدث هذا عادةً إذا كانت المعلمة غير صالحة أو إذا كان هناك إرسال جاري يمنع التعديل. سؤال Q-84aaf28c12dee2e9 (مفتوح)
التزامن والقيود
وفقًا للمواصفة، صُنفت LinTp_ChangeParameter على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_LinIf_00501]. وبالتالي فإن الاستدعاء المتزامن أو المتداخل لنفس السياق أو لسياقات متوازية غير مسموح به ويجب منعه بواسطة جهة الاستدعاء. يحظر الإجراء المتزامن جهة الاستدعاء حتى يتم اتخاذ القرار بشأن اعتماد قيمة المعلمة [SWS_LinIf_00501].
أُنشئ هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات مواصفات AUTOSAR R20-11.
دالة LinIf_CheckWakeup [SWS_LinIf_00378] 📄 PDF
Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);
Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.
الاستخدام وسياق الاستدعاء
يتم استدعاء الدالة المتزامنة LinIf_CheckWakeup بمجرد إخطار الوحدة EcuM بحدث استيقاظ على قناة LIN معينة [SWS_LinIf_00378]. يتم الاستدعاء باستخدام معلمة الإدخال WakeupSource من النوع EcuM_WakeupSourceType [SWS_LinIf_00378]. تحدد هذه المعلمة جهاز المصدر الذي بدأ حدث الاستيقاظ، والذي يمكن أن يكون وحدة تحكم LIN أو جهاز إرسال واستقبال LIN [SWS_LinIf_00378].
معالجة الأخطاء وقيم الإرجاع
تُرجع الدالة حالة من النوع Std_ReturnType كقيمة إرجاع [SWS_LinIf_00378]:
E_OK: لم يحدث أي خطأ أثناء تنفيذ الواجهة [SWS_LinIf_00378].E_NOT_OK: حدث خطأ أثناء تنفيذ الواجهة، أو تم تمرير قيمة غير صالحة لـWakeupSource[SWS_LinIf_00378].
التزامن والتكامل
تم تحديد الواجهة على أنها قابلة لإعادة الدخول، وتمتلك مُعرِّف الخدمة 0x60 وتتوفر عبر ملف الترويسة LinIf.h [SWS_LinIf_00378]. وهي تربط معالجة الاستيقاظ الخاصة بـ EcuM مباشرة بقنوات واجهة LIN [SWS_LinIf_00378].
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دالة LinIf_EnableBusMirroring [SWS_LinIf_00876] 📄 PDF
Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);
Enables or disables mirroring for a LIN channel.
تفعّل الدالة المتزامنة والقابلة لإعادة الدخول LinIf_EnableBusMirroring ميزة Bus-Mirroring لقناة LIN مفردة أو تعطلها [SWS_LinIf_00876]. تتوفر الدالة عبر ملف الترويسة LinIf.h، ويمكن الاستغناء عنها إذا لم تكن ميزة Bus-Mirroring مفعّلة عبر معلَم التكوين LinIfBusMirroringSupport [SWS_LinIf_00875]. وعادة ما تعمل وحدة Mirror كجهة استدعاء. سؤال Q-1703af5207cb7ade (مفتوح)
تُمرَّر قناة LIN المعنية عبر المعامل Channel، بينما يتحكم MirroringActive في الوضع [SWS_LinIf_00876]: عند تمرير TRUE يتم تفعيل Mirroring، وعند FALSE يتم تعطيله [SWS_LinIf_00876]. كقيمة مرجعة، تُرجع الدالة E_OK إذا تم تغيير وضع Mirroring بنجاح، أو E_NOT_OK إذا تم تحديد قناة غير صالحة أو كان Mirroring معطلاً بشكل عام [SWS_LinIf_00876]. ولا تبيّن مواصفة الدالة رسائل أخطاء محددة لـ DET أو DEM [SWS_LinIf_00876].
إذا كان Bus-Mirroring مفعّلاً بشكل عام عبر LinIfBusMirroringSupported وكذلك للقناة المعنية، فإن واجهة LIN توجّه الأحداث ذات الصلة إلى Mirror_ReportLinFrame:
- الأطر المستلمة عند
LinIf_RxIndicationبالحالةLIN_RX_OKومؤشر إلى البيانات المفيدة (Nutzdaten) [SWS_LinIf_00838] وكذلك عند قراءة حالة مشغل LIN للفتحات Rx [SWS_LinIf_00873]. - الأطر المرسلة عند
LinIf_TxConfirmationبالحالةLIN_TX_OKومؤشر إلى البيانات المنقولة [SWS_LinIf_00839] وكذلك عند قراءة حالة مشغل LIN للفتحات Tx [SWS_LinIf_00874]. - إخطارات الأخطاء عند
LinIf_LinErrorIndicationلجميع رموز الأخطاء باستثناءLIN_ERR_HEADERمع حالة الخطأ ومؤشر NULL كمحتوى بيانات [SWS_LinIf_00869].
تم توليد إشعار الاستخدام هذا بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_WakeupConfirmation [SWS_LinIf_00715] 📄 PDF
void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);
The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.
تُستخدم الدالة LinIf_WakeupConfirmation للإبلاغ عن الاكتشاف الناجح لحدث الاستيقاظ إلى واجهة LIN [SWS_LinIf_00715].
الاستدعاء والمعاملات
يتم الاستدعاء بواسطة برنامج تشغيل LIN (LIN Driver) أو برنامج تشغيل جهاز إرسال واستقبال LIN (LIN Transceiver Driver) بعد حدوث اكتشاف ناجح للاستيقاظ أثناء Check Wakeup أو بعد التشغيل عبر الناقل (power on by bus) [SWS_LinIf_00715]. وتُمرَّر كمعلمة تمرير WakeupSource من النوع EcuM_WakeupSourceType، والتي تحدد جهاز المصدر الذي بدأ حدث الاستيقاظ (وحدة تحكم LIN أو جهاز إرسال واستقبال LIN) [SWS_LinIf_00715].
خصائص التنفيذ والواجهة
- الدلالات: تتم معالجة الاستدعاء بشكل متزامن [SWS_LinIf_00715].
- إعادة الدخول: تم تحديد الدالة على أنها قابلة لإعادة الدخول [SWS_LinIf_00715].
- القيمة المُرجعة: لا توجد قيمة مُرجعة (
void) [SWS_LinIf_00715]. - ملف الترويسة: يتوفر الإعلان عبر
LinIf.h(مُعرِّف الخدمة:0x61) [SWS_LinIf_00715].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.
دالة LinIf_HeaderIndication [SWS_LinIf_91004] 📄 PDF
Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);
The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
يستدعي مشغل LIN دالة الرد LinIf_HeaderIndication بشكل متزامن للإبلاغ عن استقبال ترويسة LIN على قناة تابعة [SWS_LinIf_91004]. وهي متاحة حصرياً إذا كانت وحدة التحكم الإلكترونية تحتوي على قناة LIN تابعة واحدة مهيأة على الأقل [SWS_LinIf_91004]. الدالة قابلة لإعادة الدخول لقنوات مختلفة، ولكن لا يجوز استدعاؤها بشكل متزامن للقناة نفسها [SWS_LinIf_91004].
من خلال معلمة الدخل/الخرج PduPtr، يمرر المشغل المعرّف المستلَم (PID) بالإضافة إلى المؤشر إلى مخزن بيانات SDU المؤقت [SWS_LinIf_91004]. يقيم LinIf الـ PID ويتحكم في استجابة العقدة التابعة:
- إطار الاستقبال: إذا كان الـ PID ينتمي إلى إطار استقبال مهيأ، يضبط LinIf نوع المجموع الاختباري
PduPtr->Csوطول البياناتPduPtr->Dlويسند القيمةLIN_FRAMERESPONSE_RXإلىPduPtr->Drcقبل العودة [SWS_LinIf_00733]. - إطار الإرسال: إذا كان إطار إرسال، يطلب LinIf البيانات المفيدة عبر
<User_TriggerTransmit>[SWS_LinIf_00738]. عند توفيرها بنجاح (قيمة الإرجاعE_OKأو بيانات SRF من خلال Node Configuration Handler / بروتوكول النقل)، تتم تهيئة المجموع الاختباري والطول وتعيينPduPtr->DrcإلىLIN_FRAMERESPONSE_TX[SWS_LinIf_00739]. إذا فشل الاستعلام معE_NOT_OK، يتم تعيينPduPtr->DrcإلىLIN_FRAMERESPONSE_IGNORE[SWS_LinIf_00740]. - الإطارات غير ذات الصلة: إذا لم يكن الإطار ذا صلة بالتابع، يضبط LinIf
PduPtr->Drcأيضاً علىLIN_FRAMERESPONSE_IGNORE[SWS_LinIf_00748].
بالإضافة إلى ذلك، يُعيد كل استدعاء تحميل مؤقت خمول الناقل الجاري [SWS_LinIf_00754]. إذا تم الاستدعاء لأول مرة بعد نجاح LinIf_Wakeup، فسيتم إطلاق <User>_WakeupConfirmation(TRUE) [SWS_LinIf_00761]. عند استقبال ترويسة SRF، يبدأ LinIf أيضاً مؤقت N_As للإطارات المتتالية (CF) [SWS_LinIf_00800]. كقيمة إرجاع، يشير E_OK إلى قبول الطلب، بينما يشير E_NOT_OK إلى أخطاء في التطوير أو الإنتاج [SWS_LinIf_91004].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة LinIf_RxIndication [SWS_LinIf_91005] 📄 PDF
void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);
The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
يستدعي مشغل LIN دالة الرد LinIf_RxIndication بشكل متزامن لإخطار LIN-Interface بالاستقبال الناجح لاستجابة تتضمن بيانات الاستقبال [SWS_LinIf_91005]. تتوفر الدالة حصرياً في وحدات التحكم الإلكترونية التي تحتوي على قناة LIN تابعة واحدة مهيأة على الأقل [SWS_LinIf_91005].
تنطبق الشروط التالية فيما يتعلق بتمرير المعلمات والتزامن:
- المعلمات: يتم تمرير معرّف القناة
Channelبالإضافة إلى المؤشرLin_SduPtrإلى مخزن مؤقت بديل (Shadow Buffer) أو مخزن استقبال الذاكرة المعينة لأجهزة LIN [SWS_LinIf_91005]. يكون هذا المؤشر صالحاً فقط في حالة استقبال الاستجابة فعلياً [SWS_LinIf_91005]. - قيمة الإرجاع: لا تمتلك الدالة أي قيمة إرجاع (
void) [SWS_LinIf_91005]. - قابلية إعادة الدخول: الواجهة قابلة لإعادة الدخول لقنوات LIN المختلفة، ولكنها غير قابلة لإعادة الدخول للقناة نفسها [SWS_LinIf_91005].
في سياق التفاعل مع سلوك الوحدة، يُطلق الاستدعاء العديد من الإجراءات التنسيقية:
- إعادة توجيه البيانات المفيدة المستلمة وطول البيانات المفيدة إلى الطبقة العليا عبر
<User_RxIndication>[SWS_LinIf_00734]. - التحقق من أوامر السكون: إذا كان الإطار عبارة عن إطار طلب السيد (MRF) مع NAD بقيمة 0، يتعرف LIN-Interface على أمر الانتقال إلى وضع السكون (Go-to-Sleep) ويبدأ الانتقال إلى وضع السكون [SWS_LinIf_00750].
- التحكم في المؤقت: مع كل استدعاء، يُعاد تحميل مؤقت خمول الناقل [SWS_LinIf_00754]. بالإضافة إلى ذلك، يتحكم الاستدعاء في مؤقت N_Cr مع إطارات MRF (إطارات FF وCF) (بدء/إعادة تشغيل مع FF وCF قبل الإطار الأخير، وإيقاف عند آخر CF) [SWS_LinIf_00805].
- عكس الناقل (Bus-Mirroring): إذا تم تفعيل Mirroring عالمياً وللقناة، يُبلّغ LIN-Interface بالإطار بالحالة
LIN_RX_OKعبرMirror_ReportLinFrame()[SWS_LinIf_00838].
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_TxConfirmation [SWS_LinIf_91006] 📄 PDF
void LinIf_TxConfirmation (NetworkHandleType Channel);
The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
يستدعي مشغل LIN دالة الرد المتزامنة LinIf_TxConfirmation (معرّف الخدمة 0x7a، المعلنة في LinIf.h) لتأكيد الإرسال الناجح لاستجابة (Response) على القناة المحددة [SWS_LinIf_91006]. ليس للدالة قيمة إرجاع وهي مخصصة حصرياً لوحدات التحكم الإلكترونية التي تحتوي على قناة LIN تابعة واحدة مهيأة على الأقل [SWS_LinIf_91006].
عند وصول التأكيد، ينفذ LIN-Interface العديد من إجراءات المعالجة اللاحقة:
- إخطار الطبقة العليا: تُعيد الوحدة توجيه حدث الإرسال عبر دالة الرد
<User_TxConfirmation>مع قيمة الإرجاعE_OKإلى الطبقة العليا [SWS_LinIf_00741]. - حالة الخطأ: إذا كان الإطار المرسل بنجاح يحتوي على إشارة الخطأ
response_error، يقوم LIN-Interface بإعادة تعيين هذه الإشارة [SWS_LinIf_00747]. - مراقبة هدوء الناقل: يعيد كل استدعاء لـ
LinIf_TxConfirmationتحميل مؤقت خمول الناقل الجاري للقناة [SWS_LinIf_00754]. - بروتوكول النقل (LinTp): إذا أكد المشغل الاستجابة لترويسة SRF (إطار استجابة التابع)، توقف الواجهة مؤقت المراقبة
N_As[SWS_LinIf_00800]. - عكس الناقل (Bus Mirroring): إذا تمت تهيئة النسخ المتطابق عالمياً عبر
LinIfBusMirroringSupportedوتم تفعيله عبرLinIf_EnableBusMirroring()، تُبلّغ الواجهة بالإطار بالحالةLIN_TX_OKومؤشر لبيانات الإرسال إلىMirror_ReportLinFrame()[SWS_LinIf_00839].
فيما يتعلق بالتزامن، تم تصميم LinIf_TxConfirmation ليكون قابلاً لإعادة الدخول لقنوات LIN المختلفة، ولكن لا يجوز استدعاؤه بشكل قابل لإعادة الدخول للقناة نفسها [SWS_LinIf_91006].
تم توليد ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة LinIf_LinErrorIndication [SWS_LinIf_91007] 📄 PDF
void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);
The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
الاستخدام وسياق الاستدعاء
يستدعي مشغل LIN الدالة المتزامنة LinIf_LinErrorIndication للإبلاغ عن الأخطاء التي حدثت أثناء معالجة الترويسة أو الاستجابة [SWS_LinIf_91007]. وهي مخصصة حصرياً لعقد LIN التابعة وتتطلب أن تحتوي وحدة التحكم الإلكترونية على قناة LIN تابعة واحدة مهيأة على الأقل [SWS_LinIf_91007]. وتُمرر معرّفات القناة Channel بالإضافة إلى حالة الخطأ التي حدثت ErrorStatus من النوع Lin_SlaveErrorType كمعلمات [SWS_LinIf_91007].
معالجة الأخطاء والتزامن
الدالة قابلة لإعادة الدخول لقنوات مختلفة، ولكن لا يجوز استدعاؤها بالتزامن للقناة نفسها [SWS_LinIf_91007]. عند الاستدعاء، يعتبر LIN-Interface الاستجابة أو الإطار المنقول مفقوداً ويُبلّغ عن خطأ وقت التشغيل LINIF_E_RESPONSE إلى Default Error Tracer (DET)، ما لم تكن حالة الخطأ المُبلَّغ عنها هي LIN_ERR_HEADER [SWS_LinIf_00735]، [SWS_LinIf_00743].
التفاعل ومراقبة الناقل
بغض النظر عن رمز الخطأ المُمرَّر، يعيد LIN-Interface تحميل مؤقت خمول الناقل الجاري مع كل استدعاء لـ LinIf_LinErrorIndication [SWS_LinIf_00754]. في حالة حدوث خطأ في استجابة SRF بعد استقبال ترويسة SRF، يقطع LIN-Interface الإرسال ويُبلّغ الطبقة العليا بذلك عبر PduR_LinTpTxConfirmation بالنتيجة E_NOT_OK [SWS_LinIf_00796].
إذا كان Bus-Mirroring نشطاً عالمياً عبر LinIfBusMirroringSupported ومفعلاً للقناة، يُعيد LIN-Interface توجيه الأخطاء التي لا تساوي LIN_ERR_HEADER عبر Mirror_ReportLinFrame() بمؤشر NULL لمحتوى البيانات [SWS_LinIf_00869]. في هذه الحالة، تُترجم رموز أخطاء المشغل أولاً إلى قيم حالة مقابلة من النوع Lin_StatusType [SWS_LinIf_00870].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة <User_TriggerTransmit> [SWS_LinIf_00528] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.
تُستخدم الواجهة القابلة للتكوين <User_TriggerTransmit> للاسترداد المتزامن لبيانات SDU من وحدة عليا من أجل عملية إرسال معلقة [SWS_LinIf_00528].
تُحدَّد SDU المطلوبة عبر المعلمة TxPduId، بينما يُمرَّر PduInfoPtr كمؤشر إلى بنية تحتوي على المخزن المؤقت المستهدف (SduDataPtr) وحجم المخزن المؤقت المتاح (SduLength) [SWS_LinIf_00528]. تتحقق الوحدة العليا المُستدعاة داخل هذه الـ API مما إذا كانت البيانات الجاهزة تتسع في حجم المخزن المؤقت المُبلَّغ عنه [SWS_LinIf_00528]. إذا توفرت مساحة كافية، تنسخ الوحدة بياناتها إلى SduDataPtr، وتحدّث SduLength بعدد البايتات المنسوخة فعليًا وتشير إلى النجاح بالقيمة المُرجعة E_OK [SWS_LinIf_00528].
أما إذا لم يكن حجم المخزن المؤقت كافيًا، فلا يتم نسخ بيانات SDU وتُرجع الوحدة E_NOT_OK دون تعديل PduInfoPtr [SWS_LinIf_00528]. في حال كانت القيمة المُرجعة E_NOT_OK، فلا يجوز لجهة الاستدعاء استخدام PduInfoPtr بأي حال من الأحوال، لأنه قد يشير إلى بيانات غير صالحة أو يكون مؤشر NULL [SWS_LinIf_00528].
فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول لمعرّفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرّف PDU [SWS_LinIf_00528].
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR رقم SWS_LinIf_00528.
دالة <User_TxConfirmation> [SWS_LinIf_00529] 📄 PDF
void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
يتم استدعاء دالة الرد (callback) القابلة للتكوين <User_TxConfirmation> بواسطة وحدة واجهة الاتصال الدنيا لتأكيد إرسال PDU أو فشل الإرسال لطبقة عليا [SWS_LinIf_00529]. يتم الاستدعاء بشكل متزامن ولا يُرجع أي قيمة [SWS_LinIf_00529].
المعلمات والدلالات
TxPduId(In): يشير إلى مُعرِّف الـ PDU المنقولة من النوعPduIdType[SWS_LinIf_00529].result(In): يبلغ عن حالة نجاح الإرسال كـStd_ReturnTypeمع القيمE_OKفي حالة نجاح إرسال الـ PDU أوE_NOT_OKفي حالة فشل الإرسال [SWS_LinIf_00529].
التزامن ومعالجة الأخطاء
فيما يتعلق بإمكانية إعادة الدخول، صُممت الدالة لتكون قابلة لإعادة الدخول لمعرّفات PDU المختلفة، ولكن لا يجوز استدعاؤها بشكل متكرر لنفس معرّف PDU [SWS_LinIf_00529]. لا تحدد الوحدة أي رموز خطأ خاصة أو رسائل DET أو DEM لهذه الواجهة؛ وبدلاً من ذلك، يُشار إلى فشل الإرسال عبر قيمة المعلمة E_NOT_OK [SWS_LinIf_00529]. ويُرجَّح أن يُحدَّد الاسم الفعلي للدالة وفقًا لخصائص الدمج بحسب طبقة المستخدم المُهيأة، نظرًا لأن الخدمة محددة على أنها قابلة للتكوين [SWS_LinIf_00529]. سؤال Q-35de931161f26cb8 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.
دالة <User_RxIndication> [SWS_LinIf_00530] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
تُستخدم دالة الرد (callback) <User_RxIndication> للإشارة إلى استلام PDU من وحدة واجهة الاتصال الدنيا إلى الطبقة العليا [SWS_LinIf_00530]. يتم الاستدعاء بدلالات متزامنة ولا يمتلك أي قيمة مُرجعة [SWS_LinIf_00530].
المعلمات ومواصفات الواجهة
تمرر الدالة معلمتي إدخال إلى الطبقة العليا [SWS_LinIf_00530]:
RxPduId: مُعرِّف الـ PDU المستلمة من النوعPduIdType[SWS_LinIf_00530].PduInfoPtr: مؤشر إلى بنية من النوعPduInfoTypeتوفر طول بيانات الحمولة النافعة (SduLength)، ومؤشرًا إلى المخزن المؤقت مع بيانات الحمولة النافعة (SduDataPtr) بالإضافة إلى البيانات الوصفية المرتبطة بالـ PDU [SWS_LinIf_00530].
لا توجد معلمات إدخال/إخراج ولا معلمات إخراج فقط مخصصة لهذه الواجهة [SWS_LinIf_00530].
التزامن والتكوين
فيما يتعلق بإعادة الدخول، صُممت الدالة لتكون قابلة لإعادة الدخول لمعرّفات PDU المختلفة، ولكن تم تحديدها صراحةً على أنها غير قابلة لإعادة الدخول لمعرّفات PDU المتطابقة [SWS_LinIf_00530]. لذلك، يجب على جهات الاستدعاء التأكد من عدم حدوث استدعاءات متداخلة لنفس RxPduId. تم إعلان الدالة كواجهة قابلة للتكوين [SWS_LinIf_00530]؛ وبالتالي يُرجَّح أن يُحدَّد الاسم الفعلي للدالة في الطبقة العليا عبر تكوين الوحدة. سؤال Q-94175e8cd86775b6 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى المواصفة SWS_LinIf_00530.
دالة <User_ResponseErrorSignalChanged> [SWS_LinIf_00856] 📄 PDF
void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);
Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface
تُستخدم الواجهة <User_ResponseErrorSignalChanged> في الوحدة LinIf كدالة إخطار للإبلاغ عن تغير قيمة إشارة خطأ الاستجابة مع القيمة الجديدة للإشارة [SWS_LinIf_00856]. يتم الاستدعاء تزامنيًا ويمتلك معرف الخدمة 0x74 [SWS_LinIf_00856]. لا توجد معلمات إدخال/إخراج ولا توجد قيمة مرجعة؛ تم تعريف التوقيع بنوع الإرجاع void [SWS_LinIf_00856].
كمعلمات تمرير، تتوقع الدالة قيمتي إدخال بحتتين [SWS_LinIf_00856]:
Channel(النوعNetworkHandleType): تمييز فريد لقناة LIN المعنية [SWS_LinIf_00856].RespErrSigValue(النوعboolean): القيمة الحالية لإشارة خطأ الاستجابة. تكون المعلمةtrueإذا تم ضبط الإشارة على 1، وإلا فإنهاfalse[SWS_LinIf_00856].
فيما يتعلق بالتزامن وسياق الاستدعاء، تم تحديد أن الدالة قابلة لإعادة الدخول لقنوات مختلفة، ولكن لا يجوز استدعاؤها لنفس القناة بشكل غير قابل لإعادة الدخول [SWS_LinIf_00856]. ويتمثل القيد الوظيفي في أن خدمة الإخطار هذه قابلة للتطبيق حصريًا على عقد LIN التابعة (Slave) [SWS_LinIf_00856]. يتم توفير التصريح عبر ملف الترويسة LinIf_Externals.h [SWS_LinIf_00856].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دالة <User_SaveConfigurationRequest> [SWS_LinIf_00857] 📄 PDF
boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);
Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.
تُخطر دالة الرد <User_SaveConfigurationRequest> (معرّف الخدمة 0x75) طبقةً أعلى باستلام طلب «Save Configuration»، وهي مصرّح عنها في LinIf_Externals.h [SWS_LinIf_00857]. تنطبق هذه الواجهة حصرياً على عُقد LIN التابعة [SWS_LinIf_00857].
يتم الاستدعاء بشكل متزامن، ومحدد بأنه قابل لإعادة الدخول (reentrant) [SWS_LinIf_00857]:
- المعاملات: يُمرَّر عبر معامل الدخل
Channelمن النوعNetworkHandleTypeقناة LIN المعنية [SWS_LinIf_00857]. ولا توجد معاملات دخل أو خرج إضافية [SWS_LinIf_00857]. - القيمة المرجعة: تُرجع الدالة قيمة من النوع
boolean[SWS_LinIf_00857]. تشير القيمة المرجعةTRUEإلى وجوب إرسال استجابة إيجابية على ناقل LIN، بينما تمنعFALSEإرسال أي استجابة [SWS_LinIf_00857].
فيما يتعلق بمعالجة الأخطاء، لا تحدد المواصفة رموز أخطاء معينة ولا رسائل DET أو DEM [SWS_LinIf_00857]. ويتم التحكم في السلوك في حالة الخطأ أو الرفض مباشرةً عبر القيمة المرجعة البولينية، حيث يتم منع إرسال استجابة بواسطة FALSE [SWS_LinIf_00857]. وبما أن الاستدعاء مصنّف كقابل لإعادة الدخول، فمن المرجح أن تكون الدالة مصممة للاستدعاء المتزامن على قنوات مختلفة [SWS_LinIf_00857]. سؤال Q-84432030c1aff644 (مفتوح)
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
نوع LinIf_SchHandleType [SWS_LinIf_00197] 📄 PDF
Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255
نوع LinIf_ConfigType [SWS_LinIf_00668] 📄 PDF
A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.
نوع LinTp_ConfigType [SWS_LinIf_00426] 📄 PDF
This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification
نوع LinTp_Mode [SWS_LinIf_00629] 📄 PDF
This type denotes which Schedule table can be requested by LIN TP during diagnostic session
نوع التعداد LinTp_Mode معرف في ملف الترويسة LinIf.h ويحدد وضع جدول الجدولة الذي يمكن طلبه بواسطة بروتوكول نقل LIN (LIN TP) أثناء جلسة التشخيص [SWS_LinIf_00629].
يتضمن نطاق القيم ثلاثة عناصر تعداد حرفية للتحكم في تغيير الجدولة على ناقل LIN [SWS_LinIf_00629]:
LINTP_APPLICATIVE_SCHEDULE: يحدد جدول الجدولة التطبيقي لحركة الرسائل المنتظمة [SWS_LinIf_00629].LINTP_DIAG_REQUEST: يحدد جدول جدولة طلبات السيد (Master-Request) لنقل طلبات التشخيص [SWS_LinIf_00629].LINTP_DIAG_RESPONSE: يحدد جدول جدولة استجابات التابع (Slave-Response) لاستقبال استجابات التشخيص [SWS_LinIf_00629].
فيما يتعلق بالتفاعل، يُستخدم النوع للتبديل بين عمليات نقل التشخيص واتصالات التطبيق المنتظمة داخل LIN-Interface [SWS_LinIf_00629]. لم يتم تحديد سياقات استدعاء معينة أو خصائص قابلية إعادة الدخول (Reentrancy) أو معالجة الأخطاء (مثل بلاغات DET أو DEM) لهذا النوع من البيانات المجرد في المصادر؛ ويُفترض أن النوع يُمرَّر كمعلمة دالة أثناء استدعاءات التحكم بواسطة بروتوكول نقل LIN إلى LIN-Interface. سؤال Q-1bf7553401882471 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصرياً إلى مواصفات إصدار AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_LinIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_LinIf@rel:R20-11#c3a38b3f- Content hash
c3a38b3f- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINInterface.pdf#nameddest=SWS_LinIf_00198
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني