DEENESPTFRRUARHIKOZHNL

LIN State Manager (LinSM)

ModulLinSM (LIN State Manager)
BSW-Modul-ID141
Standard-Header#include "LinSM.h"
SWS-SpezifikationAUTOSAR_SWS_LINStateManager.pdf
ClusterLIN

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

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

يتحكم في وضع الاتصال، والاستيقاظ، والدخول في وضع النوم، وتغيير جداول الجدولة (Schedule Tables) لكل شبكة LIN.

يقوم LIN State Manager بتحويل رغبات الاتصال الخاصة بـ ComM لكل شبكة LIN إلى استدعاءات لـ LIN Interface. ويبلّغ الحالتين الناتجتين LINSM_FULL_COM وLINSM_NO_COM إلى ComM وBswM [SWS_LinSM_00126]. كما يبدأ الاستيقاظ، والدخول في وضع النوم، وتغيير جدول الجدولة (لدى Master فقط) مباشرةً، ويراقب التأكيدات باستخدام مؤقتات في LinSM_MainFunction. ولدى Slave، يحدد Master الدخول في وضع النوم: حيث لا يُطلق LinIf_GotoSleep إلا LinSM_GotoSleepIndication [SWS_LinSM_00231]. وإذا فشل انتقال ما، يبلّغ LinSM عن الحالة السابقة مجددًا، لضمان بقاء الطبقات العليا متسقة.

إن LIN State Manager هو Bus-State-Manager لـ LIN. ومن خلاله، يطلب ComM قدرة الاتصال لشبكة ما (SWS ComM ص. 19). ويتلقى رغبات الوضع عبر LinSM_RequestComMode [SWS_LinSM_00126]. ويتحكم في LinIf ويبلّغ الحالات إلى ComM وBswM [SWS_LinSM_00229]. وتظل هوية برنامج تشغيل LIN الذي يخدم شبكة ما محجوبة خلف LinIf (SWS LinSM ص. 28).

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin مشغل LIN (واحد أو أكثر) LinIf->Lin Zuordnung Netzwerk zu Treiber

مخطط سياقي: يتحكم ComM وBswM في LinSM، ويتحكم LinSM في LinIf، ويرد LinIf بالتقارير عبر ردود الاتصال (Callbacks). المصادر: [SWS_LinSM_00229]، [SWS_LinSM_00138]، SWS LinSM ص. 28

بعد LinSM_Init، تكون كل شبكة في الحالة LINSM_NO_COM [SWS_LinSM_00155]. ولا يتم إخطار ComM وBswM بذلك (SWS LinSM ص. 23). ويُسمح بالاتصال فقط في LINSM_FULL_COM. وعند الدخول فيها، يتلقى ComM وBswM بلاغًا، ويتم الدخول في الحالة الفرعية LINSM_RUN_COMMUNICATION [SWS_LinSM_00301]. وبالنسبة لـ BswM، لا تظهر إلا الحالتان LINSM_FULL_COM وLINSM_NO_COM فقط [SWS_LinSM_00220].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (لا توجد رسالة إلى ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) إبلاغ FULL_COM إلى ComM وBswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep يُرجع E_OK Master: يطلب ComM وضع NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (بصرف النظر عن success) إبلاغ NO_COM إلى ComM وBswM

مخطط الحالة: ينتقل LinSM لكل شبكة بين LINSM_NO_COM وLINSM_FULL_COM من خلال تأكيد الاستيقاظ وتأكيد النوم. المصادر: [SWS_LinSM_00155]، [SWS_LinSM_00301]، SWS LinSM ص. 20

يبدأ LinSM الاستيقاظ والدخول في وضع النوم مباشرةً أثناء الاستدعاء. ويراقب تأكيدات LinIf باستخدام مؤقتات في LinSM_MainFunction [SWS_LinSM_00156] (SWS LinSM ص. 28). ولدى Master، يؤدي طلب الانتقال إلى COMM_NO_COMMUNICATION فورًا إلى LinIf_GotoSleep [SWS_LinSM_00036]. أما لدى Slave، فيتم تخزينه فقط [SWS_LinSM_00230]؛ ولا يُطلق الدخول في وضع النوم إلا LinSM_GotoSleepIndication [SWS_LinSM_00231]. ويؤخر مؤقت الصمت بعد الاستيقاظ (Silence-after-Wakeup-Timer) محاولات الاستيقاظ الجديدة [SWS_LinSM_00237].

تغيير جدول الجدولة متاح فقط لدى Master [SWS_LinSM_00241]. ويمرر LinSM LinSM_ScheduleRequest مباشرةً إلى LinIf ويبلّغ النتيجة عبر BswM_LinSM_CurrentSchedule (SWS LinSM ص. 26). وفيما يخص الأخطاء يسري ما يلي:

  • يبلّغ LinSM عن أخطاء التطوير إلى DET، باستخدام الرموز من [SWS_LinSM_00053].
  • يُعد عدم ورود رد اتصال من LinIf بمثابة LINSM_E_CONFIRMATION_TIMEOUT [SWS_LinSM_00224].
  • بعد انتقال فاشل، يضبط LinSM الحالة السابقة مجددًا، لإبقاء ComM وBswM مطلعين بشكل متسق [SWS_LinSM_00177].

الدور بين ComM وBswM وLIN Interface

إن LIN State Manager (LinSM) هو Bus-State-Manager لـ LIN. وكما هو الحال مع مديري حالة النواقل الآخرين، يطلب ComM من خلاله قدرة الاتصال لشبكة ما (SWS ComM ص. 19). والواجهة المدخلة المركزية لذلك هي LinSM_RequestComMode [SWS_LinSM_00126]. ويُرجع الوضع الحالي عبر LinSM_GetCurrentComMode [SWS_LinSM_00122]. ويعمل LinSM حصريًا على الشبكات. ويحجب LinIf معرفة أي برامج تشغيل LIN تخدم شبكة معينة. ولذلك، لا تؤثر وحدات التحكم الإلكترونية (ECUs) المزودة بعدة برامج تشغيل LIN مختلفة على LinSM (SWS LinSM ص. 28).

تشتمل الواجهات الإلزامية على LinIf_GotoSleep وLinIf_ScheduleRequest نحو الأسفل بالإضافة إلى البلاغات ComM_BusSM_ModeIndication، ComM_BusSM_BusSleepMode، BswM_LinSM_CurrentState، وBswM_LinSM_CurrentSchedule نحو الأعلى [SWS_LinSM_00229] (SWS LinSM ص. 41). ويستدعي LinSM LinIf_Wakeup أثناء تسلسل الاستيقاظ (SWS LinSM ص. 27). وبشكل اختياري، يستخدم Det_ReportError وLinIf_SetTrcvMode [SWS_LinSM_00138]. ويرد LinIf عبر ردود الاتصال (Callbacks) التالية:

تحدد [SWS_LinSM_00219] الأنواع المستوردة مثل ComM_ModeType، NetworkHandleType، وLinIf_SchHandleType.

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin مشغل LIN (واحد أو أكثر) LinIf->Lin Zuordnung Netzwerk zu Treiber

مخطط سياقي: يتوسط LinSM بين ComM وBswM في الأعلى وLinIf في الأسفل؛ وتظل برامج تشغيل LIN محجوبة خلف LinIf. المصادر: [SWS_LinSM_00126]، [SWS_LinSM_00229]، [SWS_LinSM_00138]، [SWS_LinSM_00156]، SWS LinSM ص. 28، Mode-Management-Guide ص. 54

نموذج الحالة لكل شبكة LIN، والتهيئة المبدئية، والجزء الدوري

عند بدء التشغيل، تكون الحالة على مستوى الوحدة LINSM_UNINIT نشطة قبل أي استدعاء للـ API (SWS LinSM ص. 22). وتكون LinSM_Init متزامنة وغير قابلة لإعادة الدخول (Not Reentrant) [SWS_LinSM_00155]. وتتلقى الدالة مؤشرًا إلى تكوين ما بعد البناء (Post-Build Configuration) من النوع الخاص بالتنفيذ LinSM_ConfigType [SWS_LinSM_00221]. بعد ذلك، تكون كل شبكة في الحالة الفرعية LINSM_NO_COM التابعة للحالة العليا LINSM_INIT. ولا تبلّغ LinSM_Init عن هذا الانتقال الأول لا إلى ComM ولا إلى BswM، لأن ComM لا يلزم بالضرورة أن يكون مهيأً في هذه اللحظة (SWS LinSM ص. 23). وفي مثال دليل إدارة الأوضاع (Mode Management Guide)، تستدعي قاعدة BswM LinSM_Init(null) بعد Lin_Init وLinIf_Init (Mode-Management-Guide ص. 54).

في الحالة LINSM_NO_COM، يظل الناقل صامتًا (SWS LinSM ص. 23). ويُسمح بالاتصال على الناقل فقط في الحالة LINSM_FULL_COM، وتصل كل شبكة إلى هذه الحالة بشكل مستقل عن الشبكات الأخرى. وعند الدخول يحدث ما يلي (SWS LinSM ص. 23):

  • يتلقى ComM بلاغًا بالقيمة COMM_FULL_COMMUNICATION، ويتلقى BswM بلاغًا بالقيمة LINSM_FULL_COM.
  • إذا كان LinSMTransceiverPassiveMode مهيأً، يقوم LinSM بتنشيط جهاز الإرسال والاستقبال (Transceiver) عبر LinIf_SetTrcvMode.
  • يتم الدخول في الحالة الفرعية LINSM_RUN_COMMUNICATION [SWS_LinSM_00301].

تجسر الحالة الفرعية المؤقتة LINSM_GOTO_SLEEP فترة انتظار تأكيد النوم (SWS LinSM ص. 20، SWS LinSM ص. 21). وبالنسبة لـ BswM، لا تظهر إلا قيمتان فقط من LinSM_ModeType: LINSM_FULL_COM (0x01) وLINSM_NO_COM (0x02) [SWS_LinSM_00220].

تعمل المراقبة الزمنية في LinSM_MainFunction. وتدير هذه الدالة الدورية مؤقتات مهل الطلب [SWS_LinSM_00156]. وهناك تنقضي أيضًا مؤقتات تأكيد الاستيقاظ، مع وجود مؤقت خاص بكل شبكة (SWS LinSM ص. 28). في المقابل، يبدأ LinSM إجراءات الناقل الفعلية مباشرةً أثناء الاستدعاء ولا ينتظر دورة Main-Function التالية [SWS_LinSM_00036] [SWS_LinSM_00231].

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (لا توجد رسالة إلى ComM/BswM) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) إبلاغ FULL_COM إلى ComM وBswM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep يُرجع E_OK Master: يطلب ComM وضع NO_COM Slave: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (بصرف النظر عن success) إبلاغ NO_COM إلى ComM وBswM

مخطط الحالة: ينتقل LinSM لكل شبكة بين LINSM_NO_COM وLINSM_FULL_COM من خلال تأكيد الاستيقاظ وتأكيد النوم؛ وتُعد LINSM_GOTO_SLEEP حالة انتظار فقط. المصادر: [SWS_LinSM_00155]، [SWS_LinSM_00301]، SWS LinSM ص. 20، SWS LinSM ص. 21، SWS LinSM ص. 24

الاستيقاظ: من LINSM_NO_COM إلى LINSM_FULL_COM

يتم إيقاظ شبكة LIN عندما يطلب ComM اتصالًا كاملًا عبر LinSM_RequestComMode. وإذا قامت عقدة أخرى بإيقاظ الناقل، فإن EcuM هو من يتولى معالجة ذلك وليس LinSM؛ وتؤدي هذه الحالة أيضًا إلى طلب بواسطة ComM (SWS LinSM ص. 27). وعندئذٍ يستدعي LinSM مباشرةً LinIf_Wakeup ويعيد ضبط عداد الحد الأقصى لعدد مرات التكرار. وإذا كان LinIf مستيقظًا بالفعل، فإنه يتجاهل الاستدعاء. وقبل الاستدعاء، يبدأ LinSM مؤقت تأكيد الاستيقاظ للقناة باستخدام LinSMConfirmationTimeout. ويجب أن تكون هذه القيمة 0 أو مضاعفًا صحيحًا لفترة Main-Function (SWS LinSM ص. 28).

إذا أبلغت LinSM_WakeupConfirmation عن success = TRUE، تنتقل الشبكة إلى LINSM_FULL_COM [SWS_LinSM_00132]. وفي جميع الحالات الأخرى، يضبط LinSM الحالة السابقة للطلب مجددًا، لكي يحصل ComM وBswM بالرغم من ذلك على إشارة للوضع (SWS LinSM ص. 27). ولدى Slave، لا يؤكد LinIf إلا عندما يستقبل أول ترويسة LIN من Master. وإذا لم يبدأ Master في الجدولة، يتعذر ورود التأكيد، وتتدخل مهلة LinSM (SWS LinIf ص. 52).

إيقاظ شبكة LIN (تنبيه داخلي)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_FULL_COMMUNICATION)بدء مؤقت تأكيد التنبيه(LinSMConfirmationTimeout)LinIf_Wakeup(Channel)مباشرة، وليس في LinSM_MainFunctionE_OKE_OKMaster: تأكيد بعد إرسال إشارة التنبيهSlave: تأكيد مع أول ترويسة LIN مستلمةaltsuccess = TRUELinSM_WakeupConfirmation(network, TRUE)Timer stoppenLINSM_FULL_COM / LINSM_RUN_COMMUNICATIONComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)success = FALSELinSM_WakeupConfirmation(network, FALSE)إعادة تعيين الحالة السابقة للطلبComM_BusSM_ModeIndication(network, bisheriger Modus)BswM_LinSM_CurrentState(network, bisheriger Zustand)لا يوجد تأكيدLinSM_MainFunction: Timer abgelaufenLINSM_E_CONFIRMATION_TIMEOUT

مخطط تسلسلي: يقوم LinSM بإيقاظ الشبكة فورًا أثناء الاستدعاء، ولكن تغيير الحالة لا يتبع ذلك إلا مع التأكيد غير المتزامن من LinIf. المصادر: [SWS_LinSM_00126]، [SWS_LinSM_00132]، [SWS_LinSM_00224]، SWS LinSM ص. 42، SWS LinSM ص. 27

الحد الزمني الثاني هو مؤقت الصمت بعد الاستيقاظ مع LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. وطالما أنه قيد التشغيل، يؤخر LinSM الاستدعاء الجديد لـ LinIf_Wakeup، حتى لو طلب ComM اتصالًا كاملًا [SWS_LinSM_00237]. وبعد انقضائه، يعيد LinSM بدء عملية الاستيقاظ، شريطة أن يستمر ComM في طلب COMM_FULL_COMMUNICATION [SWS_LinSM_00236]. والشرط الذي يبدأ المؤقت وارد في أحد المتطلبات غير المتوفرة هنا؛ ولذلك لن يتم وصفه.

wakeup_entscheidung A ComM: LinSM_RequestComMode (COMM_FULL_COMMUNICATION) B هل مؤقت الصمت بعد الإيقاظ قيد التشغيل؟ A->B C تأخير LinIf_Wakeup حتى انتهاء المؤقت B->C نعم D إعادة ضبط عداد التكرار وبدء مؤقت تأكيد الإيقاظ B->D لا C->D Timer abgelaufen E LinIf_Wakeup(Channel) direkt aufrufen D->E F استجابة LinIf؟ E->F G ‏LINSM_FULL_COM إبلاغ ComM وBswM F->G WakeupConfirmation TRUE H إعادة تعيين الحالة السابقة للطلب والإبلاغ عنها F->H WakeupConfirmation FALSE I LinSM_MainFunction: Timer abgelaufen LINSM_E_CONFIRMATION_TIMEOUT F->I لا يوجد تأكيد J مهلة الصمت بعد الإيقاظ واستمرار طلب COMM_FULL_COMMUNICATION J->D إعادة بدء عملية التنبيه (Wakeup)

مخطط النشاط: ينتهي طلب الاتصال الكامل، وفقًا لحالة المؤقت والرد، بالانتقال إلى LINSM_FULL_COM، أو البقاء في الحالة القديمة، أو انتهاء مهلة التأكيد. المصادر: [SWS_LinSM_00237]، [SWS_LinSM_00236]، [SWS_LinSM_00224]، SWS LinSM ص. 27، SWS LinSM ص. 28

الدخول في وضع النوم: Master يطلب، وSlave يتبع الناقل

يختلف تسلسل Goto-Sleep بين Master وSlave. وفي كلتا الحالتين، يبلّغ LinSM عن الدخول في وضع No-Communication إلى BswM وComM، حتى في حال حدوث مشكلة (SWS LinSM ص. 24).

بالنسبة لـ Master، يسري ما يلي:

  • إذا طلب ComM في الحالة LINSM_FULL_COM الوضع COMM_NO_COMMUNICATION، يستدعي LinSM LinIf_GotoSleep، الذي يرسل أمر Goto-Sleep [SWS_LinSM_10208].
  • يتم الاستدعاء مباشرةً [SWS_LinSM_00036]. وفي جميع الحالات الأخرى لا يتم تنفيذه [SWS_LinSM_10209].
  • الاستدعاء مسموح به فقط في الحالة الفرعية LINSM_RUN_COMMUNICATION (SWS LinSM ص. 24).
  • إذا أرجع LinIf_GotoSleep القيمة E_NOT_OK، فإن LinSM_RequestComMode يُرجع أيضًا E_NOT_OK. وتُضبط الحالة السابقة مجددًا، لكي يتلقى ComM وBswM إشارة ([SWS_LinSM_00177]).

بعد ذلك، يستدعي LinIf LinSM_GotoSleepConfirmation [SWS_LinSM_00135]. وإذا كان LinSM عندئذٍ في LINSM_FULL_COM/LINSM_GOTO_SLEEP، فإنه ينتقل إلى LINSM_NO_COM، بغض النظر عن المعلمة success. وفي أي حالة أخرى، يتجاهل التأكيد (SWS LinSM ص. 24). ويبدأ الرسم التوضيحي للمواصفة مؤقتًا قبل LinIf_GotoSleep ويوقفه بعد التأكيد (SWS LinSM ص. 47).

دخول شبكة LIN في السكون (الرئيسي)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)فقط في LINSM_FULL_COM / LINSM_RUN_COMMUNICATIONاستدعاء مباشر، وليس في LinSM_MainFunctionstart_timer()LinIf_GotoSleep(Channel)altLinIf_GotoSleep = E_OKE_OKUnterzustand LINSM_GOTO_SLEEPE_OKLinSM_GotoSleepConfirmation(network, success)stop_timer()‏LINSM_NO_COM (بصرف النظر عن success)ComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)LinIf_GotoSleep = E_NOT_OKE_NOT_OKbisherigen Zustand erneut setzenE_NOT_OKComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)

مخطط تسلسلي: لدى Master، يطلق ComM الدخول في وضع النوم؛ ولا يتم الوصول إلى LINSM_NO_COM إلا مع تأكيد النوم، ويؤدي E_NOT_OK من LinIf_GotoSleep إلى الإبلاغ عن الحالة القديمة مجددًا. المصادر: [SWS_LinSM_00036]، [SWS_LinSM_00177]، [SWS_LinSM_00135]، SWS LinSM ص. 47، SWS LinSM ص. 24

لدى Slave، يقرر Master بشأن الدخول في وضع النوم. وإذا طلب ComM في الحالة LINSM_FULL_COM الوضع COMM_NO_COMMUNICATION، يقوم LinSM بتخزين الرغبة فقط ويُرجع E_OK [SWS_LinSM_00230]. ويبلّغ LinIf عن LinSM_GotoSleepIndication عند استلام أمر Goto-Sleep أو حدوث مهلة خمول الناقل (Bus-Idle-Timeout) [SWS_LinSM_91000]. وفقط عندئذٍ يستدعي LinSM مباشرةً LinIf_GotoSleep [SWS_LinSM_00231]. وتعتمد الخطوات التالية على الرغبة المخزنة:

  • إذا كان قد طُلب COMM_NO_COMMUNICATION وأرجع LinIf_GotoSleep القيمة E_OK، يعلم ComM بحدث سكون الناقل (Bus-Sleep) عبر ComM_BusSM_BusSleepMode [SWS_LinSM_00233].
  • إذا كان الاتصال الكامل مطلوبًا، يعيد LinSM بدء عملية الاستيقاظ بعد تأكيد السكون [SWS_LinSM_00234].

في LinIf، ينقل تسلسل التابع المتحكم، وجهاز الإرسال والاستقبال إذا كان مدعومًا، إلى وضع السكون (SWS LinIf ص. 137).

دخول شبكة LIN في السكون (التابع)ComMLinSMLinIfBswMUse Case: طلب السكون من ComMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)angeforderten Modus speichern,لا يوجد إجراء آخرE_OKUse Case: BusereignisLinSM_GotoSleepIndication(Channel)Goto-Sleep-Kommando empfangenأو مهلة خمول الناقلstart_timer()LinIf_GotoSleep(Channel)مباشرة، وليس في LinSM_MainFunctionE_OKaltangefordert: COMM_NO_COMMUNICATIONComM_BusSM_BusSleepMode(Channel)LinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COMComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)angefordert: COMM_FULL_COMMUNICATIONLinSM_GotoSleepConfirmation(network, success)‏LINSM_NO_COM، إبلاغ ComM وBswMkein Bus-Sleep-Ereignis an ComMإعادة تشغيل عملية الإيقاظ (LinIf_Wakeup)

مخطط تسلسل: عند التابع، يتم تخزين طلب السكون الصادر من ComM فقط، ويتم إطلاق الدخول في السكون عبر إشعار LinIf. المصادر: [SWS_LinSM_00230]، [SWS_LinSM_00231]، [SWS_LinSM_00233]، [SWS_LinSM_00234]، SWS LinSM ص. 48، SWS LinSM ص. 24

تبديل جداول الجدولة (الرئيسي فقط)

لا يوجد LinSM_ScheduleRequest [SWS_LinSM_00113] إلا إذا تم تكوين قناة واحدة على الأقل كقناة رئيسية [SWS_LinSM_00241]. وينطبق الشيء نفسه على رد النداء LinSM_ScheduleRequestConfirmation [SWS_LinSM_00242]. تُمرر الدالة غير المتزامنة الطلب مباشرة إلى LinIf_ScheduleRequest دون المرور عبر الدالة الرئيسية. وتُعيد قيمتها المرجعة إلى المستدعي (SWS LinSM ص. 26). المستدعي هو BswM. ويستخدم LinSMScheduleIndex كمرجع رمزي يجب أن تتطابق قيمته مع القيمة في LinIf (SWS LinSM ص. 52). كما تتم عمليات تبديل جدولة التشخيص لبروتوكول نقل LIN عبر BswM وLinSM_ScheduleRequest (SWS LinIf ص. 142).

يُبلغ LinSM عن النتيجة عبر BswM_LinSM_CurrentSchedule (SWS BswM ص. 80). ويعتمد الجدول الذي يتم الإبلاغ عنه على مجريات العملية (SWS LinSM ص. 26):

  • إذا أكد LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] قبل انتهاء المؤقت، يُبلغ LinSM عن الجدول الجديد.
  • إذا انتهى المؤقت، يُبلغ عن الجدول دون تغيير.
  • إذا أرجع LinIf_ScheduleRequest القيمة E_NOT_OK، فإنه يُبلغ عن الجدول القديم في الاستدعاء التالي للدالة الرئيسية.
  • كما يُبلغ أيضًا عن أي تبديل يتم دون طلب مسبق، مثل التبديل إلى جدول NULL الذي يجريه LinIf عند الدخول في السكون.
تغيير جدول المواعيد (الرئيسي فقط)BswMLinSMLinIfLinSM_ScheduleRequest(network, schedule)start_timer()LinIf_ScheduleRequest(Channel, schedule)مباشرة، وليس في LinSM_MainFunctionalt‏E_OK، التأكيد قبل انتهاء المؤقتE_OKE_OK (weitergereicht)LinSM_ScheduleRequestConfirmation(network, schedule)stop_timer()BswM_LinSM_CurrentSchedule(network, neuer Schedule)E_OK, Timer abgelaufenE_OKE_OK (weitergereicht)LinSM_MainFunction: Timer abgelaufen‏BswM_LinSM_CurrentSchedule(network, جدول زمني غير معدل)LinIf_ScheduleRequest = E_NOT_OKE_NOT_OKE_NOT_OK (weitergereicht)الاستدعاء التالي لـ LinSM_MainFunctionBswM_LinSM_CurrentSchedule(network, alter Schedule)

مخطط تسلسل: يتم تمرير تبديل الجدولة مباشرة وتتم مراقبته زمنيًا؛ ويتعرف BswM في كل نتيجة على الجدول الصالح فعليًا. المصادر: [SWS_LinSM_00113]، [SWS_LinSM_00129]، [SWS_LinSM_00156]، SWS LinSM ص. 26، SWS LinSM ص. 48

نوع العقدة والتكوين والاختلافات مقارنة بالإصدارات اللاحقة

يحدد المعامل LinSMNodeType ما إذا كان سلوك الرئيسي أو التابع ينطبق على قناة ما. ويعتمد على ذلك ما إذا كانت LinSM_ScheduleRequest وLinSM_ScheduleRequestConfirmation وLinSM_GotoSleepIndication متاحة أم لا [SWS_LinSM_00241] [SWS_LinSM_00242] [SWS_LinSM_00243]. أهم المعاملات الزمنية هي LinSMConfirmationTimeout (SWS LinSM ص. 28) وLinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235]. تشير حاويات LinSMSchedule إلى جداول جدولة من تكوين LinIf (SWS LinSM ص. 52). وترتبط فحوصات DET بالمعامل LinSMDevErrorDetect [SWS_LinSM_00239].

تأتي مواضع عديدة في المستند من إصدارات لاحقة. بالنسبة إلى R20-11، فإن المتطلبات هي الأساس المعتمد، وتختلف في بعض المواضع:

  • يُسمى المعامل الثاني لـ LinSM_ScheduleRequest في R20-11 بالاسم schedule ويوصف بأنه «Pointer to the new Schedule table»، على الرغم من أن نوعه هو LinIf_SchHandleType [SWS_LinSM_00113]. وتمت إعادة تسميته في R22-11 (SWS LinSM ص. 1، Release Overview ص. 50)؛ وفي R24-11 أصبح اسمه ScheduleTableIdx (SWS LinSM ص. 34).
  • في R20-11، يحمل LinSM_GetCurrentComMode معرّف الخدمة 0x11 [SWS_LinSM_00122] ويحمل LinSM_RequestComMode معرّف الخدمة 0x12 [SWS_LinSM_00126]. وتذكر الإصدارات اللاحقة 0x41 و0x40 وتسمح بإعادة الدخول فقط للشبكات المختلفة (SWS LinSM ص. 35، SWS LinSM ص. 36).
  • تُسمى ردود نداء ComM في R20-11 بالاسم ComM_BusSM_… [SWS_LinSM_00233]، وفي R25-11 بالاسم ComM_<Bus>SM_… (SWS LinSM ص. 41).

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

يحدد [SWS_LinSM_00053] أخطاء التطوير:

  • LINSM_E_UNINIT (0x00)
  • LINSM_E_NONEXISTENT_NETWORK (0x20)
  • LINSM_E_PARAMETER (0x30)
  • LINSM_E_PARAM_POINTER (0x40)
  • LINSM_E_INIT_FAILED (0x50)

عند تفعيل LinSMDevErrorDetect، تفحص ردود النداء الشبكة والتهيئة، مثل LinSM_GotoSleepIndication [SWS_LinSM_00239] [SWS_LinSM_00240]. لا تحتوي ردود النداء على قيمة مرجعة، لذا يقتصر الأمر فيها على إشعار DET (SWS LinSM ص. 40، SWS LinSM ص. 39). بالإضافة إلى ذلك، تُرجع واجهات API ذات Std_ReturnType القيمة E_NOT_OK، على سبيل المثال في حالة وجود شبكة أو وضع أو جدول غير صالح أو في الحالة LINSM_UNINIT (SWS LinSM ص. 36، SWS LinSM ص. 34). تفسير: تأتي هذه الفحوصات من إصدارات تبدأ من R24-11، ويُرجح أنها تنطبق من حيث المحتوى بالمثل على R20-11. واللافت للنظر هو أن الإصدار اللاحق يتطلب أيضًا E_NOT_OK لواجهة API لـ void LinSM_GetVersionInfo [SWS_LinSM_00117] عند وجود مؤشر NULL (SWS LinSM ص. 34). سؤال Q-6b2d75dd286bdcb4 (مفتوح)

كخطأ وقت تشغيل، تم تخصيص LINSM_E_CONFIRMATION_TIMEOUT (0x00) لغياب ردود النداء من LinIf [SWS_LinSM_00224]. ويُفترض أنه يتم الإبلاغ عنه عبر Det_ReportRuntimeError، الذي تدرجه الإصدارات اللاحقة كواجهة إلزامية (SWS LinSM ص. 41). سؤال Q-06b13a07d0d60152 (مفتوح) وظيفيًا، يضمن LinSM أن يرى كل من ComM وBswM حالة متسقة دائمًا:

  • بعد فشل الاستيقاظ، يقوم بتعيين الحالة القديمة والإبلاغ عنها مرة أخرى (SWS LinSM ص. 27).
  • وينطبق الشيء نفسه في حالة إرجاع E_NOT_OK من LinIf_GotoSleep [SWS_LinSM_00177].
  • يؤدي تأكيد السكون حتى مع وجود success = FALSE إلى الانتقال إلى LINSM_NO_COM (SWS LinSM ص. 24).
  • في حالة فشل تبديل الجدولة، يتلقى BswM الجدول القديم أو الجدول دون تغيير (SWS LinSM ص. 26).

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

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

LIN State Manager (LinSM)

Manages state transitions of LIN networks.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة LinSM_Init [SWS_LinSM_00155] 📄 PDF

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

This function initializes the Lin SM.

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

تُستخدم الدالة LinSM_Init لتهيئة الوحدة البرمجية LIN State Manager (LinSM) في منصة AUTOSAR Classic [SWS_LinSM_00155].

الاستخدام ومعلمات الواجهة:

  • تزامن الاستدعاء: حُدد تنفيذ دالة التهيئة بأنه متزامن (Synchronous) [SWS_LinSM_00155].
  • معاملات الدخل: كمعامل وحيد، يُمرَّر ConfigPtr من النوع const LinSM_ConfigType* [SWS_LinSM_00155]. ويعمل هذا كمؤشر إلى بيانات تكوين ما بعد البناء لـ LinSM [SWS_LinSM_00155].
  • المعاملات الإضافية والقيمة المرجعة: لا تُرجع الواجهة أي قيمة مرجعة (void) [SWS_LinSM_00155]. ولا توجد معاملات دخل/خرج إضافية أو معاملات خرج بحتة [SWS_LinSM_00155].
  • ملف الترويسة ومعرّف الخدمة: يتم توفير التصريح عبر ملف الترويسة LinSM.h ويحمل معرّف الخدمة 0x01 [SWS_LinSM_00155].

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

بالنسبة لتنفيذ LinSM_Init، تم تحديد أن الدالة غير قابلة لإعادة الدخول (Non reentrant) [SWS_LinSM_00155]. وبالتالي، لا يجوز إجراء الاستدعاء بالتوازي عبر خيوط معالجة متعددة ولا بشكل مقاطع بواسطة سياقات ذات أولوية أعلى [SWS_LinSM_00155].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

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

دالة LinSM_ScheduleRequest [SWS_LinSM_00113] 📄 PDF

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The upper layer requests a schedule table to be changed on one LIN network.

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

الاستخدام

تستدعي الطبقة العليا الدالة LinSM_ScheduleRequest لطلب تبديل جدول الجدولة على قناة LIN محددة [SWS_LinSM_00113]. الواجهة معرّفة في ملف الترويسة LinSM.h، ولها معرّف الخدمة 0x10، وتعمل بشكل غير متزامن وكذلك قابل لإعادة الدخول [SWS_LinSM_00113]. عند الاستدعاء، تُمرَّر القناة المعنية عبر المعامل network (NetworkHandleType) والجدول الجديد المطلوب عبر schedule (LinIf_SchHandleType) [SWS_LinSM_00113].

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

إذا قبلت الوحدة طلب تبديل الجدول، تُرجع الدالة E_OK [SWS_LinSM_00113]. أما إذا تعذر تنفيذ الاستدعاء – على سبيل المثال لأن الوحدة لم تُهيّأ بعد – فتُرجع الدالة القيمة المرجعة E_NOT_OK [SWS_LinSM_00113]. لم يتم سرد رموز أخطاء محددة لـ DET أو DEM لهذه الخدمة.

الشروط الحدية والتفاعل

يعتمد توفير الدالة بشكل أساسي على معلَم التكوين LinSMNodeType: تتوفر LinSM_ScheduleRequest حصرياً عندما تكون الوحدة مكوّنة على قناة واحدة على الأقل كعقدة LIN رئيسية، وتسقط في تكوينات LIN التابعة البحتة [SWS_LinSM_00241]. وبطريقة متطابقة، تتطلب دالة التأكيد المرتبطة LinSM_ScheduleRequestConfirmation أيضاً تكوين عقدة رئيسية [SWS_LinSM_00242]. من المفترض أن يتم إرسال الإشعار باكتمال التبديل غير المتزامن للجدول بنجاح إلى الطبقة العليا عبر دالة التأكيد هذه. سؤال Q-34c3ec02381c72ca (مفتوح)

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

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

دالة LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

Function to query the current communication mode.

دالة LinSM_RequestComMode [SWS_LinSM_00126] 📄 PDF

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

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

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

تُستخدم الدالة LinSM_RequestComMode (معرّف الخدمة 0x12) المعلنة في ملف الترويسة LinSM.h لطلب وضع اتصال بشكل غير متزامن لشبكة LIN الممررة [SWS_LinSM_00126]. ومن خلال المعلمة network من النوع NetworkHandleType، يتم تحديد قناة LIN المعنية، بينما يحدد mode من النوع ComM_ModeType وضع الاتصال المطلوب [SWS_LinSM_00126]. لا يحدث تغيير الوضع الفعلي بشكل فوري؛ بل يُخطر LinSM المتصل فقط بمجرد اكتمال انتقال الوضع بنجاح [SWS_LinSM_00126]. تفسير: يُرجح أن يعمل ComM كمتصل رئيسي، نظراً لأن تبديل الوضع يُطلب ويُؤكد على مستوى القناة. سؤال Q-0fcce16df8a29149 (مفتوح)

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

تم تحديد الواجهة على أنها قابلة لإعادة الدخول وترجع قيمة حالة من النوع Std_ReturnType [SWS_LinSM_00126]:

  • E_OK: تم قبول الطلب بنجاح بواسطة LinSM [SWS_LinSM_00126].
  • E_NOT_OK: تنفيذ الطلب غير ممكن، على سبيل المثال إذا لم تكن وحدة LinSM قد تم تهيئتها بعد [SWS_LinSM_00126].

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

كجزء من معالجة الأخطاء، يتم تحديد التفاعل مع LIN-Interface: إذا أرجع الاستدعاء الأساسي لـ LinIf_GotoSleep قيمة الإرجاع E_NOT_OK، فيجب على LinSM_RequestComMode بالضرورة إرجاع E_NOT_OK أيضاً [SWS_LinSM_00177]. إذا عادت الدالة بـ E_NOT_OK، فيجب أن تظل أو تصبح الحالة نفسها مضبوطة في LinSM، بحيث يتم إرسال الملاحظات المقابلة إلى ComM_BusSM_ModeIndication وBswM_LinSM_CurrentState [SWS_LinSM_00177].

تم إنشاء هذا النص تلقائياً. وتستند جميع البيانات الفنية حصرياً إلى بيانات مواصفات AUTOSAR R20-11.

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

دالة LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF

void LinSM_MainFunction (void);

Periodic function that runs the timers of different request timeouts

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

الاستخدام

تعمل الدالة LinSM_MainFunction كدالة رئيسية دورية مركزية للوحدة LIN State Manager (LinSM) ضمن بنية AUTOSAR Classic [SWS_LinSM_00156]. وفقاً للمواصفة، تمتلك الدالة الصيغة void LinSM_MainFunction (void) ومعرّف الخدمة الست عشري 0x30 [SWS_LinSM_00156]. ونظراً لأنها لا تأخذ معاملات ولا تُرجع قيمة مرجعة، فإنها تعمل بشكل قائم تماماً على الحالة داخل الوحدة [SWS_LinSM_00156]. وتتمثل مهمتها الوظيفية الأساسية في التشغيل المستمر للمؤقتات الداخلية وتحديثها، وهي المسؤولة عن مراقبة مختلف مهلات الطلبات (Request Timeouts) [SWS_LinSM_00156].

سياق الاستدعاء والجدولة

يتم التصريح عن الواجهة عبر ملف الترويسة SchM_LinSm.h [SWS_LinSM_00156]. تفسير: نظراً لهذا الدمج في Schedule Manager، فمن المفترض أن يتم استدعاء الدالة دورياً بواسطة مجدول BSW في سياق مهمة نظام التشغيل (OS-Task). سؤال Q-d83f7b3f0b251f4f (مفتوح) وتعد هذه الدورة المنتظمة ضرورية حتى يمكن اكتشاف ومعالجة حالات المهلة المعلقة لطلبات قنوات وحالات LIN بشكل حتمي. لا توجد معالجات أخطاء محددة مثل رموز أخطاء DET أو أحداث DEM وكذلك معايير رسمية لقابلية إعادة الدخول مخصصة لهذه الخدمة في نطاق المواصفة الحالي، وبالتالي فهي غير موجودة.

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR R20-11.

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

دالة LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] 📄 PDF

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

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

الاستخدام

تُستخدم الدالة LinSM_ScheduleRequestConfirmation كواجهة رد (Callback) للوحدة LinSM ولها معرّف الخدمة 0x20 [SWS_LinSM_00129]. وهي متوفرة عبر ملف الترويسة LinSM.h وتستدعيها واجهة LIN (LinIf) بمجرد أن يصبح جدول الجدولة الجديد المطلوب مسبقاً نشطاً على ناقل LIN [SWS_LinSM_00129].

لا تمتلك الواجهة قيمة مرجعة (void) وتمرر معاملي دخل إلى LinSM [SWS_LinSM_00129]:

  • network (NetworkHandleType): يُستخدم للتعريف الفريد لقناة اتصال LIN المعنية [SWS_LinSM_00129].
  • schedule (LinIf_SchHandleType): يمرر المعرّف أو المؤشر إلى جدول الجدولة المفعل حديثاً [SWS_LinSM_00129].

التزامن والتفاعل

تم تحديد تنفيذ LinSM_ScheduleRequestConfirmation بأنه متزامن وقابل لإعادة الدخول [SWS_LinSM_00129]. ولا توجد معاملات دخل/خرج (inout أو out) [SWS_LinSM_00129]. ويتم التفاعل بشكل وثيق مع الوحدة LinIf، التي تستدعي دالة الرد هذه لتأكيد تغيير حالة جدول الجدولة إلى LinSM [SWS_LinSM_00129]. تفسير: نظراً لأن LinIf تعمل كجهة استدعاء، فمن المرجح أن يكون سياق الاستدعاء مرتبطاً بمعالجة سير عمل مشغل أو واجهة LinIf. سؤال Q-500d6a653bfbaac0 (مفتوح)

تم إنشاء إشعار الاستخدام هذا تلقائيًا بناءً على مواصفة AUTOSAR.

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

دالة LinSM_GotoSleepIndication [SWS_LinSM_91000] 📄 PDF

void LinSM_GotoSleepIndication (NetworkHandleType Channel);

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

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

تُستخدم دالة الرد LinSM_GotoSleepIndication ([SWS_LinSM_91000]) لإخطار LIN State Manager بنقل قناة إلى حالة السكون. ويتم الاستدعاء بواسطة LIN Interface (LinIf) بمجرد استقبال أمر Go-to-Sleep على الشبكة أو حدوث مهلة خمول الناقل.

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

تُنفذ الدالة بشكل متزامن وليس لها قيمة إرجاع ([SWS_LinSM_91000]). ويتم توفيرها عبر الترويسة LinSM.h وتحمل معرّف الخدمة 0x03. وتُستخدم معلمتها الوحيدة لمعرّف القناة:

  • Channel (In): يحدد قناة LIN المتأثرة عبر النوع NetworkHandleType ([SWS_LinSM_91000]).

لم يتم تحديد معلمات دخل/خرج (inout) ولا معلمات خرج (out) ([SWS_LinSM_91000]).

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

فيما يتعلق بالتزامن، تُعرَّف الواجهة بأنها قابلة لإعادة الدخول ([SWS_LinSM_91000]). وثمة قيد وظيفي رئيسي يتعلق بخاصية العقدة: دالة الرد مخصصة وقابلة للتطبيق حصرياً لعقد LIN التابعة ([SWS_LinSM_91000]).

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

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

دالة LinSM_GotoSleepConfirmation [SWS_LinSM_00135] 📄 PDF

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

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

تُستدعى دالة الرد LinSM_GotoSleepConfirmation وفقاً لـ [SWS_LinSM_00135] بواسطة واجهة LIN (LinIf) بمجرد أن يتم إرسال أمر Go-to-Sleep على شبكة LIN أو عند فشل الإرسال.

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

تمتلك دالة الرد معرّف الخدمة 0x22، ويتم التصريح عنها عبر الترويسة LinSM.h، وليس لها قيمة مرجعة [SWS_LinSM_00135]. ويُستخدم معاملا تمرير للتعريف ونقل الحالة:

  • network: يحدد قناة LIN المعنية عبر النوع NetworkHandleType [SWS_LinSM_00135].
  • success: يحدد كقيمة بولينية ما إذا كان قد تم إرسال أمر Go-to-Sleep بنجاح على الناقل (true) أم لا (false) [SWS_LinSM_00135].

سياق التنفيذ والتزامن

تحدد المواصفة الاستدعاء بأنه متزامن وقابل لإعادة الدخول [SWS_LinSM_00135]. تفسير: من المفترض أن تقوم الوحدة LinSM بتحديث حالتها الداخلية للشبكة المعنية استناداً إلى المعامل success والتحقق مما إذا كان الانتقال إلى وضع السكون قد تم تأكيده على الناقل. سؤال Q-b5dfd51188b9ff0b (مفتوح) لا توجد معالجات أخطاء أو قيم مرجعة أو رسائل DET أو DEM محددة مخصصة لهذه الواجهة في الحمولة (Payload) [SWS_LinSM_00135].

تم توليد هذا النص بواسطة ذكاء اصطناعي؛ وتعد مواصفة AUTOSAR وحدها ملزمة.

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

دالة LinSM_WakeupConfirmation [SWS_LinSM_00132] 📄 PDF

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

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

تُستخدم دالة الرد LinSM_WakeupConfirmation في مدير حالة LIN لتأكيد إرسال إشارة إيقاظ على شبكة LIN [SWS_LinSM_00132]. ويتم استدعاؤها بواسطة LIN-Interface (LinIf) بمجرد إرسال أمر إرسال إشارة الإيقاظ على الشبكة بنجاح أو عدم نجاح [SWS_LinSM_00132].

تنطبق خصائص المواصفات التالية على سياق الاستدعاء والتزامن وتمرير المعلمات [SWS_LinSM_00132]:

  • سلوك التزامن وقابلية إعادة الدخول: يتم تنفيذ الدالة بشكل متزامن (Synchronous) وتُصنف على أنها قابلة لإعادة الدخول (Reentrant) [SWS_LinSM_00132].
  • معرّف القناة (network): تشير معلمة الإدخال المُمرَّرة من النوع NetworkHandleType إلى قناة LIN المعنية التي تمت عملية الإرسال عليها [SWS_LinSM_00132].
  • حالة النجاح (success): تشير المعلمة المنطقية إلى ما إذا كان قد تم إرسال إشارة الإيقاظ بنجاح (true) أو فشل الإرسال (false) [SWS_LinSM_00132].
  • قيمة الإرجاع ومعلمات الإدخال/الإخراج: لا تحتوي الدالة على قيمة إرجاع (void) ولا تحدد معلمات إخراج أو معلمات إدخال/إخراج [SWS_LinSM_00132].

تحتوي الواجهة على معرّف الخدمة 0x21 ويتم توفيرها عبر ملف الترويسة LinSM.h [SWS_LinSM_00132]. ولا يتم تحديد رموز خطأ معينة أو متطلبات لمعالجة الأخطاء عبر وحدة Default Error Tracer (DET) أو وحدة Diagnostic Event Manager (DEM) في عنصر المواصفات [SWS_LinSM_00132].

تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Classic الإصدار R20-11.

نوع LinSM_ModeType [SWS_LinSM_00220] 📄 PDF

Type used to report the current mode to the Bsw M

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

نوع البيانات LinSM_ModeType هو نوع قياسي لـ LIN State Manager، يعتمد على النوع الأساسي uint8 ويتم توفيره عبر ملف الترويسة LinSM.h [SWS_LinSM_00220]. وتتمثل المهمة الأساسية لهذا النوع في إبلاغ وضع الاتصال الحالي لشبكة LIN إلى إدارة وضع BSW (BswM) [SWS_LinSM_00220].

تم تحديد حالتين لـ LinSM_ModeType في نطاق القيم [SWS_LinSM_00220]:

  • LINSM_FULL_COM (القيمة العددية 0x01): يشير إلى حالة الاتصال الكامل غير المقيد (Full communication) [SWS_LinSM_00220].
  • LINSM_NO_COM (القيمة العددية 0x02): يحدد الحالة دون اتصال جارٍ (No communication) [SWS_LinSM_00220].

فيما يتعلق بمعالجة الأخطاء والتزامن، لا يحتوي تعريف النوع على رموز أخطاء خاصة به أو رسائل DET أو أحداث DEM، نظراً لأنه تصريح نوع أولي [SWS_LinSM_00220]. تفسير: من المفترض أن يتم تمرير قيم هذا النوع إلى BswM في إطار تغييرات الحالة الأعلى لـ LinSM، حيث يتعين على جهات الاستدعاء التأكد من عدم إرسال قيم غير مسموح بها خارج الحالات المحددة. سؤال Q-fe193732b8be2388 (مفتوح)

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

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

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

Record
AUTOSAR/AP/record/CP_MOD_LinSM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinSM@rel:R20-11#5f5276d2
Content hash
5f5276d2
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155

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

-

void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinSM_Init دالة

This function initializes the Lin SM.

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

الخدمات

Function to query the current communication mode.

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

void LinSM_GotoSleepIndication (NetworkHandleType Channel);

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);

The upper layer requests a schedule table to be changed on one LIN network.

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

دورية

Periodic function that runs the timers of different request timeouts

void LinSM_MainFunction (void);

الأنواع

Data structure type for the post - build configuration parameters.

Type used to report the current mode to the Bsw M