CAN Transport Layer (CanTp)
Provides segmentation and reassembly of CAN messages up to 4095 bytes (ISO 15765-2).
Funktionen — Übersicht
void CanTp_Init (const CanTp_ConfigType* CfgPtr);This function initializes the Can Tp module.void CanTp_GetVersionInfo (Std_VersionInfoType* versioninfo);This function returns the version information of the Can Tp module.void CanTp_Shutdown (void);This function is called to shutdown the Can Tp module.Std_ReturnType CanTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType CanTp_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType CanTp_CancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType CanTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType CanTp_ReadParameter (PduIdType id, TPParameterType parameter, uint16* value);This service is used to read the current value of reception parameters BS and STmin for a specified N - SDU.void CanTp_MainFunction (void);The main function for scheduling the CAN TP.void CanTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void CanTp_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.
Typen — Übersicht
struct CanTp_ConfigTypeData structure type for the post - build configuration parameters.
Funktionen & Typen — Detailansicht
دالة CanTp_Init [SWS_CanTp_00208] 📄 PDF
void CanTp_Init (const CanTp_ConfigType* CfgPtr);
This function initializes the Can Tp module.
تقوم الدالة المتزامنة وغير القابلة لإعادة الدخول (non-reentrant) CanTp_Init بتهيئة الوحدة CanTp [SWS_CanTp_00208]. وتستقبل عبر المعامل CfgPtr مؤشراً إلى بيانات توصيف ما بعد البناء (CanTp_ConfigType) وليس لها قيمة إرجاع [SWS_CanTp_00208]. يجب على بيئة الوحدة استدعاء CanTp_Init بشكل إلزامي قبل أن يمكن استخدام الوحدة لعمليات معالجة أخرى [SWS_CanTp_00199].
أثناء التهيئة، تتم تهيئة جميع المتغيرات العامة للوحدة وتعيين جميع اتصالات بروتوكول النقل إلى حالة فرعية لـ CANTP_ON، والتي لا يكون فيها إرسال مقسم ولا استقبال مقسم نشطاً [SWS_CanTp_00030]. وتكون مسارات الاستقبال عندئذٍ في الحالة CANTP_RX_WAIT ومسارات الإرسال في الحالة CANTP_TX_WAIT [SWS_CanTp_00030]. بعد التنفيذ الناجح، تنتقل الوحدة إلى الحالة الداخلية CANTP_ON [SWS_CanTp_00170].
إذا تم استدعاء CanTp_Init عندما تكون الوحدة بالفعل في الحالة العامة CANTP_ON، فإن الدالة تعيد تعيين الوحدة إلى الحالة Idle، بحيث لا تكون عمليات إرسال أو استقبال قيد التشغيل [SWS_CanTp_00111].
إذا كان اكتشاف أخطاء التطوير (Development Error Detection) مفعلاً، فإن الوحدة CanTp تبلغ عن الخطأ CANTP_E_UNINIT إذا حاولت PDU Router أو واجهة CAN تنفيذ دوال الوحدة (باستثناء CanTp_GetVersionInfo) قبل استدعاء CanTp_Init [SWS_CanTp_00031].
أُنشئ هذا النص بواسطة ذكاء اصطناعي استنادًا إلى المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة CanTp_GetVersionInfo [SWS_CanTp_00210] 📄 PDF
void CanTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
This function returns the version information of the Can Tp module.
دالة CanTp_Shutdown [SWS_CanTp_00211] 📄 PDF
void CanTp_Shutdown (void);
This function is called to shutdown the Can Tp module.
الاستخدام وسياق الاستدعاء
تُستخدم الدالة CanTp_Shutdown لإيقاف تشغيل وحدة CanTp بالكامل بصورة منظمة ([SWS_CanTp_00211]). يتم توفير الواجهة عبر ملف الترويسة CanTp.h وتحمل معرّف الخدمة 0x02 ([SWS_CanTp_00211]). تتم معالجة الاستدعاء بشكل متزامن، ولا يقبل أي معلمات تمرير ولا يُرجع أي قيمة إرجاع ([SWS_CanTp_00211]).
انتقال الحالة وعملية التنظيف
عند التنفيذ، تغلق CanTp_Shutdown جميع اتصالات بروتوكول النقل التي لا تزال معلقة، وتحرر كافة الموارد المخصصة، وتنقل وحدة CanTp إلى الحالة CANTP_OFF ([SWS_CanTp_00202]). أحد الجوانب الأساسية لسلوك الإلغاء هو أنه يجب صراحةً عدم إطلاق أي إخطار للطبقات العليا لعمليات إرسال الإطارات أو استقبال الإطارات التي لا تزال معلقة ([SWS_CanTp_00200]).
التزامن والشروط الحدية
تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_CanTp_00211]). وبالتالي، لا يجوز استدعاؤها في الوقت نفسه من سياقات تنفيذ أو روتينات مقاطعة مختلفة. ولا تظهر في نطاق خدمات الواجهة أي رموز أخطاء محددة أو إخطارات موجهة إلى إدارة الأخطاء.
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR Classic الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة CanTp_Transmit [SWS_CanTp_00212] 📄 PDF
Std_ReturnType CanTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
الاستخدام
تُستخدم الدالة CanTp_Transmit لطلب إرسال N-SDU عبر طبقة نقل CAN [SWS_CanTp_00212]. ويتم تمرير معرّف PDU المراد إرسالها (TxPduId) بالإضافة إلى مؤشر إلى البيانات والطول والبيانات الوصفية (PduInfoPtr) كمعاملات [SWS_CanTp_00212]. ويُبلغ الاستدعاء بالقبول الناجح عبر E_OK أو برفض الطلب عبر E_NOT_OK [SWS_CanTp_00212]. وبينما يتم تأكيد الاستدعاء بشكل متزامن، فإن تنفيذ الإرسال يكون غير متزامن [SWS_CanTp_00176] (تفسير: من المرجح أن عبارة «Synchronous» في جدول المواصفة تشير إلى استلام الطلب). سؤال Q-df438ddaa4963aba (مفتوح)
التفاعل ومعالجة PDU
في حالة وحدات N-SDU ذات البيانات الوصفية، تقوم الوحدة النمطية بحفظ معلومات العنوان (بناءً على تنسيق العنونة مثل Normal أو Extended أو Mixed 11 bit أو Normal fixed أو Mixed 29 bit) لاستخدامها مع وحدات SF- وFF- وCF-N-PDU وكذلك لتحديد وحدات FC-N-PDU [SWS_CanTp_00334]. وإذا لم يتم استخدام أي بيانات وصفية، فإن CanTp_Transmit للتحضير لـ SF- أو FF-PCI يصل فقط إلى بيان الطول SduLength ولا يستخدم مخزن بيانات N-SDU المؤقت [SWS_CanTp_00225].
معالجة الأخطاء والتزامن
- فحص الأخطاء: إذا تم تفعيل DET وكان
PduInfoPtrمؤشرNULL، فإن الدالة تبلغ عن الخطأCANTP_E_PARAM_POINTERوتعود دون اتخاذ أي إجراء آخر [SWS_CanTp_00321]. - انشغال القناة: إذا كانت القناة المخصصة في الحالة
CANTP_TX_PROCESSINGأو كانت هناك جلسة قيد التشغيل بالفعل لمعرّف N-SDU، فسيتم رفض طلب الإرسال وإرجاعE_NOT_OK[SWS_CanTp_00123]، [SWS_CanTp_00206]. - إعادة الدخول: الخدمة قابلة لإعادة الدخول (reentrant) لمعرّفات PDU المختلفة، ولكنها ليست قابلة لإعادة الدخول لنفس معرّف PDU [SWS_CanTp_00212].
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة CanTp_CancelTransmit [SWS_CanTp_00246] 📄 PDF
Std_ReturnType CanTp_CancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.
تطلب الدالة المتزامنة CanTp_CancelTransmit إلغاء إرسال PDU قيد التشغيل في وحدة اتصال تابعة [SWS_CanTp_00246] وبذلك تبدأ عملية إلغاء عملية الإرسال [SWS_CanTp_00274]. يتم تمرير مُعرِّف PDU المعنية (TxPduId) كمعامل [SWS_CanTp_00246]. كقيمة إرجاع، يشير E_OK إلى التنفيذ الناجح للإلغاء بواسطة الوحدة الهدف، في حين يشير E_NOT_OK إلى الرفض [SWS_CanTp_00246].
بعد استدعاء الدالة، يتم إلغاء الإرسال على الاتصال المعني [SWS_CanTp_00243]. وإذا تم تنفيذ الإلغاء بنجاح، فإن الوحدة CanTp تستدعي إلزامياً التأكيد PduR_CanTpTxConfirmation بالنتيجة السلبية E_NOT_OK لإبلاغ الطبقات العليا بالإلغاء [SWS_CanTp_00255].
عند تفعيل ميزة اكتشاف أخطاء التطوير (Development Error Detection)، يتحقق CanTp_CancelTransmit من صلاحية TxPduId: وفي حال وجود معلَمة غير صالحة، يتم إنشاء خطأ التطوير CANTP_E_PARAM_ID وإرجاع E_NOT_OK [SWS_CanTp_00254]. وإذا طُلب الإلغاء لوحدة N-SDU ليست قيد عملية النقل حاليًا، يُبلّغ الموديول عن خطأ وقت التشغيل CANTP_E_OPER_NOT_SUPPORTED إلى Default Error Tracer (DET) ويُرجع أيضًا E_NOT_OK [SWS_CanTp_00254].
فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول (reentrant) لمعرّفات PDU مختلفة، ولكن لا يجوز استدعاؤها بالتزامن لـ TxPduId نفسها [SWS_CanTp_00246].
تم إنشاء إشعار الاستخدام هذا تلقائيًا بناءً على مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة CanTp_CancelReceive [SWS_CanTp_00257] 📄 PDF
Std_ReturnType CanTp_CancelReceive (PduIdType RxPduId);
Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.
تُلغي الدالة CanTp_CancelReceive بشكل متزامن الاستقبال الجاري لوحدة PDU في موديول بروتوكول نقل تابع [SWS_CanTp_00257]. وهي متوفرة عبر ملف الرأس CanTp.h ولها معرّف الخدمة 0x4c [SWS_CanTp_00257].
الاستخدام وشروط الاستدعاء
يتم تمرير معرّف PDU المراد إلغاؤها عبر معلَمة الإدخال RxPduId [SWS_CanTp_00257]. وتتم معالجة الاستدعاء بشكل متزامن وهو محدد بأنه غير قابل لإعادة الدخول (Non Reentrant) [SWS_CanTp_00257]. وتُرجع الواجهة من النوع Std_ReturnType كقيمة إرجاع:
E_OK: نَفّذ الموديول الهدف الإلغاء بنجاح [SWS_CanTp_00257].E_NOT_OK: رَفَض الموديول الهدف الإلغاء [SWS_CanTp_00257].
معالجة الأخطاء
عند تفعيل ميزة اكتشاف أخطاء التطوير (Development Error Detection)، تتحقق الدالة من صحة المعلَمة RxPduId [SWS_CanTp_00260]:
- إذا كانت قيمة
RxPduIdغير صالحة، يُبلّغCanTp_CancelReceiveعن خطأ التطويرCANTP_E_PARAM_IDويُرجعE_NOT_OK[SWS_CanTp_00260]. - إذا طُلب الإلغاء لوحدة N-SDU ليست حاليًا في عملية استقبال جارية، يُبلّغ الموديول عن خطأ وقت التشغيل
CANTP_E_OPER_NOT_SUPPORTEDإلى Default Error Tracer ويُرجعE_NOT_OK[SWS_CanTp_00260].
التفاعل مع الموديولات المجاورة
إذا تم تنفيذ إلغاء الاستقبال بنجاح، يستدعي CanTp دالة الرد (callback) PduR_CanTpRxIndication بنتيجة الإشعار E_NOT_OK لإبلاغ الطبقة الأعلى بالإلغاء [SWS_CanTp_00263].
يستند إشعار الاستخدام هذا إلى مواصفة AUTOSAR Classic R20-11 وقد تم توليده تلقائيًا.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة CanTp_ChangeParameter [SWS_CanTp_00302] 📄 PDF
Std_ReturnType CanTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
Request to change a specific transport protocol parameter (e.g. block size).
تُستخدم الدالة المتزامنة CanTp_ChangeParameter لتغيير معلَمة محددة لبروتوكول النقل في وقت التشغيل، مثل حجم الكتلة ([SWS_CanTp_00302]). وتقوم الخدمة، المتوفرة عبر ملف الرأس CanTp.h، بأخذ معرّف PDU (id) ومعرّف المعلَمة (parameter) بالإضافة إلى القيمة الجديدة المراد تعيينها (value) ([SWS_CanTp_00302]). عند التنفيذ بنجاح، تُرجع الدالة E_OK؛ وإذا فشل التغيير أو رُفض، فإنها تُرجع E_NOT_OK ([SWS_CanTp_00302]).
تنطبق المتطلبات التالية فيما يتعلق بالتزامن وشروط الاستدعاء:
- الواجهة مصممة لتكون غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_CanTp_00302]).
- إذا كانت وحدة N-SDU المعنية في عملية استقبال جارية بالفعل وقت الاستدعاء، فإن
CanTp_ChangeParameterتُلغى فورًا، وتُرجعE_NOT_OKولا تُغيّر قيمة المعلَمة ([SWS_CanTp_00304]).
يوجد تفاعل خاص في حالة الاتصالات العامة (generic connections): إذا تم استدعاء الدالة لوحدة N-SDU مع MetaData، يتم تطبيق تغيير المعلَمة على جميع الاتصالات العامة واعتماده لكافة عمليات الاستقبال اللاحقة ([SWS_CanTp_00338]).
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.
سياق الاستخدام ودلالات الاستدعاء
تُعد الدالة CanTp_ChangeParameter خدمة متزامنة (Synchronous) وغير قابلة لإعادة الدخول (Non Reentrant)، وتُتاح عبر ملف الترويسة CanTp.h تحت معرّف الخدمة 0x4b [SWS_CanTp_00302]. تُستخدم هذه الوظيفة لطلب تغيير معامل تشغيلي محدد لبروتوكول النقل (مثل حجم الكتلة block size) لوحدة بيانات محددة، وتتضمن المعلمات التالية:
id(من النوعPduIdType): معرّف وحدة بيانات البروتوكول (PDU) التي يجب أن يسري عليها تغيير المعامل.parameter(من النوعTPParameterType): معرّف المعامل المراد تعديله.value(من النوعuint16): القيمة العددية الجديدة المُراد تعيينها للمعامل.
القيم المرجعة ومعالجة الأخطاء والقيود
تُرجع الدالة نوع البيانات Std_ReturnType للإشارة إلى نتيجة المعالجة؛ حيث تعيد E_OK عند نجاح تعديل المعامل، بينما تعيد E_NOT_OK في حال تم رفض طلب التغيير [SWS_CanTp_00302].
ويخضع استدعاء الخدمة لقيد زمني حاسم: إذا طُلب تغيير معامل لوحدة بيانات N-SDU وكانت هذه الوحدة قيد عملية الاستقبال بالفعل، فإن الدالة تُرجع فوراً E_NOT_OK ويتم رفض الطلب دون إجراء أي تغيير على قيمة المعامل [SWS_CanTp_00304].
الاتصالات العامة والبيانات الوصفية
عند استدعاء CanTp_ChangeParameter لوحدة N-SDU تحتوي على بيانات وصفية (MetaData)، وهو ما يشير إلى اتصال عام (generic connection)، تفرض المواصفة تطبيق التغيير على جميع الاتصالات العامة، بحيث تُعتمد القيمة الجديدة في كافة عمليات الاستقبال اللاحقة [SWS_CanTp_00338].
تم توليد هذا التوجيه آلياً استناداً إلى متطلبات مواصفة AUTOSAR CanTp المرجعية.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة CanTp_ReadParameter [SWS_CanTp_00323] 📄 PDF
Std_ReturnType CanTp_ReadParameter (PduIdType id, TPParameterType parameter, uint16* value);
This service is used to read the current value of reception parameters BS and STmin for a specified N - SDU.
الاستخدام
تُستخدم الدالة المتزامنة CanTp_ReadParameter لقراءة القيمة الحالية لمعلَمات الاستقبال BS (Block Size) أو STmin (Separation Time minimum) لوحدة N-SDU استقبال محددة [SWS_CanTp_00323]. ويكون التصريح متوفرًا عبر ملف الرأس CanTp.h [SWS_CanTp_00323].
تحتوي الواجهة على المعلمات التالية:
id(in): معرّف وحدة N-SDU المستلَمة (من النوعPduIdType) التي تُقرأ معلَمة الاستقبال الخاصة بها [SWS_CanTp_00323].parameter(in): يحدد المعلَمة المراد قراءتها (BSأوSTminمن النوعTPParameterType) [SWS_CanTp_00323].value(out): مؤشر إلىuint16يتم من خلاله توفير قيمة المعلَمة المقروءة [SWS_CanTp_00323].
تُرجع الدالة Std_ReturnType كقيمة إرجاع؛ حيث تشير E_OK إلى قبول الطلب وE_NOT_OK إلى الرفض [SWS_CanTp_00323].
معالجة الأخطاء
إذا كانت ميزة اكتشاف أخطاء التطوير (Development Error Detection) مفعلة، فإن CanTp_ReadParameter يتحقق من صلاحية المعلَمتين id وparameter [SWS_CanTp_00324]. وإذا كانت إحدى هاتين المعلَمتين غير صالحة، تُبلّغ الدالة عن خطأ التطوير CANTP_E_PARAM_ID وتُرجع E_NOT_OK [SWS_CanTp_00324].
التزامن والقيود
تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CanTp_00323]. ويجب على جهات الاستدعاء تجنب عمليات الوصول المتوازية إلى الواجهة نفسها.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على وثائق مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة CanTp_MainFunction [SWS_CanTp_00213] 📄 PDF
void CanTp_MainFunction (void);
The main function for scheduling the CAN TP.
تُستخدم الدالة CanTp_MainFunction كنقطة دخول مركزية للجدولة الدورية لبروتوكول نقل CAN (CAN TP) [SWS_CanTp_00213]، [SWS_CanTp_00164]. وهي تمتلك معرّف الخدمة 0x06، ولديها البنية void CanTp_MainFunction(void) وتكون متاحة عبر ملف الرأس SchM_CanTp.h [SWS_CanTp_00213]. وهي لا تستقبل أي معاملات ولا تقدم قيمة إرجاع [SWS_CanTp_00213].
سياق الاستدعاء والتحكم الزمني
وفقًا لمدة الدورة المطلوبة، يتم بدء الاستدعاء إما بواسطة Schedule Manager أو بواسطة الوحدة النمطية Free Running Timer [SWS_CanTp_00164]. وداخل الوحدة النمطية، تتولى CanTp_MainFunction المراقبة الزمنية والتحكم في إجراءات البروتوكول [SWS_CanTp_00164]. وتحديدًا تشارك الدالة في معالجة المؤقتات والشروط الزمنية التالية:
- مهل البروتوكول للإرسال والتأكيد:
N_AsوN_BsوN_Csبالإضافة إلىN_ArوN_BrوN_Cr[SWS_CanTp_00164]. - الالتزام بالحد الأدنى لوقت فصل الأطر
STMmin[SWS_CanTp_00164].
معالجة الأخطاء والتزامن
لم يتم تعريف رموز أخطاء محددة لـ DET أو DEM لهذه الدالة في حمولة البيانات. تفسير: كدالة جدولة يتم استدعاؤها دوريًا، من المرجح ألا تكون CanTp_MainFunction قابلة لإعادة الدخول (nicht-reentrant) وتتطلب معدل استدعاء متسق لضمان التناقص الصحيح للمؤقتات الداخلية. سؤال Q-2fe22e31085abf49 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة CanTp_RxIndication [SWS_CanTp_00214] 📄 PDF
void CanTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
الاستخدام والدلالات
تبلغ الدالة المتزامنة [SWS_CanTp_00214] وحدة نقل CAN باستلام N-PDU بواسطة وحدة واجهة اتصال تابعة. يمرر الاستدعاء معرّف PDU المستلمة (RxPduId) بالإضافة إلى الطول (SduLength)، والبيانات المفيدة (SduDataPtr)، والبيانات الوصفية المقترنة عبر المؤشر PduInfoPtr. الدالة ليس لها قيمة إرجاع.
التزامن وسياق الاستدعاء
الدالة قابلة لإعادة الدخول لمعرّفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرّف PDU [SWS_CanTp_00214]. يجوز استدعاء CanTp_RxIndication في سياق المقاطعة، على سبيل المثال مباشرةً من مقاطعة استلام CAN [SWS_CanTp_00235].
التفاعل في الاتصالات العامة
عند الاستدعاء للإطارات المفردة (SF) أو الإطارات الأولى (FF) التي تحتوي على بيانات وصفية، تحفظ CanTp معلومات العنوان المضمنة (مثل N_SA وN_TA في العنونة العادية الثابتة أو عنونة 29 بت المختلطة). تُستخدم هذه المعلومات لإنشاء الاتصال بالطبقة العليا، وإرسال إطارات التحكم في التدفق (FC)، والتعرف على الإطارات المتتالية (CF) [SWS_CanTp_00330]. في إطارات CF اللاحقة وإطارات FC المستلمة، تتحقق CanTp من بيانات العنوان للبيانات الوصفية بمطابقتها مع القيم المحفوظة [SWS_CanTp_00333]، [SWS_CanTp_00336].
معالجة الأخطاء والحشو (Padding)
إذا كان DET مفعلًا وكان PduInfoPtr مؤشرًا فارغًا NULL، فإن الدالة تبلغ عن الخطأ CANTP_E_PARAM_POINTER وتعود دون اتخاذ أي إجراء [SWS_CanTp_00322]. وإذا كان التحقق من الحشو مفعلًا للإطارات ذات الحمولة الصافية التي تصل إلى 8 بايت (CanTpRxPaddingActivation أو CanTpTxPaddingActivation تساوي CANTP_ON)، فسيتم إبلاغ DET بخطأ وقت التشغيل CANTP_E_PADDING في حالة وجود أخطاء في الطول:
- يتم رفض SF ذي
SduLength < 8[SWS_CanTp_00345]. - يؤدي آخر CF ذو
SduLength != 8إلى إلغاء الاستقبال الجاري عبرPduR_CanTpRxIndication()معE_NOT_OK[SWS_CanTp_00346]. - يؤدي FC المستلم ذو
SduLength < 8إلى إلغاء الإرسال الجاري عبرPduR_CanTpTxConfirmation()معE_NOT_OK[SWS_CanTp_00349].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل إرشادي. والمستند المرجعي الملزم هو مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة CanTp_TxConfirmation [SWS_CanTp_00215] 📄 PDF
void CanTp_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.
توفر وحدة CanTp دالة رد النداء المتزامنة CanTp_TxConfirmation (معرّف الخدمة 0x40) عبر الترويسة CanTp.h، لتلقي استدعاءات التأكيد لوحدات PDU المرسلة [SWS_CanTp_00076] [SWS_CanTp_00215]. ومن خلال هذه الواجهة، تبلغ وحدة واجهة الاتصال التابعة عن نجاح الإرسال أو فشل إرسال PDU [SWS_CanTp_00215].
المعلمات وقيم الإرجاع
الدالة لا تُرجع أي قيمة (void) وتتوقع معلمتي إدخال [SWS_CanTp_00215]:
TxPduId: معرّف PDU المنقولة [SWS_CanTp_00215].result: حالة الإرسال. تؤكد القيمةE_OKنجاح الإرسال، بينما تشيرE_NOT_OKإلى فشل إرسال PDU [SWS_CanTp_00215].
معالجة الأخطاء
إذا تم استدعاء CanTp_TxConfirmation مع قيمة النتيجة E_NOT_OK، فإن وحدة CanTp تلغي جلسة الإرسال المقترنة [SWS_CanTp_00355].
التزامن وسياق التنفيذ
فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول لمعرّفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرّف PDU [SWS_CanTp_00215]. ويجب أن تكون قابلة للاستدعاء في سياق المقاطعة، ويجوز استدعاؤها على سبيل المثال مباشرةً من مقاطعة إرسال CAN [SWS_CanTp_00236].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
نوع CanTp_ConfigType [SWS_CanTp_00340] 📄 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_CanTp- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_CanTp@rel:R20-11#700f4323- Content hash
700f4323- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANTransportLayer.pdf#nameddest=SWS_CanTp_00208
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني