DEENESPTFRRUARHIKOZHNL

LIN Transceiver Driver (LinTrcv)

ModulLinTrcv (LIN Transceiver Driver)
BSW-Modul-ID64
Standard-Header#include "LinTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_LINTransceiverDriver.pdf
ClusterLIN

دليل الوحدةمولَّد بالذكاء الاصطناعي

يتحكم في مكونات جهاز إرسال واستقبال LIN: ضبط أوضاع التشغيل والاستعلام عنها، واكتشاف عمليات الاستيقاظ والإبلاغ عنها إلى واجهة LIN.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 4cf0c894f837 المصدر أسئلة مفتوحة (4)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتحكم في مكونات جهاز إرسال واستقبال LIN: ضبط أوضاع التشغيل والاستعلام عنها، واكتشاف عمليات الاستيقاظ والإبلاغ عنها إلى واجهة LIN.

يتحكم LIN Transceiver Driver في جهاز إرسال واستقبال LIN المادي لقناة ما، ويفصل LinIf عن العتاد. وفقاً لـ LinTrcv_Init، فإن وضع البداية هو SLEEP. يُبدّل LinTrcv_SetOpMode بين NORMAL وSTANDBY وSLEEP، ويُرجع عند فشل التبديل E_NOT_OK [SWS_LinTrcv_00002]. يتم اكتشاف عمليات الاستيقاظ الخارجية عبر ICU والإبلاغ عنها عندما يستدعي LinIf LinTrcv_CheckWakeup. في R20-11، يعني E_OK هنا «Wakeup erkannt» (تم اكتشاف استيقاظ) [SWS_LinTrcv_00012]. يجب تنفيذ فترات الانتظار لتغييرات الحالة باستخدام Tm_BusyWait1us16bit.

يتحكم LIN Transceiver Driver في جهاز إرسال واستقبال LIN المادي لقناة ما، ويفصل واجهة LIN عن العتاد. يستدعي LinIf خدماته مباشرة: يستدعي LinIf_SetTrcvMode على سبيل المثال LinTrcv_SetOpMode ويُرجع نتيجته دون تغيير [SWS_LinTrcv_00002] LinIf-SWS ص. 90. حالات البرمجيات وحالات العتاد منفصلة. والتنفيذ البرمجي هو الذي يقرر حالات العتاد التي يغطيها وضع البرمجيات LinTrcv-SWS ص. 16.

يدعم برنامج التشغيل الأوضاع LINTRCV_TRCV_MODE_NORMAL وLINTRCV_TRCV_MODE_STANDBY وLINTRCV_TRCV_MODE_SLEEP [SWS_LinTrcv_00168]. وبعد تشغيل الطاقة يكون غير نشط. يفعّله LinTrcv_Init مع مجموعة تكوين [SWS_LinTrcv_00001]، ووضع البداية هو SLEEP LinTrcv-SWS ص. 1. الوضع STANDBY اختياري ويمكن أن يكون حالة داخلية بحتة LinTrcv-SWS الشكل 7.1 ص. 15.

LinTrcvModi cluster_power_on POWER_ON cluster_active ACTIVE PowerOn Power On NOT_ACTIVE NOT_ACTIVE PowerOn->NOT_ACTIVE [Power On] PowerOff Power Off NOT_ACTIVE->PowerOff [Power Off] SLEEP LINTRCV_TRCV_MODE_SLEEP NOT_ACTIVE->SLEEP LinTrcv_Init(ConfigPtr) Ausgangsmodus SLEEP NORMAL LINTRCV_TRCV_MODE_NORMAL SLEEP->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL) NORMAL->SLEEP LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY LINTRCV_TRCV_MODE_STANDBY (اختياري، داخلي فقط إذا لزم الأمر) NORMAL->STANDBY optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_STANDBY) STANDBY->SLEEP optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL)

مخطط الحالة: دورة الحياة من Power-On مروراً بـ LinTrcv_Init وحتى تغييرات الوضع باستخدام LinTrcv_SetOpMode. الانتقالات الاختيارية تمت إعادة بنائها (تفسير). المصادر: LinTrcv-SWS الشكل 7.1 ص. 15 [SWS_LinTrcv_00168]

لا يكتشف برنامج التشغيل عمليات الاستيقاظ الخارجية عبر ISR خاصة به، بل عبر ICU LinTrcv-SWS ص. 17. يستعلم LinIf عنها باستخدام LinTrcv_CheckWakeup. في R20-11، يعني E_OK هنا «Wakeup erkannt» (تم اكتشاف استيقاظ) [SWS_LinTrcv_00012]. الإصدارات اللاحقة تعرّف ذلك بشكل مختلف. يتم الإبلاغ عن الاستيقاظ المكتشف عبر LinIf_WakeupConfirmation [SWS_LinTrcv_91002]. يتيح LinTrcv_SetWakeupMode الإشعار، أو يحظره، أو يحذف الأحداث المخزنة [SWS_LinTrcv_00169].

تنبيه خارجي (القيم المرجعة وفقًا لـ R20-11)LIN-Bus / TransceiverIcuLinTrcvLinIfUse Case: VorbereitungIcu_EnableNotification(عند الانتقال إلى STANDBY)Use Case: Wakeup-EreignisWakeup-Ereignis (dominanter Buspegelأو حافة عند طرف التنبيه)المسار من إشعار ICU حتى الاستدعاءبواسطة LinIf يقع خارج LinTrcv(غير موصوف في الحمولة)LinTrcv_CheckWakeup(LinNetwork)تنبيه علىadressierten Netz auswertenaltWakeup erkanntLinIf_WakeupConfirmation(WakeupSource)تعيين راية التنبيه للقناةE_OKkein Wakeup erkanntE_NOT_OKUse Case: الاستعلام عن سبب التنبيه (عبر LinIf_GetTrcvWakeupReason)LinTrcv_GetBusWuReason(LinNetwork, Reason)E_OK, Reason z. B.LINTRCV_WU_BY_BUS

مخطط تتابع: استيقاظ خارجي من اكتشاف ICU مروراً بـ LinTrcv_CheckWakeup وLinIf_WakeupConfirmation وحتى الاستعلام عن السبب. المصادر: [SWS_LinTrcv_00012] [SWS_LinTrcv_91002] LinTrcv-SWS ص. 17

تسري هذه الشروط العامة على التشغيل:

  • يجب تنفيذ فترات الانتظار عند تغييرات الحالة باستخدام Tm_BusyWait1us16bit [SWS_LinTrcv_00171].
  • في الأنظمة متعددة النوى، يجب أن يشير كل من LinTrcvChannel وLinChannel لقناة ما إلى نفس القسم (Partition) [SWS_LinTrcv_00177].
  • في حال وجود خلل في الاتصال بجهاز الإرسال والاستقبال، تُرجع الاستعلامات E_NOT_OK LinTrcv-SWS ص. 26.

تم توثيق رموز خطأ DET فقط من إصدارات لاحقة. ونظراً لأن R21-11 قام بتنقيح رموز الأخطاء، فقد تختلف أسماؤها في R20-11 LinTrcv-SWS ص. 1.

الدور بين واجهة LIN ومكون جهاز الإرسال والاستقبال

يغلّف LIN Transceiver Driver (LinTrcv) عملية التحكم في جهاز إرسال واستقبال LIN المادي. وتتكون واجهته من سبع خدمات:

جميع الخدمات متزامنة. وحالات البرمجيات لبرنامج التشغيل منفصلة عن حالات العتاد للمكون. ويُسمح للمكون بأن يدعم انتقالات أكثر من برنامج التشغيل. والتنفيذ البرمجي يقرر حالات العتاد التي تغطيها حالة البرمجيات. ومع ذلك، يجب عليه تقديم الوظائف الموصوفة بالكامل LinTrcv-SWS ص. 16.

في الاتجاه الأعلى، تكون واجهة LIN (LinIf) هي المستخدم الموثق في حمولة البيانات. وتستدعي خدمات LinIf خدمة LinTrcv في كل مرة:

  • يستدعي LinIf_SetTrcvMode LinTrcv_SetOpMode ويُرجع قيمة الإرجاع الخاصة به دون تغيير LinIf-SWS ص. 90.
  • يستدعي LinIf_GetTrcvMode LinTrcv_GetOpMode LinIf-SWS ص. 91.
  • يستدعي LinIf_GetTrcvWakeupReason LinTrcv_GetBusWuReason LinIf-SWS ص. 92.
  • يستدعي LinIf_SetTrcvWakeupMode LinTrcv_SetWakeupMode LinIf-SWS ص. 93.

النوعان LinTrcv_TrcvModeType وLinTrcv_TrcvWakeupModeType متاحان عبر Lin_GeneralTypes.h [SWS_LinTrcv_00168] [SWS_LinTrcv_00169]. ويستخدمهما LinIf مباشرة في توقيعاته. وقد تم استبدال النوع الخاص السابق LinIf_TrcvModeType في الإصدار 3.1.5 بـ LinTrcv_TrcvModeType LinIf-SWS ص. 4.

في الاتجاه الأدنى، يستخدم برنامج التشغيل الخدمات التالية:

  • خدمات القراءة والكتابة لـ Dio وDet_ReportError وEcuM_SetWakeupEvent [SWS_LinTrcv_91003]
  • أنواع من Dio وSpi وIcu وEcuM [SWS_LinTrcv_91001]
  • Icu_EnableNotification وIcu_DisableNotification لإشعار الاستيقاظ LinTrcv-SWS ص. 17
  • خدمة الوقت Tm_BusyWait1us16bit لفترات الانتظار عند تغييرات الحالة [SWS_LinTrcv_00171]

يُبلّغ برنامج التشغيل عن عمليات الاستيقاظ المكتشفة عبر LinIf_WakeupConfirmation إلى LinIf [SWS_LinTrcv_91002]. وبعد ذلك يضبط LinIf راية الاستيقاظ للقناة المعنية LinIf-SWS ص. 98.

LinTrcvKontext LinIf LinIf LinTrcv LinTrcv LinIf->LinTrcv LinTrcv_SetOpMode, LinTrcv_GetOpMode, LinTrcv_GetBusWuReason, LinTrcv_SetWakeupMode, LinTrcv_CheckWakeup LinTrcv->LinIf LinIf_WakeupConfirmation Dio Dio LinTrcv->Dio Dio-Lese-/Schreibdienste (LinTrcvDioAccess) Spi Spi LinTrcv->Spi SPI-Sequenz (LinTrcvSpiSequence) Icu Icu LinTrcv->Icu Icu_EnableNotification / Icu_DisableNotification Tm Tm LinTrcv->Tm Tm_BusyWait1us16bit Det DET LinTrcv->Det Det_ReportError EcuM EcuM LinTrcv->EcuM EcuM_SetWakeupEvent HW LIN-Transceiver-Baustein Dio->HW Pins Spi->HW SPI HW->Icu Wakeup-Signal

مخطط سياق: يقع LinTrcv بين LinIf والخدمات القريبة من العتاد Dio/Spi وIcu وTm، ويُبلّغ LinIf بعمليات الاستيقاظ. المصادر: [SWS_LinTrcv_91001] [SWS_LinTrcv_91002] [SWS_LinTrcv_91003] [SWS_LinTrcv_00171] LinTrcv-SWS ص. 17 LinTrcv-SWS الشكل 10.3 ص. 45

دورة حياة أوضاع التشغيل من Power-On إلى Sleep

يدعم برنامج التشغيل ثلاثة أوضاع تشغيل برمجية: LINTRCV_TRCV_MODE_NORMAL وLINTRCV_TRCV_MODE_STANDBY وLINTRCV_TRCV_MODE_SLEEP [SWS_LinTrcv_00168]. ويصنفها الشكل 7.1 من المواصفة ضمن دورة حياة LinTrcv-SWS الشكل 7.1 ص. 15:

  • بعد التشغيل، يكون المشغّل في الحالة NOT_ACTIVE.
  • ينقله LinTrcv_Init إلى الحالة ACTIVE. تقع الأنماط الثلاثة داخل ACTIVE.
  • يؤدي فقدان الجهد إلى إنهاء دورة الحياة.

يتلقى LinTrcv_Init مؤشرًا إلى مجموعة التكوين المحددة [SWS_LinTrcv_00001]. البنية LinTrcv_ConfigType خاصة بالتنفيذ [SWS_LinTrcv_00172]. منذ الإصدار 4.3.1، يقتصر النمط الأولي بعد التهيئة على LINTRCV_TRCV_MODE_SLEEP LinTrcv-SWS ص. 1.

في الحالة ACTIVE، يحوّل LinTrcv_SetOpMode الحالة الداخلية للقناة المعنونة إلى النمط المُمرَّر [SWS_LinTrcv_00002] LinTrcv-SWS ص. 25. النمط LINTRCV_TRCV_MODE_STANDBY اختياري؛ إذ يمكن أن يكون حالة داخلية بحتة تستخدمها الأجهزة المادية (Hardware) لإجراء الانتقالات. قد لا تحتاج أجهزة مادية محددة إلى جميع الواجهات LinTrcv-SWS الشكل 7.1 ص. 15. تذكر المواصفة أيضًا شروطًا يحوّل LinTrcv_SetOpMode بموجبها القناة إلى STANDBY. هذه الشروط مقتطعة في هذا المقتطف ولا تُستعرض هنا LinTrcv-SWS ص. 25.

يوفّر LinTrcv_GetOpMode في معامِل الإخراج OpMode حالة البرنامج الحالية للمشغّل [SWS_LinTrcv_00005] LinTrcv-SWS ص. 26. ليست هذه بالضرورة حالة المكوّن المادي. يمكن للمتصل بذلك التحقق من النمط الذي توجد فيه القناة قبل تغيير النمط. يتوفر هذا الاستعلام عبر LinIf باسم LinIf_GetTrcvMode LinIf-SWS ص. 91.

LinTrcvModi cluster_power_on POWER_ON cluster_active ACTIVE PowerOn Power On NOT_ACTIVE NOT_ACTIVE PowerOn->NOT_ACTIVE [Power On] PowerOff Power Off NOT_ACTIVE->PowerOff [Power Off] SLEEP LINTRCV_TRCV_MODE_SLEEP NOT_ACTIVE->SLEEP LinTrcv_Init(ConfigPtr) Ausgangsmodus SLEEP NORMAL LINTRCV_TRCV_MODE_NORMAL SLEEP->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL) NORMAL->SLEEP LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY LINTRCV_TRCV_MODE_STANDBY (اختياري، داخلي فقط إذا لزم الأمر) NORMAL->STANDBY optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_STANDBY) STANDBY->SLEEP optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL)

مخطط الحالة: بعد التشغيل (Power-On)، يكون المشغّل غير نشط. يقود LinTrcv_Init إلى النطاق النشط بالنمط الأولي SLEEP، وينتقل LinTrcv_SetOpMode بين الأنماط. أُعيد بناء الانتقالات الاختيارية من التعليقات التوضيحية للشكل 7.1 (تفسير). الانتقالات المشروطة إلى STANDBY غير ممثلة. المصادر: LinTrcv-SWS الشكل 7.1 ص. 15 [SWS_LinTrcv_00168] [SWS_LinTrcv_00001] LinTrcv-SWS ص. 1.

تغييرات النمط والاستعلامات عبر واجهة LIN

تعنون كل خدمة قناةً عبر المعامِل LinNetwork من النوع uint8 [SWS_LinTrcv_00002] [SWS_LinTrcv_00005]. في LinIf، يُسمّى المعامِل المقابل Channel وله النوع NetworkHandleType LinIf-SWS ص. 90.

LinTrcv_SetOpMode متزامن وغير قابل لإعادة الدخول (non-reentrant)، ومُعرّف الخدمة هو 0x01. تعني قيم الإرجاع [SWS_LinTrcv_00002]:

  • E_OK: تغيّرت حالة جهاز الإرسال والاستقبال (Transceiver) إلى النمط المطلوب.
  • E_NOT_OK: لم يُقبل التغيير، أو فشل، أو يقع المعامِل خارج النطاق المسموح به.

يجب على LinIf السماح بالاستدعاء لجميع أجهزة الإرسال والاستقبال وجميع الأنماط، حتى لو كانت الأجهزة المادية لا تدعم نمطًا ما LinIf-SWS ص. 90. وبذلك تظل عملية التعيين على الأجهزة المادية من مهام LinTrcv.

ينفّذ المشغّل فترات الانتظار عند انتقالات الحالة باستخدام Tm_BusyWait1us16bit [SWS_LinTrcv_00171]. بما أن LinTrcv_SetOpMode يعمل بشكل متزامن [SWS_LinTrcv_00002]، فمن المرجح أن يقع وقت الانتظار النشط هذا داخل الاستدعاء ويطيل زمن تنفيذه (تفسير). سؤال Q-54fe21bbe7c737d9 (مفتوح) عند الانتقال إلى نمط الاستعداد (Standby)، يفعّل المشغّل بالإضافة إلى ذلك قنوات ICU للتعرف على التنبيه (Wakeup) LinTrcv-SWS ص. 17.

خدمات الاستعلام قابلة لإعادة الدخول (reentrant). يوفّر LinTrcv_GetBusWuReason سبب التنبيه المُتعرَّف عليه في النوع LinTrcv_TrcvWakeupReasonType [SWS_LinTrcv_00007]. تشمل قيمه LINTRCV_WU_ERROR وLINTRCV_WU_NOT_SUPPORTED وLINTRCV_WU_BY_BUS وLINTRCV_WU_BY_PIN [SWS_LinTrcv_00170]. يعتمد مدى دقة تمييز أسباب التنبيه اعتمادًا كبيرًا على عتاد جهاز الإرسال والاستقبال LinTrcv-SWS ص. 28. يعيد LinTrcv_GetVersionInfo معلومات الإصدار كـ Std_VersionInfoType [SWS_LinTrcv_00008] LinTrcv-SWS ص. 29.

تغيير الوضع عبر LinIf_SetTrcvModeAufrufer oberhalb LinIfLinIfLinTrcvDio / SpiTmIcuLinIf_SetTrcvMode(Channel,TransceiverMode)فحص القناة(ggf. LINIF_E_NONEXISTENT_CHANNEL)LinTrcv_SetOpMode(LinNetwork, OpMode)Baustein ansteuern (Interpretation:أطراف DIO أو تسلسل SPI)Tm_BusyWait1us16bit(Wartezeit Zustandswechsel)انتهت مهلة الانتظارoptOpMode == LINTRCV_TRCV_MODE_STANDBYIcu_EnableNotification(تفعيل قنوات ICU للتنبيه)E_OK / E_NOT_OKالقيمة المرجعة منLinTrcv_SetOpMode

مخطط التسلسل: يمتد تغيير النمط من LinIf إلى LinTrcv. ينتظر LinTrcv عبر Tm، ويفعّل إشعار ICU عند الانتقال إلى STANDBY، ويعيد نتيجته عبر LinIf دون تغيير. التحكم عبر Dio/Spi وموضع وقت الانتظار داخل الاستدعاء هما بمثابة تفسير. المصادر: [SWS_LinTrcv_00002] [SWS_LinTrcv_00171] LinIf-SWS ص. 90 LinTrcv-SWS ص. 17.

التعرف على التنبيه والإبلاغ عنه والتحكم فيه

يميز المشغّل بين نوعين من التنبيه LinTrcv-SWS ص. 17:

  • تنبيه داخلي: تُطلقه طبقة عليا، عن طريق LinTrcv_Init أو LinTrcv_SetOpMode مثلًا.
  • تنبيه خارجي: يتعرف عليه المشغّل على قناة LIN. يجب على LinIf استدعاء LinTrcv_CheckWakeup ليتم الإبلاغ عن التنبيه إلى الطبقات العليا.

لا يخصص المشغّل روتين خدمة مقاطعة (ISR) خاصًا للتنبيه. يتم التعرف عبر ICU باستخدام Icu_EnableNotification وIcu_DisableNotification. يُحدَّد نوع التنبيه عبر معامِل التكوين LinTrcvWakeUpSupport. باستخدام LinTrcvWakeupByBusUsed، يمكن تفعيل دعم التنبيه وتعطيله لكل قناة LinTrcv-SWS ص. 17.

يقيّم LinTrcv_CheckWakeup التنبيه على الشبكة المعنونة، مثل مستوى ناقل مهيمن (dominant) أو حافة سالبة على طرف التنبيه (Wakeup-Pin) LinTrcv-SWS ص. 30. في R20-11، تعني قيم الإرجاع [SWS_LinTrcv_00012]:

  • E_OK: تم التعرف على تنبيه.
  • E_NOT_OK: لم يتم التعرف على أي تنبيه.

يُعرّف موضع التوثيق من الإصدارات اللاحقة القيم بشكل مختلف، على أنها «استدعاء مقبول/غير مقبول». جاء هذا التغيير مع R22-11 ولا ينطبق على R20-11 LinTrcv-SWS ص. 1 LinTrcv-SWS ص. 30. بعد التعرف الناجح، يبلّغ المشغّل عن مصدر التنبيه عبر LinIf_WakeupConfirmation [SWS_LinTrcv_91002]. لا يوفّر LinTrcv إشعارات رد اتصال (Callback) خاصة به LinTrcv-SWS ص. 32. لذلك، يجب استدعاء LinTrcv_CheckWakeup بشكل نشط.

LinTrcv_SetWakeupMode متزامن وغير قابل لإعادة الدخول. يتحكم في إشعار التنبيه لكل شبكة عبر LinTrcv_TrcvWakeupModeType [SWS_LinTrcv_00009] [SWS_LinTrcv_00169]:

  • LINTRCV_WUMODE_ENABLE يتيح الإشعار.
  • LINTRCV_WUMODE_DISABLE يحظر الإشعار.
  • LINTRCV_WUMODE_CLEAR يمسح حدث تنبيه مخزنًا.

إذا كان هناك حدث مخزن بالفعل عند الإتاحة، ينفّذ المشغّل الإشعار أثناء الاستدعاء أو بعده مباشرةً LinTrcv-SWS ص. 31. يوفّر LinIf هذا التحكم كـ LinIf_SetTrcvWakeupMode LinIf-SWS ص. 93.

تنبيه خارجي (القيم المرجعة وفقًا لـ R20-11)LIN-Bus / TransceiverIcuLinTrcvLinIfUse Case: VorbereitungIcu_EnableNotification(عند الانتقال إلى STANDBY)Use Case: Wakeup-EreignisWakeup-Ereignis (dominanter Buspegelأو حافة عند طرف التنبيه)المسار من إشعار ICU حتى الاستدعاءبواسطة LinIf يقع خارج LinTrcv(غير موصوف في الحمولة)LinTrcv_CheckWakeup(LinNetwork)تنبيه علىadressierten Netz auswertenaltWakeup erkanntLinIf_WakeupConfirmation(WakeupSource)تعيين راية التنبيه للقناةE_OKkein Wakeup erkanntE_NOT_OKUse Case: الاستعلام عن سبب التنبيه (عبر LinIf_GetTrcvWakeupReason)LinTrcv_GetBusWuReason(LinNetwork, Reason)E_OK, Reason z. B.LINTRCV_WU_BY_BUS

مخطط التسلسل: يتم التعرف على تنبيه خارجي عبر ICU. يتحقق LinIf منه باستخدام LinTrcv_CheckWakeup، ويؤكده LinTrcv عبر LinIf_WakeupConfirmation، ويمكن الاستعلام عن السبب بعد ذلك (قيم الإرجاع وفقًا لـ R20-11). المصادر: [SWS_LinTrcv_00012] [SWS_LinTrcv_91002] [SWS_LinTrcv_00007] LinTrcv-SWS ص. 17 LinIf-SWS ص. 98.

SetWakeupMode Start LinTrcv_SetWakeupMode(LINNetwork, TrcvWakupMode) Modus TrcvWakupMode? Start->Modus Gespeichert Wakeup-Ereignis gespeichert? Modus->Gespeichert LINTRCV_WUMODE_ENABLE Gesperrt الإشعار معطل لأحداث التنبيه Modus->Gesperrt LINTRCV_WUMODE_DISABLE Geloescht حدث التنبيه المخزن تم مسحه Modus->Geloescht LINTRCV_WUMODE_CLEAR Sofort الإشعار أثناء الاستدعاء أو مباشرة بعده Gespeichert->Sofort نعم Frei الإشعار مفعل لأحداث التنبيه Gespeichert->Frei لا Ende إرجاع E_OK (E_NOT_OK، إذا لم يتم ضبط الوضع) Sofort->Ende Frei->Ende Gesperrt->Ende Geloescht->Ende

مخطط النشاط: يتفرع LinTrcv_SetWakeupMode وفقًا للنمط المطلوب. لا يتبع ذلك إشعار فوري إلا في حالة ENABLE مع وجود حدث مخزن. المصادر: [SWS_LinTrcv_00009] [SWS_LinTrcv_00169] LinTrcv-SWS ص. 31.

الوصول إلى الأجهزة المادية وتكوين القنوات والتقسيم (Partitioning)

تحدد حاوية الاختيار LinTrcvAccess كيفية وصول المشغّل إلى المكوّن المادي LinTrcv-SWS الشكل 10.3 ص. 45. يجب اختيار أحد خيارين بدقة:

  • LinTrcvDioAccess: تُعيَّن أطراف جهاز الإرسال والاستقبال على قنوات DIO.
  • LinTrcvSpiSequence: تتم مخاطبة مكوّن مادي يدعم SPI عبر تسلسل SPI.

المخطط مأخوذ من R23-11 والإصدارات اللاحقة. ومع ذلك، فإن خدمات القراءة والكتابة لـ DIO وكذلك أنواع SPI مدرجة بالفعل في R20-11 كواجهات مستخدمة أو أنواع مستوردة [SWS_LinTrcv_91003] [SWS_LinTrcv_91001].

بالنسبة للأنظمة متعددة الأنوية، تنطبق القواعد التالية في R20-11:

  • يجب على المشغّل رفض التكوينات التي تتضمن تعيينات أقسام غير مدعومة [SWS_LinTrcv_00174].
  • يجب أن تكون الأقسام المشار إليها عبر LinTrcvChannelEcucPartitionRef مجموعة فرعية من تلك المشار إليها عبر LinTrcvEcucPartitionRef. إذا كانت الوحدة تشير إلى أقسام، فيجب أن تشير كل قناة إلى قسم واحد منها تحديدًا [SWS_LinTrcv_00176].
  • يجب أن يشير LinTrcvChannel وLinChannel لقناة الاتصال نفسها إلى القسم نفسه [SWS_LinTrcv_00177].

أُضيف التوزيع متعدد الأنوية مع R19-11 ودُقِّق في R24-11 LinTrcv-SWS ص. 1.

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

تظهر أخطاء وقت التشغيل في قيمة الإرجاع:

  • في حالة غياب الاتصال بجهاز الإرسال والاستقبال أو تعطله، يعيد LinTrcv_GetOpMode LinTrcv-SWS ص. 26 وLinTrcv_GetBusWuReason LinTrcv-SWS ص. 28 E_NOT_OK.
  • يعيد LinTrcv_SetOpMode E_NOT_OK إذا لم يُقبل التغيير أو إذا فشل [SWS_LinTrcv_00002].
  • يعيد LinTrcv_SetWakeupMode E_NOT_OK إذا تعذر ضبط نمط التنبيه LinTrcv-SWS ص. 31.
  • إذا تعذر تحديد سبب التنبيه بسبب خطأ ما، تتوفر القيمة LINTRCV_WU_ERROR لذلك [SWS_LinTrcv_00170].

يبلّغ المشغّل عن أخطاء التطوير عبر Det_ReportError [SWS_LinTrcv_91003]. في R20-11، تؤدي هذه الأخطاء مع LinTrcv_GetOpMode وLinTrcv_GetBusWuReason إلى E_NOT_OK [SWS_LinTrcv_00005] [SWS_LinTrcv_00007]. تذكر مواضع التوثيق من الإصدارات اللاحقة عمليات فحص محددة LinTrcv-SWS ص. 26 LinTrcv-SWS ص. 30 LinTrcv-SWS ص. 29:

  • استدعاء قبل التهيئة: LINTRCV_E_UNINIT
  • رقم شبكة غير صالح: LINTRCV_E_INVALID_LIN_NETWORK
  • مؤشر فارغ (Null pointer) عند LinTrcv_GetVersionInfo: LINTRCV_E_PARAM_POINTER

من المرجح أن تنطبق عمليات الفحص هذه من حيث المضمون على R20-11 أيضًا (تفسير). سؤال Q-58e3d310b525b810 (مفتوح) ومع ذلك، فقد نقّح R20-11 تصنيف الأخطاء، ونقّح R21-11 رموز الأخطاء. لذلك قد تختلف المعرّفات في R20-11 LinTrcv-SWS ص. 1.

يعترض LinIf جزءًا من أخطاء الاستخدام بالفعل. في حالة عدم صحة Channel، يبلّغ LinIf_SetTrcvMode وLinIf_GetTrcvMode عن الخطأ LINIF_E_NONEXISTENT_CHANNEL LinIf-SWS ص. 90. يعيد LinIf_GetTrcvMode أيضًا E_NOT_OK LinIf-SWS ص. 91 في حالة وجود قناة غير صالحة أو مؤشر فارغ. إذا تلقى LinIf_WakeupConfirmation مصدر تنبيه غير صالح، فإنه يُطلق LINIF_E_PARAM_WAKEUPSOURCE عند تفعيل التعرف على الأخطاء LinIf-SWS ص. 98.

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

دليل إرشادي تم إنشاؤه بواسطة الذكاء الاصطناعي. يستند إلى المتطلبات المعيارية لـ R20-11 ومواضع التوثيق المخصصة، والمأخوذة جزئيًا من R23-11 إلى R25-11. الفروق بين الإصدارات مذكورة في النص. المواصفة وحدها هي الملزمة.

LIN Transceiver Driver (LinTrcv)

Controls physical bus transceiver states and wakeup on LIN lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة LinTrcv_Init [SWS_LinTrcv_00001] 📄 PDF

void LinTrcv_Init (const LinTrcv_ConfigType* ConfigPtr);

Initializes the Lin Transceiver Driver module.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a6b1d693304d المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة LinTrcv_Init للتهيئة الأساسية لوحدة تشغيل جهاز إرسال واستقبال LIN وفقاً للمواصفة في [SWS_LinTrcv_00001]. يتم التصريح عن الواجهة عبر ملف الترويسة LinTrcv.h وتمتلك معرّف الخدمة العددي 0x00 [SWS_LinTrcv_00001].

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

يتم تنفيذ استدعاء LinTrcv_Init بشكل متزامن وليس له قيمة مرجعة (void) [SWS_LinTrcv_00001]. كمعامل تمرير وحيد، يُمرَّر مؤشر الدخل ConfigPtr من النوع const LinTrcv_ConfigType*، والذي يشير إلى مجموعة بيانات التكوين المحددة لجهاز إرسال واستقبال LIN [SWS_LinTrcv_00001]. ولا توجد معاملات إضافية كمعاملات دخل/خرج أو معاملات خرج بحتة لهذا الإجراء [SWS_LinTrcv_00001].

التزامن والقيود

فيما يتعلق بسلوك التزامن، تم تصنيف LinTrcv_Init بشكل ملزم على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_LinTrcv_00001]. ولذلك، يجب استبعاد الاستدعاءات المتوازية أو المقاطِعة لهذه الدالة في النظام. بالإضافة إلى ذلك، لا يجوز حدوث أي وصول متزامن تنافسي أثناء التهيئة. تفسير: من المرجح أن يتم تنفيذ دالة التهيئة عادةً بشكل مركزي ضمن مرحلة بدء تشغيل النظام، حتى قبل استدعاء خدمات أخرى لمشغل جهاز إرسال واستقبال LIN. سؤال Q-9845a0c76e3146fa (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتستند جميع البيانات إلى متطلبات معيار AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة LinTrcv_SetOpMode [SWS_LinTrcv_00002] 📄 PDF

Std_ReturnType LinTrcv_SetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType OpMode);

The internal state of the LIN transceiver driver is switched to mode given in the parameter Op Mode.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2b8c06203f94 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة LinTrcv_SetOpMode لتبديل الحالة الداخلية لمشغل جهاز إرسال واستقبال LIN إلى وضع التشغيل المُمرَّر وفقاً لـ [SWS_LinTrcv_00002].

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

  • سياق الاستدعاء والمعلمات: يوجه الاستدعاء عبر المعلمة LinNetwork شبكة LIN المعنية، بينما يحدد OpMode (النوع LinTrcv_TrcvModeType) وضع التشغيل المستهدف ([SWS_LinTrcv_00002]). الواجهة متاحة عبر LinTrcv.h.
  • قيم الإرجاع: ترجع الدالة E_OK بمجرد تغيير حالة جهاز الإرسال والاستقبال بنجاح إلى الوضع المطلوب. إذا فشل تغيير الحالة، أو لم يتم قبوله، أو كانت إحدى المعلمات خارج النطاق المسموح به، فسيتم إرجاع E_NOT_OK ([SWS_LinTrcv_00002]).
  • التنفيذ المتزامن: تعمل الخدمة بشكل متزامن (Sync/Async: Synchronous) تحت معرّف الخدمة 0x01 ([SWS_LinTrcv_00002]).

التزامن والقيود

تم تحديد الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_LinTrcv_00002]). لذلك يجب على المتصلين التأكد من تجنب الاستدعاءات المتوازية للوحدة أو الشبكة نفسها.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو لا يغني عن دراسة مواصفات AUTOSAR ذات الصلة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة LinTrcv_GetBusWuReason [SWS_LinTrcv_00007] 📄 PDF

Std_ReturnType LinTrcv_GetBusWuReason (uint8 LinNetwork, LinTrcv_TrcvWakeupReasonType* Reason);

This API provides the reason for the wakeup that the LIN transceiver has detected in the parameter "Reason". The ability to dete ct and differentiate the possible wakeup reasons depends strongly on the LIN transceiver hardware.

دالة LinTrcv_CheckWakeup [SWS_LinTrcv_00012] 📄 PDF

Std_ReturnType LinTrcv_CheckWakeup (uint8 LinNetwork);

Service LinTrcv_CheckWakeup.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d95f71801283 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة LinTrcv_CheckWakeup للتحقق مما إذا كان قد تم اكتشاف حدث استيقاظ على شبكة LIN معنونة [SWS_LinTrcv_00012]. وتبلّغ الجهة المستدعية مباشرة بوجود شرط استيقاظ ملائم [SWS_LinTrcv_00012].

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

تمتلك الدالة معرّف الخدمة 0x07 ويتم توفيرها عبر ملف الترويسة LinTrcv.h [SWS_LinTrcv_00012]:

  • LinNetwork (معامل دخل، uint8): يحدد شبكة LIN التي سيتم تطبيق استدعاء API عليها [SWS_LinTrcv_00012].

قيم الإرجاع

تشير القيمة المعادة من النوع Std_ReturnType إلى نتيجة فحص الإيقاظ [SWS_LinTrcv_00012]:

  • E_OK: تم اكتشاف حدث إيقاظ بنجاح على شبكة LIN المحددة [SWS_LinTrcv_00012].
  • E_NOT_OK: لم يتم رصد أي حدث إيقاظ على شبكة LIN المحددة [SWS_LinTrcv_00012].

التزامن

يتم تنفيذ LinTrcv_CheckWakeup بشكل متزامن تماماً، ومحدد بأنه reentrant [SWS_LinTrcv_00012]. ويضمن التنفيذ المتزامن توفر النتيجة مباشرة عند العودة من الدالة.

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

دالة LinTrcv_SetWakeupMode [SWS_LinTrcv_00009] 📄 PDF

Std_ReturnType LinTrcv_SetWakeupMode (uint8 LINNetwork, LinTrcv_TrcvWakeupModeType TrcvWakupMode);

This API enables, disables and clears the notification for wakeup events on the addressed network. A vailable via Lin Trcv.h

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 85db2195cf25 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة LinTrcv_SetWakeupMode لتفعيل إخطارات أحداث الاستيقاظ (Wakeup) على شبكة LIN المعنونة وتعطيلها ومسحها [SWS_LinTrcv_00009]. وهي مصرّح عنها عبر ملف الترويسة LinTrcv.h ولها معرّف الخدمة 0x05 [SWS_LinTrcv_00009].

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

تتوقع الدالة معلمتي إدخال [SWS_LinTrcv_00009]:

  • LINNetwork (uint8): يحدد شبكة LIN المحددة التي سيتم تطبيق API عليها [SWS_LinTrcv_00009].
  • TrcvWakupMode (LinTrcv_TrcvWakeupModeType): يمرر وضع الاستيقاظ المطلوب أو السبب لجهاز الإرسال والاستقبال [SWS_LinTrcv_00009].

كقيمة مرجعة، يتم توفير حالة من النوع Std_ReturnType [SWS_LinTrcv_00009]:

  • E_OK: يشير إلى أن حالة جهاز الإرسال والاستقبال قد تحولت بنجاح إلى الوضع المطلوب [SWS_LinTrcv_00009].
  • E_NOT_OK: يشير إلى أن الاستدعاء قد فشل بسبب أخطاء أثناء التطوير أو أنه تعذر تعيين وضع الاستيقاظ المطلوب [SWS_LinTrcv_00009].

التزامن والقيود

تم تحديد الواجهة بأنها غير قابلة لإعادة الدخول (non Reentrant) وتقوم بتغيير الحالة بشكل متزامن [SWS_LinTrcv_00009]. ولذلك، يجب على المكونات المستدعية التأكد من عدم حدوث استدعاءات متوازية لنفس الواجهة.

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع LinTrcv_ConfigType [SWS_LinTrcv_00172] 📄 PDF

Configuration data structure of the Lin Trcv module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_LINTransceiverDriver

نوع LinTrcv_TrcvModeType [SWS_LinTrcv_00168] 📄 PDF

Operating modes of the LIN Transceiver Driver

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 304001f922be المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يحدد نوع التعداد LinTrcv_TrcvModeType أوضاع التشغيل لبرنامج تشغيل جهاز إرسال واستقبال LIN وفقاً لـ [SWS_LinTrcv_00168]. تم حفظ تعريف النوع في ملف الرأس Lin_GeneralTypes.h، وبالتالي فهو متاح لطبقات البرمجيات الأعلى [SWS_LinTrcv_00168].

يشمل نطاق القيم ثلاث حالات قياسية لجهاز الإرسال والاستقبال [SWS_LinTrcv_00168]:

  • LINTRCV_TRCV_MODE_NORMAL: يحدد وضع التشغيل العادي (Transceiver mode NORMAL) لجهاز إرسال واستقبال LIN [SWS_LinTrcv_00168].
  • LINTRCV_TRCV_MODE_STANDBY: يمثل وضع الاستعداد (Transceiver mode STANDBY) لجهاز الإرسال والاستقبال [SWS_LinTrcv_00168].
  • LINTRCV_TRCV_MODE_SLEEP: يصف وضع السكون (Transceiver mode SLEEP) لجهاز إرسال واستقبال LIN [SWS_LinTrcv_00168].

فيما يتعلق بالاستخدام والتفاعل الوظيفي، يخدم نوع التعداد هذا النمذجة الموحدة لحالات جهاز الإرسال والاستقبال [SWS_LinTrcv_00168]. ويُرجح أن يُستخدم النوع كمعلمة أو قيمة معادة في دوال برنامج التشغيل لطلب أو الاستعلام عن تغييرات مستهدفة في الحالة بين التشغيل العادي والاستعداد ووضع السكون الموفر للطاقة. سؤال Q-8966f1299f224eff (مفتوح) ولا ترتبط سياقات الاستدعاء المحددة ورموز الأخطاء وخصائص التزامن وإعادة الدخول (Reentrancy) بنوع البيانات هذا نفسه، بل تعتمد على واجهات برمجة التطبيقات (APIs) المعنية لبرنامج تشغيل جهاز الإرسال والاستقبال [SWS_LinTrcv_00168].

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع LinTrcv_TrcvWakeupModeType [SWS_LinTrcv_00169] 📄 PDF

Wake up operating modes of the LIN Transceiver Driver.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e813afb11b1a المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

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

النوع LinTrcv_TrcvWakeupModeType عبارة عن تعداد يحدد أوضاع التشغيل لأحداث الإيقاظ الخاصة ببرنامج تشغيل جهاز إرسال واستقبال LIN [SWS_LinTrcv_00169]. ويتم توفيره عبر ملف الرأس Lin_GeneralTypes.h [SWS_LinTrcv_00169].

يتضمن التعداد القيم التالية للتحكم في الشبكة المعنونة [SWS_LinTrcv_00169]:

  • LINTRCV_WUMODE_ENABLE: يفعل إشعار أحداث الإيقاظ على الشبكة المعنونة [SWS_LinTrcv_00169].
  • LINTRCV_WUMODE_DISABLE: يعطل إشعار أحداث الإيقاظ على الشبكة المعنونة [SWS_LinTrcv_00169].
  • LINTRCV_WUMODE_CLEAR: يمسح حدث إيقاظ تم تخزينه مسبقاً على الشبكة المعنونة [SWS_LinTrcv_00169].

معالجة الأخطاء والشروط الحدية

لم يتم تحديد رموز أخطاء معينة أو قيم معادة أو رسائل خطأ DET/DEM للنوع نفسه في المواصفة [SWS_LinTrcv_00169]. وكنوع بيانات، فهو لا يخضع لقيود مباشرة على إعادة الدخول أو التنفيذ.

تفاعل

تفسير: يُرجح أن يُستخدم النوع كمعلمة تمرير في دوال API الخاصة ببرنامج تشغيل جهاز إرسال واستقبال LIN، لتشغيل أو إيقاف تشغيل تمييز الإيقاظ على مستوى الشبكة أو لإعادة تعيين حالة الإيقاظ [SWS_LinTrcv_00169]. سؤال Q-cfb3e28d7baefc72 (مفتوح)

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع LinTrcv_TrcvWakeupReasonType [SWS_LinTrcv_00170] 📄 PDF

This type denotes the wake up reason detected by the LIN transceiver in detail.

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

Record
AUTOSAR/AP/record/CP_MOD_LinTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinTrcv@rel:R20-11#d136f169
Content hash
d136f169
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINTransceiverDriver.pdf#nameddest=SWS_LinTrcv_00001

خريطة المواضيع

عرض التفاصيل

اختر عنصرًا من المخطط.

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

This service provides the version information of this module through the parameter "versioninfo".

void LinTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinTrcv_Init دالة

Initializes the Lin Transceiver Driver module.

void LinTrcv_Init (const LinTrcv_ConfigType* ConfigPtr);

الخدمات

Service LinTrcv_CheckWakeup.

Std_ReturnType LinTrcv_CheckWakeup (uint8 LinNetwork);

This API provides the reason for the wakeup that the LIN transceiver has detected in the parameter "Reason". The ability to dete ct and differentiate the possible wakeup reasons depends strongly on the LIN transceiver hardware.

Std_ReturnType LinTrcv_GetBusWuReason (uint8 LinNetwork, LinTrcv_TrcvWakeupReasonType* Reason);

API detects the actual software state of LIN transceiver driv er.

Std_ReturnType LinTrcv_GetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType* OpMode);

The internal state of the LIN transceiver driver is switched to mode given in the parameter Op Mode.

Std_ReturnType LinTrcv_SetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType OpMode);

This API enables, disables and clears the notification for wakeup events on the addressed network. A vailable via Lin Trcv.h

Std_ReturnType LinTrcv_SetWakeupMode (uint8 LINNetwork, LinTrcv_TrcvWakeupModeType TrcvWakupMode);

الأنواع

Configuration data structure of the Lin Trcv module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_LINTransceiverDriver

Operating modes of the LIN Transceiver Driver

Wake up operating modes of the LIN Transceiver Driver.

This type denotes the wake up reason detected by the LIN transceiver in detail.