LIN State Manager (LinSM)
Manages state transitions of LIN networks.
Funktionen — Übersicht
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);This function initializes the Lin SM.Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);The upper layer requests a schedule table to be changed on one LIN network.void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);-Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);Function to query the current communication mode.Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);Requesting of a communication mode.void LinSM_MainFunction (void);Periodic function that runs the timers of different request timeoutsvoid LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);The Lin If module will call this callback when the new requested schedule table is active.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.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.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.
Typen — Übersicht
enum LinSM_ModeTypeType used to report the current mode to the Bsw Mstruct LinSM_ConfigTypeData structure type for the post - build configuration parameters.
Funktionen & Typen — Detailansicht
دالة LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
تُستخدم الدالة 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.
الاستخدام
تستدعي الطبقة العليا الدالة 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_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
دالة 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.
الاستخدام وسياق الاستدعاء
تُستخدم الدالة 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
الاستخدام
تعمل الدالة 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.
الاستخدام
تُستخدم الدالة 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.
تُستخدم دالة الرد 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.
تُستدعى دالة الرد 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.
تُستخدم دالة الرد 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
نوع البيانات 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)
نوع LinSM_ConfigType [SWS_LinSM_00221] 📄 PDF
Data structure type for the post - build configuration parameters.
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
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني