Ethernet Driver (Eth)
Provides uniform hardware access to Ethernet controller interfaces.
Funktionen — Übersicht
void Eth_Init (const Eth_ConfigType* CfgPtr);Initializes the Ethernet DriverStd_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / disables the indexed controller Tags: atp.Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the state of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the communication state of the indexed controller Tags: atp.void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);Obtains the physical source address used by the indexed controllervoid Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);Sets the physical source address used by the indexed controllerStd_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);Update the physica l source address to/ from the indexed controller filter.Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);Configures a transceiver register or triggers a function offered by the receiverStd_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);Reads a transceiver registerStd_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);Reads a list with drop counter values of the corresponding controller.Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible...Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values...Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Returns a time value out of the HW registers according to the capability of the HW.void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);Activat es egress time stamping on a dedicated message object.Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Reads back the egress time stamp on a dedicated message object.Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Reads back the ingress time stamp on a dedicated message object.BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);Provides access to a transmit buffer of the FIFO related to the specified priorityStd_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);Triggers transmission of a previously filled transmit buffervoid Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);Receive a frame from the related fifo.void Eth_TxConfirmation (uint8 CtrlIdx);Triggers frame transmission confirmationvoid Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns the version information of this modulevoid Eth_MainFunction (void);The function checks for controller errors and lost frames.
Typen — Übersicht
struct Eth_ConfigTypeImplementation specific structure of the post build configurationenum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet communication stack (e.enum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet commun ication stack (e.enum Eth_StateTypeStatus supervision used for Development Error Detection.Eth_FrameTypeThis type defines the Ethernet frame type used in the Ethernet frame headerEth_DataTypeThis type defines the Ethernet data type used for data transmission.Eth_BufIdxTypeEthernet buffer identifier type.enum Eth_RxStatusTypeUsed as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are...enum Eth_FilterActionTypeThe Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.Eth_TimeStampQualTypeDepending on the HW, quality information regarding the evaluated time stamp might be supported.Eth_TimeStampTypeVariables of this type are used for expressing time stamps including relative time and absolute calendar time.Eth_TimeIntDiffTypeVariables of this type are used to express time differences.Eth_RateRatioTypeVariables of this type are used to express frequency ratios.struct Eth_MacVlanTypeThis type is used to read out addresses from the address resolution logic (A RL) table of the switch.Eth_CounterTypeType Eth_CounterType.Eth_RxStatsTypeType Eth_RxStatsType.Eth_TxStatsTypeStatistic counter for diag nostics.Eth_TxErrorCounterValuesTypeType Eth_TxErrorCounterValuesType.
Funktionen & Typen — Detailansicht
دالة Eth_Init [SWS_Eth_00027] 📄 PDF
void Eth_Init (const Eth_ConfigType* CfgPtr);
Initializes the Ethernet Driver
تُستخدم الدالة Eth_Init لتهيئة برنامج تشغيل Ethernet [SWS_Eth_00027]. ويتم التصريح عنها عبر ملف الرأس Eth.h، وتملك معرّف الخدمة 0x01، وليس لها قيمة إرجاع (void) [SWS_Eth_00027]. وتتوقع كمعامل دخل CfgPtr، والذي يشير إلى بنية تكوين خاصة بالتنفيذ من النوع Eth_ConfigType [SWS_Eth_00027]. يتم الاستدعاء بشكل متزامن، ويُعرَّف بأنه غير متكرر الدخول (Non Reentrant) [SWS_Eth_00027].
في تسلسل التشغيل، يشكّل Eth_Init الشرط المسبق الأساسي للعمل مع الوحدة النمطية. وتتطلب جميع الدوال الأخرى بصورة إلزامية تهيئة مسبقة لوحدة التحكم بواسطة Eth_Init [SWS_Eth_00070]، [SWS_Eth_00167]، [SWS_Eth_00185]. وقد تم النص على هذه التبعية بشكل ملزم لمختلف خدمات وحدة التحكم الخاصة ببرنامج التشغيل [SWS_Eth_00189]، [SWS_Eth_00194]، [SWS_Eth_00199]، [SWS_Eth_00232].
في حالة حدوث وصول غير مهيأ، يتم توفير معالجة مستهدفة للأخطاء: عند تفعيل اكتشاف أخطاء التطوير (Development Error Detection, DET)، تتحقق دوال برنامج التشغيل مما إذا كانت الخدمة Eth_Init قد تم استدعاؤها مسبقًا بشكل صحيح [SWS_Eth_00066]. وإذا لم ينجح هذا التحقق، فإنها تطلق خطأ التطوير ETH_E_UNINIT [SWS_Eth_00164]، [SWS_Eth_00182]، [SWS_Eth_00187]، [SWS_Eth_00196]. أما إذا كان DET معطلاً، فإن الدوال المتأثرة ترفض التنفيذ وتشير إلى الحالة غير المسموح بها عن طريق إرجاع الحالة E_NOT_OK [SWS_Eth_00228]، [SWS_Eth_00235]، [SWS_Eth_00248]، [SWS_Eth_00252].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF
Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);
Enables / disables the indexed controller Tags: atp.Status=obsolete
تُستخدم الدالة Eth_SetControllerMode لتفعيل (ETH_MODE_ACTIVE) أو تعطيل (ETH_MODE_DOWN) وحدة تحكم Ethernet المعنونة عبر المعامل CtrlIdx [SWS_Eth_00041]. وفي AUTOSAR Classic R20-11، صُنفت هذه الخدمة على أنها مهملة (obsolete) [SWS_Eth_00041].
تنفيذ الخدمة غير متزامن وغير قابل لإعادة الدخول (Non Reentrant) [SWS_Eth_00041]. وتُعيد الدالة E_OK كقيمة إرجاع عند بدء التشغيل بنجاح أو E_NOT_OK إذا تعذر تبديل وضع التشغيل [SWS_Eth_00041]. تفسير: نظرًا لتحديد الاستدعاء على أنه غير متزامن دون تعريف رد اتصال (callback) في حمولة البيانات، فمن المحتمل أن يكتمل اعتماد الحالة الفعلي قريبًا من العتاد في خلفية المشغل بعد عودة الدالة. سؤال Q-d7ec04578e921eb9 (مفتوح)
إذا تم تعطيل وحدة التحكم أو اتصالات الإرسال والاستقبال الخاصة بها عبر Eth_SetControllerMode، تُطبّق عمليات إلزامية لتنظيف المخزن المؤقت:
- يجب تحرير جميع مخازن الإرسال المؤقتة المقفلة (locked transmit buffers) [SWS_Eth_00137] [SWS_Eth_00280].
- يجب أيضًا تحرير جميع مخازن الإرسال المؤقتة المعلقة (pending transmit buffers) [SWS_Eth_00138] [SWS_Eth_00281].
بسبب الخاصية Non Reentrant، لا يجوز تنفيذ الدالة بشكل متزامن لنفس مثيل وحدة التحكم أو لمثيلات أخرى [SWS_Eth_00041]. ولم يتم سرد رسائل خطأ محددة لـ DET أو DEM؛ ويتم إبلاغ المستدعي بحالات الخطأ عبر قيمة الإرجاع E_NOT_OK [SWS_Eth_00041].
تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى بيانات المواصفة الخاصة بـ AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Eth_SetControllerMode [SWS_Eth_91009] 📄 PDF
Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);
Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Status=draft
تُستخدم الدالة Eth_SetControllerMode (معرّف الخدمة Service-ID 0x03، المقدمة عبر Eth.h) لتفعيل وإلغاء تفعيل اتصال الاستقبال والإرسال (Rx/Tx) لوحدة تحكم Ethernet محددة [SWS_Eth_91009].
الاستخدام وشروط الاستدعاء
يتم تنفيذ الدالة بشكل غير متزامن ومحددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Eth_91009]. عند الاستدعاء، يتم تمرير معلمتين:
CtrlIdx: فهرس وحدة التحكم المعنية في سياق برنامج تشغيل Ethernet [SWS_Eth_91009].CtrlMode: الوضع المستهدف لوحدة التحكم، إماETH_MODE_ACTIVEلتفعيل اتصال Rx/Tx أوETH_MODE_DOWNلإلغاء تفعيله [SWS_Eth_91009].
كقيمة إرجاع، تُرجع الدالة الحالة Std_ReturnType: يشير E_OK إلى تنفيذ ناجح، بينما يشير E_NOT_OK إلى أنه تعذر تغيير وضع وحدة التحكم [SWS_Eth_91009].
التفاعل وإدارة المخازن المؤقتة
إذا تم إلغاء تفعيل اتصال Rx/Tx لوحدة التحكم المفهرسة عبر Eth_SetControllerMode (الوضع ETH_MODE_DOWN)، فيجب حتمًا تنفيذ إجراءات تنظيف لمخازن الإرسال المؤقتة:
- يجب تحرير جميع مخازن الإرسال المؤقتة المقفلة (locked transmit buffers) [SWS_Eth_00280].
- يجب أيضًا تحرير جميع مخازن الإرسال المؤقتة المعلقة (pending transmit buffers) [SWS_Eth_00281].
الأحكام الحالية لتحرير المخازن المؤقتة المقفلة والمعلقة بالإضافة إلى تعريف الدالة نفسه تحمل الحالة «draft» [SWS_Eth_91009]، [SWS_Eth_00280]، [SWS_Eth_00281]. وهي تحل محل المتطلبات السابقة تاريخيًا [SWS_Eth_00137] و[SWS_Eth_00138]، والتي تم تصنيفها على أنها مهملة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Eth_GetControllerMode [SWS_Eth_00046] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the state of the indexed controller Tags: atp.Status=obsolete
دالة Eth_GetControllerMode [SWS_Eth_91010] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the communication state of the indexed controller Tags: atp.Status=draft
دالة Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF
void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);
Obtains the physical source address used by the indexed controller
دالة Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF
void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);
Sets the physical source address used by the indexed controller
دالة Eth_UpdatePhysAddrFilter [SWS_Eth_00152] 📄 PDF
Std_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);
Update the physica l source address to/ from the indexed controller filter. If the Ethernet Controller is not capable to do the filtering, the software has to do this.
يتم توفير الواجهة المتزامنة Eth_UpdatePhysAddrFilter عبر ملف الرأس Eth.h، وتملك معرّف الخدمة 0x12 [SWS_Eth_00152]. تُستخدم الدالة لإضافة عنوان فعلي إلى مرشح وحدة تحكم Ethernet مفهرسة أو لإزالته منه [SWS_Eth_00152].
تتضمن معاملات الدالة ثلاث قيم دخل [SWS_Eth_00152]:
CtrlIdx: يحدد فهرس وحدة تحكم Ethernet المعنية داخل سياق برنامج التشغيل [SWS_Eth_00152].PhysAddrPtr: مؤشر إلى نطاق الذاكرة الذي يحتوي على العنوان الفعلي للوجهة (عنوان MAC) بترتيب بايتات الشبكة؛ وهو عنوان وجهة البث المتعدد لحزمة Ethernet من الطبقة 2 (Layer 2) [SWS_Eth_00152].Action: يحدد عبر نوع التعدادEth_FilterActionTypeما إذا كان سيتم إضافة العنوان المحدد إلى مرشح وحدة التحكم أو حذفه منه [SWS_Eth_00152].
تعيد الدالة حالة من النوع Std_ReturnType: يؤكد E_OK تعديل المرشح بنجاح، بينما يفيد E_NOT_OK بتعذر تعديل المرشح [SWS_Eth_00152]. وإذا لم تكن وحدة تحكم Ethernet قادرة من ناحية العتاد على إجراء التصفية بشكل مستقل، فيجب تنفيذ مهمة التصفية عبر البرمجيات [SWS_Eth_00152].
يسري قيد صارم على تكرار الدخول أثناء التنفيذ: الدالة غير متكررة الدخول لنفس فهرس وحدة التحكم (CtrlIdx)، ولكن يجوز استدعاؤها بالتوازي وبشكل متكرر الدخول لفهارس وحدات تحكم مختلفة [SWS_Eth_00152].
تم إنشاء ملاحظة الاستخدام هذه بواسطة نظام ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_WriteMii [SWS_Eth_00058] 📄 PDF
Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);
Configures a transceiver register or triggers a function offered by the receiver
تُستخدم الدالة Eth_WriteMii لتهيئة سجل خاص بجهاز إرسال واستقبال Ethernet عبر واجهة MII، أو لتشغيل دالة يوفرها جهاز الإرسال والاستقبال [SWS_Eth_00058]. التصريح متاح عبر ملف الرأس Eth.h [SWS_Eth_00058].
الاستخدام والمعلمات
يتم الاستدعاء باستخدام معرّف الخدمة 0x05 ويعالج أربعة معاملات دخل [SWS_Eth_00058]:
CtrlIdx: فهرس وحدة تحكم إيثرنت في سياق برنامج تشغيل إيثرنت [SWS_Eth_00058].TrcvIdx: فهرس جهاز الإرسال والاستقبال على واجهة MII [SWS_Eth_00058].RegIdx: فهرس سجل جهاز الإرسال والاستقبال المراد الكتابة فيه على MII [SWS_Eth_00058].RegVal: القيمة بحجم 16 بت المراد كتابتها في السجل المعنون [SWS_Eth_00058].
تم تحديد تنفيذ الخدمة على أنه غير متزامن [SWS_Eth_00058]. وهذا يعني أنه يُرجح عادةً معالجة عملية الكتابة الفعلية عبر واجهة العتاد في الخلفية، بينما تعود الدالة مباشرةً بعد قبول الطلب. سؤال Q-0f9a9e682985d796 (مفتوح)
القيم المرجعة والقيود
كقيمة إرجاع، تقدم الدالة النوع Std_ReturnType [SWS_Eth_00058]:
E_OK: تم قبول أمر الكتابة بنجاح [SWS_Eth_00058].E_NOT_OK: تم رفض الخدمة [SWS_Eth_00058].
فيما يتعلق بالتزامن، تم تحديد Eth_WriteMii على أنها غير متكررة الدخول (Non Reentrant) [SWS_Eth_00058]. لذلك، لا يجوز تنفيذ الاستدعاءات بشكل متزامن دون مزامنة ملائمة من قِبل المتصل.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_ReadMii [SWS_Eth_00064] 📄 PDF
Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);
Reads a transceiver register
الاستخدام والمعلمات
تُستخدم الدالة Eth_ReadMii (معرف الخدمة 0x06) لقراءة سجل جهاز الإرسال والاستقبال عبر واجهة MII وتتوفر عبر ملف الرأس Eth.h [SWS_Eth_00064]. عند الاستدعاء، يحدد CtrlIdx وحدة تحكم Ethernet المعنية في سياق المشغل، وTrcvIdx جهاز الإرسال والاستقبال المعني على MII، وRegIdx سجل جهاز الإرسال والاستقبال المحدد [SWS_Eth_00064]. وتُكتب قيمة السجل المحددة في مساحة الذاكرة التي يشير إليها المؤشر RegValPtr [SWS_Eth_00064].
التنفيذ والتزامن
يتم التنفيذ بشكل غير متزامن (Asynchronous) [SWS_Eth_00064]. وتؤكد قيمة الإرجاع E_OK فقط أنه تم قبول الخدمة أو طلب القراءة بنجاح (Service accepted)، بينما تشير E_NOT_OK إلى رفض الطلب (Service denied) [SWS_Eth_00064]. وبسبب الطبيعة غير المتزامنة، فمن المحتمل أن يلزم بقاء مساحة الذاكرة الممررة لـ RegValPtr صالحة حتى اكتمال عملية القراءة نهائيًا. سؤال Q-04a94624b96bf51f (مفتوح) ونظرًا لتصنيف الدالة أيضًا على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Eth_00064]، فلا يجوز للمستدعين إجراء عمليات وصول متزامنة عبر مهام أو سياقات مقاطعة مختلفة دون مزامنة خارجية.
معالجة الأخطاء
إذا لم يتمكن المشغل من قبول طلب القراءة، يتم تأكيد الاستدعاء مباشرة بـ E_NOT_OK [SWS_Eth_00064]. لم يتم تحديد رموز أخطاء معينة، أو فحوصات وقت التشغيل لـ DET، أو أحداث تشخيص DEM لهذه الدالة في بيانات المواصفات المتعلقة بالعنصر.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_GetCounterValues [SWS_Eth_00226] 📄 PDF
Std_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);
Reads a list with drop counter values of the corresponding controller. The meaning of these values is described at Eth_ Counter Type.
دالة Eth_GetRxStats [SWS_Eth_00233] 📄 PDF
Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);
Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. ether Stats Drop Events 2. ether Stats Octets 3. ether Stats Pkts 4. ether Stats Broadcast Pkts 5. ether Stats Multicast Pkts 6. ether Stats Crc Al ign Errors 7. ether Stats Undersize Pkts 8. ether Stats Oversize Pkts 9. ether Stats Fragments 10. ether Stats Jabbers 11. ether Stats Collisions 12. ether Stats Pkts64Octets 13. ether Stats Pkts65to127Octets 14. ether Stats Pkts128to255Octets 15. ether St ats Pkts256to511Octets 16. ether Stats Pkts512to1023Octets 17. ether
دالة Eth_GetTxStats [SWS_Eth_91005] 📄 PDF
Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);
Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.
دالة Eth_GetTxErrorCounterValues [SWS_Eth_91006] 📄 PDF
Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);
Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.
دالة Eth_GetCurrentTime [SWS_Eth_00181] 📄 PDF
Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);
Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, than an the remainin g bits will be filled with 0. Important Note: Eth_ Get Current Time may be called within an exclusive area.
دالة Eth_EnableEgressTimeStamp [SWS_Eth_00186] 📄 PDF
void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);
Activat es egress time stamping on a dedicated message object. Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no "disable" functionality, due to the fact, that the message type is always "time st amped" by network design.
تفعّل الدالة المتزامنة Eth_EnableEgressTimeStamp تسجيل الطوابع الزمنية للإرسال (Egress Time Stamping) لكائن رسالة مخصص لبرنامج تشغيل Ethernet [SWS_Eth_00186]. يتم الاستدعاء عبر ملف الرأس Eth.h بمعرّف الخدمة 0x17، ولا تعيد أي قيمة إرجاع [SWS_Eth_00186].
عند الاستدعاء، يجب تمرير معاملات الدخل التالية [SWS_Eth_00186]:
CtrlIdx: فهرس وحدة تحكم Ethernet المعنونة [SWS_Eth_00186].BufIdx: فهرس مخزن الرسائل المؤقت الذي يتوقع التطبيق الأعلى إنشاء طابع زمني للخروج (Egress) له [SWS_Eth_00186].
فيما يتعلق بالتزامن، تم تحديد الدالة على أنها غير متكررة الدخول (Non Reentrant) [SWS_Eth_00186]. لذلك، يجب مزامنة الاستدعاء المتوازي لنفس المخزن المؤقت أو لمخازن مؤقتة أخرى، أو تجنبه من جانب المتصل.
يختلف سلوك العتاد باختلاف تنفيذ وحدة التحكم: تقوم بعض المكونات العتادية بحفظ علامة الطابع الزمني للإرسال بشكل دائم، بينما تطلب وحدات تحكم أخرى تفعيلها بصورة إلزامية قبل كل عملية إرسال [SWS_Eth_00186]. التفسير: للتحكم المستقل عن العتاد، قد يُنصح باستدعاء الدالة قبل كل عملية إرسال للمخزن المؤقت المطلوب. سؤال Q-c2b8d2db03e9d13b (مفتوح) ولا توجد واجهة لتعطيل ذلك، نظرًا لأنه يتم دائمًا إرسال نوع الرسالة بطابع زمني وفقًا لتصميم الشبكة [SWS_Eth_00186].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دالة Eth_GetEgressTimeStamp [SWS_Eth_00190] 📄 PDF
Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);
Reads back the egress time stamp on a dedicated message object. It must be called within the Tx Confirmation() function.
دالة Eth_GetIngressTimeStamp [SWS_Eth_00195] 📄 PDF
Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);
Reads back the ingress time stamp on a dedicated message object. It must be called within the Rx Indication() function.
دالة Eth_ProvideTxBuffer [SWS_Eth_00077] 📄 PDF
BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);
Provides access to a transmit buffer of the FIFO related to the specified priority
الاستخدام
تمنح الدالة المتزامنة Eth_ProvideTxBuffer إمكانية الوصول إلى مخزن إرسال مؤقت لـ Ethernet خاص بـ FIFO المخصص للأولوية الممررة [SWS_Eth_00077]. ويتم توفيرها عبر ملف الرأس Eth.h، وتُحدد على أنها متكررة الدخول [SWS_Eth_00077]. ويتم عبر معاملات الدخل تمرير فهرس وحدة التحكم CtrlIdx وكذلك أولوية الإطار Priority لتحديد FIFO [SWS_Eth_00077]. ويمرر معامل الدخل/الخرج LenBytePtr حجم المخزن المؤقت المطلوب، ويعيد بعد الاستدعاء حجم البايتات الممنوح فعليًا [SWS_Eth_00077]. وتوفر معامِلات الخرج BufIdxPtr (فهرس المورد للطلبات اللاحقة) وBufPtr (مؤشر إلى المخزن المؤقت) مراجع إلى نطاق الذاكرة [SWS_Eth_00077].
معالجة الأخطاء وقيم الإرجاع
تشير الدالة إلى النتيجة عبر قيم إرجاع من النوع BufReq_ReturnType [SWS_Eth_00077]:
BUFREQ_OK: تم توفير مخزن الإرسال المؤقت بنجاح [SWS_Eth_00077].BUFREQ_E_BUSY: جميع موارد المخزن المؤقت مشغولة حاليًا [SWS_Eth_00077].BUFREQ_E_OVFL: المخزن المؤقت المطلوب كبير جدًا [SWS_Eth_00077].BUFREQ_E_NOT_OK: تم اكتشاف خطأ في التطوير [SWS_Eth_00077].
تفاعل
إذا تم تكوين EthCtrlConfigSwBufferHandling على TRUE، فسيتم تخزين صف يحتوي على فهرس المخزن المؤقت لمجمع المخازن المؤقتة البرمجية الممرر إلى BufIdxPtr والأولوية المحددة Priority داخليًا [SWS_Eth_00267].
إذا تم استدعاء Eth_Transmit() بعد ذلك، فسيتم تعيين فهرس المخزن المؤقت المحدد إلى Software-FIFO الذي يتطابق تكوينه EthCtrlConfigEgressFifoPriorityAssignment مع الأولوية التي تم تمريرها سابقًا في Eth_ProvideTxBuffer() [SWS_Eth_00268].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_Transmit [SWS_Eth_00087] 📄 PDF
Std_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);
Triggers transmission of a previously filled transmit buffer
الاستخدام وسياق الاستدعاء
تطلق الواجهة المتزامنة Eth_Transmit عملية الإرسال لمخزن إرسال مؤقت لـ Ethernet تم توفيره وتعبئته مسبقًا [SWS_Eth_00087]. وهي تستقبل المعاملات التالية:
CtrlIdx: فهرس وحدة تحكم Ethernet في سياق برنامج التشغيل [SWS_Eth_00087].BufIdx: فهرس مورد المخزن المؤقت المراد نقله [SWS_Eth_00087].FrameType: نوع إطار Ethernet محدد [SWS_Eth_00087].TxConfirmation: مفتاح تبديل لتفعيل تأكيد الإرسال [SWS_Eth_00087].LenByte: طول بيانات الحمولة بالبايت [SWS_Eth_00087].PhysAddrPtr: مؤشر إلى العنوان الفعلي للوجهة (عنوان MAC) بترتيب بايتات الشبكة [SWS_Eth_00087].
تشير قيمة الإرجاع من النوع Std_ReturnType باستخدام E_OK إلى بدء النقل بنجاح، وباستخدام E_NOT_OK إلى حدوث فشل [SWS_Eth_00087].
التفاعل ومعالجة المخزن المؤقت
في إطار تسلسل الإرسال، تقوم Eth_Transmit بتعيين مؤشر المخزن المؤقت BufIdx إلى Software-FIFO الذي يتطابق عنصر تكوينه EthCtrlConfigEgressFifoPriorityAssignment مع الأولوية المحددة مسبقًا عند Eth_ProvideTxBuffer() [SWS_Eth_00268]. ومع هذا الاستدعاء، يتم نقل الرسائل المقابلة من Software-FIFOs إلى Hardware-FIFO [SWS_Eth_00269].
التزامن
الدالة متكررة الدخول للاستدعاءات التي تستخدم فهارس مخازن مؤقتة مختلفة (BufIdx) وكذلك فهارس وحدات تحكم مختلفة (CtrlIdx) [SWS_Eth_00087].
تم إنشاء ملاحظة الاستخدام هذه آلياً بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Eth_Receive [SWS_Eth_00095] 📄 PDF
void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);
Receive a frame from the related fifo.
تُستخدم الدالة المتزامنة Eth_Receive لاستقبال إطار Ethernet من مخزن مؤقت محدد لـ FIFO تابع لوحدة تحكم Ethernet [SWS_Eth_00095]. ليس لها قيمة إرجاع، ولكنها تعيد نتيجة الاستعلام عبر المؤشر RxStatusPtr من النوع Eth_RxStatusType إلى المتصل [SWS_Eth_00095]. يوضح معامل الخرج هذا ما إذا كان قد تم استلام إطار بنجاح، وما إذا كانت هناك إطارات إضافية جاهزة للاستلام في المخزن المؤقت لـ FIFO المعني [SWS_Eth_00095].
المعلمات وسياق الاستدعاء
تتطلب الدالة كمعاملات دخل فهرس وحدة التحكم CtrlIdx داخل برنامج تشغيل Ethernet، بالإضافة إلى فهرس FifoIdx الخاص بـ FIFO المراد قراءته [SWS_Eth_00095]. تم التصريح عن الدالة في ملف الرأس Eth.h [SWS_Eth_00095]. ويُرجح عادةً أن يتم الاستدعاء بصورة دورية في إطار آلية استطلاع (Polling) بواسطة طبقات برامج التشغيل أو الواجهات الأعلى. سؤال Q-f5ec0693a5887bcf (مفتوح)
التزامن والقيود
فيما يتعلق بالتزامن، تم تنفيذ Eth_Receive لتكون متكررة الدخول لـ FIFOs المختلفة، ولكنها غير متكررة الدخول لنفس FIFO [SWS_Eth_00095]. الاستدعاءات المتزامنة التي تستعلم عن نفس FIFO لنفس وحدة التحكم غير مسموح بها، ويجب استبعادها بواسطة البرنامج المتصل.
التفاعل مع واجهة Ethernet
في وضع الاستطلاع (Polling)، يلتزم برنامج تشغيل Ethernet، عند نجاح عملية الاستقبال، باستدعاء الدالة EthIf_RxIndication مباشرةً من الروتين Eth_Receive، وذلك لإبلاغ الطبقة العليا بالإطار المستلم لمزيد من المعالجة [SWS_Eth_00244].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF
void Eth_TxConfirmation (uint8 CtrlIdx);
Triggers frame transmission confirmation
الاستخدام وسياق الاستدعاء
تُستخدم الدالة Eth_TxConfirmation المتاحة عبر ملف الرأس Eth.h لإطلاق تأكيد الإرسال لإطارات Ethernet المرسلة بشكل مستهدف [SWS_Eth_00100]. ولها معرف الخدمة 0x0C ويتم تنفيذها بشكل متزامن [SWS_Eth_00100]. وتتوقع الدالة معامل تمرير وحيد هو CtrlIdx، الذي يحدد الفهرس المنطقي لوحدة التحكم المراد مخاطبتها داخل مثيل مشغل Ethernet [SWS_Eth_00100]. ولا توجد قيمة إرجاع (void)، ولا يتم تمرير أي معاملات إخراج [SWS_Eth_00100].
التفاعل في تسلسل الإرسال
في تفاعل الطبقات، يتولى Eth_TxConfirmation تمرير حالة الإرسال إلى واجهة Ethernet العليا. وإذا تم تفعيل الإخطار المقابل، يلتزم مشغل Ethernet باستدعاء EthIf_TxConfirmation مع قيمة النتيجة E_OK للإشارة إلى إرسال ناجح [SWS_Eth_00243]. في وضع الاستعلام (polling mode)، يتم هذا الاستدعاء صراحة من سياق الروتين Eth_TxConfirmation، بينما في الوضع الموجه بالمقاطعة يتم إصداره كبديل مباشرة من روتين المقاطعة [SWS_Eth_00243].
التزامن وشروط التنفيذ
بالنسبة للتنفيذ، يسري القيد المتمثل في أن Eth_TxConfirmation معرفة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Eth_00100]. لذلك يجب منع الاستدعاءات المتزامنة لنفس وحدة التحكم بواسطة الجهة المستدعية. ويُرجح أن يتم الاستدعاء في وضع الاستعلام دوريًا عادةً عبر آلية تحكم في التسلسل عليا. سؤال Q-c19295838459b689 (مفتوح) لم يتم تحديد رموز أخطاء معينة أو متطلبات لرسائل DET أو DEM في مواصفات الدالة، ولهذا السبب لا توجد معالجة منفصلة للأخطاء.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتظل المواصفة المرجعية هي الأساس المعتمد.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Eth_GetVersionInfo [SWS_Eth_00106] 📄 PDF
void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns the version information of this module
دالة Eth_MainFunction [SWS_Eth_00171] 📄 PDF
void Eth_MainFunction (void);
The function checks for controller errors and lost frames. Used for polling state changes. Calls Eth If_ Ctrl Mode Indication when the controller mode changed.
الاستخدام وسياق الاستدعاء
تمتلك الدالة Eth_MainFunction التوقيع void Eth_MainFunction(void) ويتم توفيرها عبر ملف الترويسة SchM_Eth.h [SWS_Eth_00171]. يمكن استنتاج ما يلي من ذلك: يُرجّح أن يتم الاستدعاء دوريًا بواسطة Schedule Manager (SchM) في سياق قائم على المهام، نظراً لعدم تحديد معلمات تمرير أو قيم إرجاع. سؤال Q-690a2dc372d49c6a (مفتوح)
نطاق الوظائف والاستقصاء الدوري (Polling)
تتمثل المهمة الرئيسية للدالة في الاستقصاء الدوري لتغيرات الحالة بالإضافة إلى التحقق من أخطاء وحدة التحكم وإطارات Ethernet المفقودة [SWS_Eth_00171]. إذا تبين للدالة أن وضع وحدة تحكم Ethernet قد تغير، فإنها تستدعي الدالة EthIf_CtrlModeIndication لإبلاغ الطبقة العليا بتغير الحالة [SWS_Eth_00171].
ترتيب المعالجة في مسار الإرسال
في سياق Eth_MainFunction()، تم تحديد ترتيب ثابت لمعالجة برمجيات FIFO (Software-FIFOs) [SWS_Eth_00270]:
- أولاً، يتم التكرار عبر جميع SW-FIFOs وتحديث حسابات الرصيد الخاصة بها (Credits Account) [SWS_Eth_00270].
- بعد ذلك، يتم التكرار عبر جميع SW-FIFOs مجددًا والتحقق من وجود رسائل جاهزة للإرسال [SWS_Eth_00270].
- لكل SW-FIFO تم التكرار عبره، يتم بعد ذلك إجراء محاولة الإرسال [SWS_Eth_00270].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
نوع Eth_ConfigType [SWS_Eth_00156] 📄 PDF
Implementation specific structure of the post build configuration
نوع Eth_ModeType [SWS_Eth_00158] 📄 PDF
This is an generic type and used in the layers of the Ethernet communication stack (e.g. EthIf, Eth, EthSwt, EthTrcv) to enable and disable, resp ectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and power on mode, respectively. Tags: atp.Status=obsolete
يُستخدم نوع التعداد العام Eth_ModeType في طبقات حزمة اتصالات Ethernet (مثل EthIf وEth وEthSwt وEthTrcv) لتفعيل قناة اتصالات Ethernet أو إلغاء تفعيلها، بالإضافة إلى وضع العتاديات التابعة لها (مثل وحدة تحكم Ethernet أو منفذ مبدل Ethernet أو جهاز إرسال واستقبال Ethernet) في وضع سكون موفر للطاقة أو وضع نشط [SWS_Eth_00158].
يتوفر النوع عبر ملف الرأس Eth_GeneralTypes.h ويحدد نطاقات القيم التالية [SWS_Eth_00158]:
ETH_MODE_DOWN(0x00): يلغي تفعيل قناة اتصالات Ethernet ويضع العتاديات التابعة لها في وضع سكون موفر للطاقة (Low-Power Sleep Mode) [SWS_Eth_00158].ETH_MODE_ACTIVE(0x01): يفعّل قناة اتصالات Ethernet ويضع العتاديات في وضع التشغيل (Power-On Mode) [SWS_Eth_00158].
فيما يتعلق بدورة الحياة والاستخدام، تجدر الإشارة إلى أن Eth_ModeType تم تمييزه في الإصدار R20-11 بالحالة obsolete [SWS_Eth_00158]. لذلك ينبغي تجنب استخدام هذا النوع في التطويرات الجديدة، حيث تُستبدل أنواع الواجهات القديمة في المعايير المستقبلية عادةً بهياكل تحكم أكثر حداثة.
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية. وتشير مراجع المواصفات حصريًا إلى سياق المتطلبات المقدم.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Eth_ModeType [SWS_Eth_91008] 📄 PDF
This is an generic type and used in the layers of the Ethernet commun ication stack (e.g. Eth If, Eth, Eth Swt, Eth Trcv) to enable and disable, respectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and po wer on mode, respectively. The type also support to transfer a wake - up request from the services layer (Com M) to the communication drivers (Eth Trcv). This could be used e.g. for Ethernet hardware that has the capability to wake - up and sleep on data line (see OA TC10) Tags: atp.Status=draft
يتم التصريح عن نوع التعداد Eth_ModeType عبر Eth_GeneralTypes.h، ويُستخدم كنوع نمط مشترك عبر الطبقات في حزمة بروتوكولات اتصال AUTOSAR Ethernet ([SWS_Eth_91008]). ويُستخدم في وحدات نمطية مثل EthIf وEth وEthSwt وEthTrcv لتنشيط قنوات الاتصال أو تعطيلها بشكل هادف، وللتبديل بين وضع سكون موفر للطاقة ووضع التشغيل النشط لمكون العتاد المقابل (وحدة تحكم Ethernet، أو منافذ المحول، أو أجهزة الإرسال والاستقبال) ([SWS_Eth_91008]).
يتضمن النوع ثلاث حالات للتحكم في النمط ([SWS_Eth_91008]):
ETH_MODE_DOWN(0x00): يعطل اتصالات Rx وTx، ويضع العتاد المقابل في وضع السكون منخفض الطاقة (Low-Power-Sleep). وإذا كان العتاد يدعم ذلك، فسيتم أيضًا بدء عملية سكون في نفس الوقت (على سبيل المثال، طلب Sleep على خط البيانات وفقًا لـ OPEN Alliance TC10).ETH_MODE_ACTIVE(0x01): يُفعل اتصالات Rx وTx وينقل العتاد المقترن به إلى وضع التشغيل العادي (Power-on).ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST(0x02): يُفعل اتصالات Rx وTx، ويضع العتاد في وضع التشغيل، كما يُطلق طلب إيقاظ على الشبكة إذا كان العتاد يدعم إمكانات الإيقاظ (مثل Wake-up عبر خط البيانات وفقاً للمواصفة OPEN Alliance TC10).
في إطار التفاعل داخل الحزمة البرمجية، يدعم Eth_ModeType بشكل خاص تمرير طلبات الإيقاظ من طبقة الخدمات (ComM) عبر الطبقات الوسيطة وصولاً إلى برامج تشغيل الاتصال (EthTrcv)، مما يتيح التحكم بالعتاد المزود بوظائف Wake-up وSleep عبر خط البيانات وفقاً للحاجة ([SWS_Eth_91008]).
تم إنشاء ملاحظة الاستخدام هذه تلقائياً بالاستناد إلى المواصفة SWS_Eth_91008.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Eth_StateType [SWS_Eth_00159] 📄 PDF
Status supervision used for Development Error Detection. The state shall be available for debugging.
يُتاح نوع التعداد Eth_StateType عبر ملف الرأس Eth_GeneralTypes.h ويُستخدم وفقًا لـ [SWS_Eth_00159] لمراقبة حالة مشغل Ethernet. ويتمثل غرضه في دعم اكتشاف أخطاء التطوير (Development Error Detection)، حيث يجب أن تكون الحالة الحالية متاحة لأغراض تصحيح الأخطاء وفقًا للمواصفات ([SWS_Eth_00159]).
لإدارة الحالة، يحدد Eth_StateType قيمتي تعداد منفصلتين ([SWS_Eth_00159]):
ETH_STATE_UNINIT(القيمة0x00): تشير إلى أن مشغل Ethernet لم يتم تكوينه بعد ([SWS_Eth_00159]).ETH_STATE_INIT(القيمة0x01): تشير إلى أن مشغل Ethernet تم تكوينه بنجاح ([SWS_Eth_00159]).
فيما يتعلق بمعالجة الأخطاء والتفاعل، يشكل نوع الحالة هذا الأساس لاكتشاف الأخطاء الداخلي. ويُرجح افتراض أن واجهات برمجة تطبيقات (APIs) المشغل تستعلم عن هذه الحالة وترفض الاستدعاءات طالما ظل المشغل في الحالة غير المهيأة ETH_STATE_UNINIT ([SWS_Eth_00159]). سؤال Q-35a17e3267274d70 (مفتوح) وفقط عندما ينتقل المشغل إلى الحالة ETH_STATE_INIT، فإنه يُعد مهيأً وجاهزًا للتشغيل ([SWS_Eth_00159]). وبما أن تعريف النوع موجود في Eth_GeneralTypes.h، فإنه متاح عبر المشغلات ([SWS_Eth_00159]).
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Eth_FrameType [SWS_Eth_00160] 📄 PDF
This type defines the Ethernet frame type used in the Ethernet frame header
نوع Eth_DataType [SWS_Eth_00161] 📄 PDF
This type defines the Ethernet data type used for data transmission. Its definition depends on the used CPU.
نوع Eth_BufIdxType [SWS_Eth_00175] 📄 PDF
Ethernet buffer identifier type.
نوع Eth_RxStatusType [SWS_Eth_00162] 📄 PDF
Used as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are available or frames go t lost.
الاستخدام ومجال القيم
يتم تعريف نوع التعداد Eth_RxStatusType وفقًا لـ [SWS_Eth_00162] في ملف الرأس Eth_GeneralTypes.h. ويُستخدم كمعامل خرج (out parameter) في الدالة Eth_Receive()، والتي يُخطر من خلالها برنامج تشغيل Ethernet بما إذا كان قد تم استلام إطار Ethernet، وما إذا كانت هناك إطارات أخرى متوفرة لاحقًا في المخزن المؤقت أو فُقدت بيانات [SWS_Eth_00162].
تحدد المواصفة ثلاث قيم تعداد منفصلة لهذا النوع [SWS_Eth_00162]:
ETH_RECEIVED(0x00): تم استلام إطار Ethernet؛ ولم تعد هناك أي إطارات إضافية متاحة في وحدة التحكم.ETH_NOT_RECEIVED(0x01): لم يتم استلام أي إطار Ethernet؛ ولا توجد أي إطارات أخرى.ETH_RECEIVED_MORE_DATA_AVAILABLE(0x02): تم استلام إطار Ethernet، وهناك إطارات إضافية جاهزة للاستلام.
التفاعل أثناء معالجة الإطارات
عند استدعاء Eth_Receive()، تمرر الطبقة المتصلة مؤشرًا إلى متغير من النوع Eth_RxStatusType. ويتحكم تقييم معامل الخرج هذا في المسار الإضافي لدورة الاستقبال: يُرجح أن تخدم قيمة الإرجاع ETH_RECEIVED_MORE_DATA_AVAILABLE المتصل كمعيار لاستدعاء Eth_Receive() مجددًا على الفور لمعالجة الإطارات المتبقية سريعًا من مخزن الاستقبال المؤقت [SWS_Eth_00162]. سؤال Q-4ed309522aa004f8 (مفتوح) في المقابل، تشير الحالتان ETH_RECEIVED وETH_NOT_RECEIVED إلى نفاد المخزن المؤقت وعدم وجود بيانات أخرى تنتظر المعالجة. ويضمن التوفير عبر Eth_GeneralTypes.h استخدامًا موحدًا للنوع عبر الوحدات النمطية [SWS_Eth_00162].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات المواصفات من AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Eth_FilterActionType [SWS_Eth_00163] 📄 PDF
The Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.
نوع Eth_TimeStampQualType [SWS_Eth_00177] 📄 PDF
Depending on the HW, quality information regarding the evaluated time stamp might be supported. If not supported, the value shall be always Valid. For Uncertain and Invalid values, the upper layer shall discard the time stamp.
نوع Eth_TimeStampType [SWS_Eth_00178] 📄 PDF
Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts at 1970 - - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0
نوع Eth_TimeIntDiffType [SWS_Eth_00179] 📄 PDF
Variables of this type are used to express time differences.
نوع Eth_RateRatioType [SWS_Eth_00180] 📄 PDF
Variables of this type are used to express frequency ratios.
نوع Eth_MacVlanType [SWS_Eth_91001] 📄 PDF
This type is used to read out addresses from the address resolution logic (A RL) table of the switch. typedef struct { uint8 Mac Addr[6U]; uint16 Vlan Id; uint32 Switch Port; } Eth_ Mac Vlan Type; In case of Macaddr contains a Multicast Address Mac Vlan Type.Switch Port shall be handled as Bitmask, each bit represents a Switch Port , Bit 0 represents Eth Swicht Port Idx = 0 , Bit 1 represents Eth Swicht Port Idx = 1 and so on. In case of Macaddr contains not a Multicast Address Mac Vlan Type.Switch Port shall be handled as a value representing the Eth Switch Port Idx.
نوع Eth_CounterType [SWS_Eth_91007] 📄 PDF
Type Eth_CounterType.
نوع Eth_RxStatsType [SWS_Eth_91002] 📄 PDF
Type Eth_RxStatsType.
نوع Eth_TxStatsType [SWS_Eth_91003] 📄 PDF
Statistic counter for diag nostics.
نوع Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF
Type Eth_TxErrorCounterValuesType.
الاستخدام والغرض
تم تحديد نوع البيانات Eth_TxErrorCounterValuesType وفقًا لـ [SWS_Eth_91004] كهيكل لعدادات إحصائية لأغراض التشخيص في برنامج تشغيل Ethernet. التعريف متاح عبر ملف الرأس Eth_GeneralTypes.h. يجمع الهيكل عدة عدادات بسعة 32 بت (uint32) تمثل حالات إرسال محددة ومعوقات إرسال على مستوى الواجهة.
مكونات الهيكل ودلالاتها
تستند العدادات الفردية وفقًا لـ [SWS_Eth_91004] إلى تعريفات MIB القياسية للشبكة:
Tx Dropped No Error Pkts: عدد الحزم الصادرة التي تم إسقاطها على الرغم من خلوها من الأخطاء، على سبيل المثال لتحرير مساحة المخزن المؤقت (RFC1213ifOutDiscards).Tx Dropped Error Pkts: عدد الحزم التي تعذر إرسالها بسبب حدوث أخطاء (RFC1213ifOutErrors).Tx Deferred Trans: عدد الإطارات التي تأخرت محاولة إرسالها الأولى بسبب انشغال وسيط النقل (RFC1643dot3StatsDeferredTransmissions).Tx Single CollisionوTx Multiple Collision: الإطارات المنقولة بنجاح والتي تأخر إرسالها بسبب تصادم واحد تحديدًا أو بسبب عدة تصادمات (RFC1643).Tx Late Collision: التصادمات التي تم اكتشافها بعد مرور أكثر من 512 زمن بت من بدء إرسال الحزمة (RFC1643dot3StatsLateCollisions).Tx Excessive Collison: عدد عمليات الإرسال التي فشلت نهائيًا نتيجة لكثرة التصادمات (RFC1643dot3StatsExcessiveCollisions).
سياق الاستدعاء والقيود
تفسير: نظرًا لأن مقتطف المواصفة لا يذكر دالة API مقابلة، يُرجح أن يُمرر هذا النوع التشخيصي كمعامل خرج عبر مؤشر إلى دوال برنامج التشغيل المعنية لاستعلام العدادات. سؤال Q-2bfbe59d1fb81938 (مفتوح) لم يتم في المصادر تحديد متطلبات خاصة بمعالجة الأخطاء أو رسائل DET أو التزامن لهيكل البيانات الصرف هذا.
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Eth- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Eth@rel:R20-11#d5c4446e- Content hash
d5c4446e- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني