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은(는) 이더넷 드라이버 [SWS_Eth_00027]의 초기화에 사용됩니다. 이 함수는 헤더 파일 Eth.h을(를) 통해 선언되고, 서비스 ID 0x01을(를) 가지며, 반환값(void)이 없습니다 [SWS_Eth_00027]. 입력 매개변수로 Eth_ConfigType 타입의 구현별 구성 구조체를 가리키는 CfgPtr을(를) 받습니다 [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을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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은 매개변수 CtrlIdx을(를) 통해 주소 지정된 Ethernet 컨트롤러를 활성화(ETH_MODE_ACTIVE) 또는 비활성화(ETH_MODE_DOWN)하는 역할을 합니다 [SWS_Eth_00041]. AUTOSAR Classic R20-11에서 이 서비스는 폐기 예정(obsolete)으로 분류되어 있습니다 [SWS_Eth_00041].
서비스의 실행은 비동기식이며 재진입 불가능(Non Reentrant)합니다 [SWS_Eth_00041]. 함수는 반환값으로 성공적으로 시작된 경우 E_OK을(를) 반환하거나, 작동 모드를 전환할 수 없는 경우 E_NOT_OK을(를) 반환합니다 [SWS_Eth_00041]. 해석: 호출이 비동기식으로 명시되어 있지만 페이로드에 콜백이 정의되어 있지 않으므로, 실제 상태 적용은 함수가 반환된 후 드라이버 백그라운드의 하드웨어 레벨에서 완료될 것으로 보입니다. 질문 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(서비스 ID 0x03, Eth.h을(를) 통해 제공됨)은 특정 Ethernet 컨트롤러의 수신 및 전송 통신(Rx/Tx)을 활성화 및 비활성화하는 역할을 합니다 [SWS_Eth_91009].
사용 및 호출 조건
함수의 실행은 비동기식으로 이루어지며 재진입 불가능(Non Reentrant)으로 명시되어 있습니다 [SWS_Eth_91009]. 호출 시 두 개의 매개변수가 전달됩니다:
CtrlIdx: Ethernet 드라이버 컨텍스트 내 해당 컨트롤러의 인덱스 [SWS_Eth_91009].CtrlMode: 컨트롤러의 대상 모드로, Rx/Tx 통신을 활성화하기 위한ETH_MODE_ACTIVE또는 이를 비활성화하기 위한ETH_MODE_DOWN중 하나 [SWS_Eth_91009].
반환값으로 함수는 상태 Std_ReturnType을(를) 반환합니다. E_OK은(는) 성공적인 실행을 나타내는 반면, E_NOT_OK은(는) 컨트롤러의 모드를 전환할 수 없었음을 나타냅니다 [SWS_Eth_91009].
상호작용 및 버퍼 관리
Eth_SetControllerMode을(를) 통해 인덱싱된 컨트롤러의 Rx/Tx 통신이 비활성화(모드 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]. 이들은 구식(obsolete)으로 분류된 이전의 요구사항 [SWS_Eth_00137] 및 [SWS_Eth_00138]을(를) 대체합니다.
이 텍스트는 AUTOSAR 명세서를 바탕으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 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을(를) 통해 제공되며 서비스 ID 0x12을(를) 가집니다 [SWS_Eth_00152]. 이 함수는 인덱싱된 이더넷 컨트롤러의 필터에 물리적 주소를 추가하거나 필터에서 제거하는 데 사용됩니다 [SWS_Eth_00152].
이 함수의 매개변수는 세 개의 입력 값으로 구성됩니다 [SWS_Eth_00152]:
CtrlIdx: 드라이버 컨텍스트 내 관련 이더넷 컨트롤러의 인덱스를 지정합니다 [SWS_Eth_00152].PhysAddrPtr: 네트워크 바이트 순서의 물리적 대상 주소(MAC 주소)가 포함된 메모리 영역에 대한 포인터입니다. 이는 레이어 2 이더넷 패킷의 멀티캐스트 대상 주소입니다 [SWS_Eth_00152].Action: 열거형 타입Eth_FilterActionType을(를) 통해 지정된 주소를 컨트롤러의 필터에 추가할지 또는 삭제할지 지정합니다 [SWS_Eth_00152].
이 함수는 Std_ReturnType 타입의 상태를 반환합니다. E_OK은(는) 필터가 성공적으로 수정되었음을 확인하고, E_NOT_OK은(는) 필터를 수정할 수 없었음을 알립니다 [SWS_Eth_00152]. 이더넷 컨트롤러가 하드웨어적으로 필터링을 독립적으로 수행할 수 없는 경우, 필터링 작업은 소프트웨어에 의해 구현되어야 합니다 [SWS_Eth_00152].
실행에는 엄격한 재진입 제한이 적용됩니다. 이 함수는 동일한 컨트롤러 인덱스(CtrlIdx)에 대해서는 재진입이 불가능하지만, 서로 다른 컨트롤러 인덱스에 대해서는 동시 및 재진입 호출이 허용됩니다 [SWS_Eth_00152].
이 사용 지침은 AUTOSAR Classic R20-11 규격을 기반으로 AI 시스템에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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은(는) MII 인터페이스를 통해 이더넷 트랜시버의 레지스터를 구성하거나 트랜시버가 제공하는 기능을 트리거하는 데 사용됩니다 [SWS_Eth_00058]. 선언은 헤더 Eth.h을(를) 통해 제공됩니다 [SWS_Eth_00058].
사용법 및 매개변수
호출은 서비스 ID 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을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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(서비스 ID 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 진단 이벤트가 명시되어 있지 않습니다.
이 사용법 안내는 명세를 기반으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 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)를 활성화합니다 [SWS_Eth_00186]. 호출은 서비스 ID 0x17을(를) 사용하여 헤더 Eth.h을(를) 통해 수행되며 반환값은 없습니다 [SWS_Eth_00186].
호출 시 다음 입력 매개변수를 전달해야 합니다 [SWS_Eth_00186]:
CtrlIdx: 주소 지정된 이더넷 컨트롤러의 인덱스 [SWS_Eth_00186].BufIdx: 상위 애플리케이션이 이그레스 타임스탬프 생성을 기대하는 메시지 버퍼의 인덱스 [SWS_Eth_00186].
동시성과 관련하여 이 함수는 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_Eth_00186]. 따라서 동일한 버퍼 또는 추가 버퍼에 대한 병렬 호출은 호출 측에서 동기화되거나 방지되어야 합니다.
하드웨어의 동작은 컨트롤러 구현에 따라 다릅니다. 일부 하드웨어는 송신 타임스탬프 표식을 영구적으로 저장하는 반면, 다른 컨트롤러는 매 전송 전에 활성화를 필수로 요구합니다 [SWS_Eth_00186]. 해석: 따라서 하드웨어 독립적인 제어를 위해서는 원하는 버퍼의 각 전송 작업 전에 이 함수를 호출하는 것이 권장될 수 있습니다. 네트워크 설계에 따라 메시지 타입이 항상 타임스탬프와 함께 전송되므로 비활성화 인터페이스는 존재하지 않습니다 [SWS_Eth_00186]. 질문 Q-c2b8d2db03e9d13b (열림)
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
함수 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은(는) 전달된 우선순위에 할당된 FIFO의 이더넷 송신 버퍼에 대한 접근 권한을 부여합니다 [SWS_Eth_00077]. 헤더 Eth.h을(를) 통해 제공되며 재진입 가능(reentrant)으로 명시되어 있습니다 [SWS_Eth_00077]. 입력 매개변수를 통해 FIFO 선택을 위한 컨트롤러 인덱스 CtrlIdx 및 프레임 우선순위 Priority이(가) 전달됩니다 [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()이(가) 호출되면, 지정된 버퍼 인덱스는 구성 요소 EthCtrlConfigEgressFifoPriorityAssignment이(가) 이전에 Eth_ProvideTxBuffer()에서 전달된 우선순위와 일치하는 소프트웨어 FIFO에 할당됩니다 [SWS_Eth_00268].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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은(는) 이전에 제공되어 채워진 이더넷 송신 버퍼에 대한 전송 프로세스를 시작합니다 [SWS_Eth_00087]. 이 함수는 다음 매개변수를 받습니다:
CtrlIdx: 드라이버 컨텍스트 내 이더넷 컨트롤러의 인덱스 [SWS_Eth_00087].BufIdx: 전송할 버퍼 리소스의 인덱스 [SWS_Eth_00087].FrameType: 특정 이더넷 프레임 타입 [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을(를) 구성 요소 EthCtrlConfigEgressFifoPriorityAssignment이(가) 이전에 Eth_ProvideTxBuffer()에서 설정된 우선순위와 일치하는 소프트웨어 FIFO에 할당합니다 [SWS_Eth_00268]. 이 호출을 통해 해당 메시지가 소프트웨어 FIFO에서 하드웨어 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은(는) 이더넷 컨트롤러의 특정 FIFO 버퍼로부터 이더넷 프레임을 수신하는 데 사용됩니다 [SWS_Eth_00095]. 반환값은 없지만 Eth_RxStatusType 타입의 포인터 RxStatusPtr을(를) 통해 조회 결과를 호출자에게 반환합니다 [SWS_Eth_00095]. 이 출력 매개변수는 프레임이 성공적으로 수신되었는지 여부와 해당 FIFO 버퍼에 추가 프레임이 대기 중인지 여부를 나타냅니다 [SWS_Eth_00095].
매개변수 및 호출 컨텍스트
입력 매개변수로 이 함수는 이더넷 드라이버 내의 컨트롤러 인덱스 CtrlIdx 및 읽어올 FIFO의 인덱스 FifoIdx을(를) 요구합니다 [SWS_Eth_00095]. 이 함수는 헤더 파일 Eth.h에 선언되어 있습니다 [SWS_Eth_00095]. 호출은 일반적으로 상위 드라이버 또는 인터페이스 계층에 의한 폴링 메커니즘의 일환으로 주기적으로 수행될 것으로 보입니다. 질문 Q-f5ec0693a5887bcf (열림)
동시성 및 제약사항
동시성과 관련하여 Eth_Receive은(는) 서로 다른 FIFO에 대해서는 재진입 가능하도록 구현되어 있으나, 동일한 FIFO에 대해서는 재진입이 불가능합니다 [SWS_Eth_00095]. 동일한 컨트롤러의 동일한 FIFO를 조회하는 동시 호출은 허용되지 않으며 호출 소프트웨어에 의해 방지되어야 합니다.
이더넷 인터페이스와의 상호작용
폴링 모드에서 이더넷 드라이버는 수신이 성공했을 때 수신된 프레임을 상위 계층에 전달하여 추가 처리를 수행할 수 있도록 루틴 Eth_Receive에서 함수 EthIf_RxIndication을(를) 즉시 호출해야 할 의무가 있습니다 [SWS_Eth_00244].
이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF
void Eth_TxConfirmation (uint8 CtrlIdx);
Triggers frame transmission confirmation
사용법 및 호출 컨텍스트
헤더 Eth.h을(를) 통해 제공되는 함수 Eth_TxConfirmation은(는) 전송된 Ethernet 프레임에 대한 전송 확인을 목표 지향적으로 트리거하는 역할을 합니다 [SWS_Eth_00100]. 이 함수는 서비스 ID 0x0C을(를) 가지며 동기식으로 실행됩니다 [SWS_Eth_00100]. 유일한 전달 매개변수로 함수는 CtrlIdx을(를) 요구하며, 이는 Ethernet 드라이버 인스턴스 내에서 주소 지정할 컨트롤러의 논리적 인덱스를 지정합니다 [SWS_Eth_00100]. 반환값은 존재하지 않으며(void), 출력 매개변수도 전달되지 않습니다 [SWS_Eth_00100].
전송 절차에서의 상호작용
계층 간 상호작용에서 Eth_TxConfirmation은(는) 전송 상태를 상위 Ethernet 인터페이스로 전달하는 역할을 담당합니다. 해당 알림이 활성화된 경우 Ethernet 드라이버는 성공적인 전송을 알리기 위해 결과값 E_OK(으)로 EthIf_TxConfirmation을(를) 호출해야 합니다 [SWS_Eth_00243]. 폴링 모드에서 이 호출은 루틴 Eth_TxConfirmation의 컨텍스트 내에서 명시적으로 이루어지는 반면, 인터럽트 제어 모드에서는 대안적으로 인터럽트 루틴에서 직접 실행됩니다 [SWS_Eth_00243].
동시성 및 실행 조건
실행과 관련하여 Eth_TxConfirmation이(가) 재진입 불가능(Non Reentrant)으로 정의된다는 제약 사항이 적용됩니다 [SWS_Eth_00100]. 따라서 동일한 컨트롤러에 대한 동시 호출은 호출자에 의해 방지되어야 합니다. 폴링 작동 시 호출은 일반적으로 상위 스케줄링 제어를 통해 주기적으로 수행될 것으로 보입니다. 질문 Q-c19295838459b689 (열림) 함수 사양에는 특정 오류 코드 및 DET 또는 DEM 알림에 대한 규정이 명시되어 있지 않으므로 별도의 오류 처리는 생략됩니다.
이 텍스트는 AI에 의해 작성되었으며, 참조된 사양이 기준이 됩니다.
구현자 가이드 준비 중 (복잡도 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 (열림)
기능 범위 및 폴링
이 함수의 주된 임무는 상태 변경을 폴링하고 컨트롤러 오류 및 손실된 Ethernet 프레임을 확인하는 것입니다 [SWS_Eth_00171]. 함수가 Ethernet 컨트롤러의 모드가 변경되었음을 감지하면 함수 EthIf_CtrlModeIndication을(를) 호출하여 상위 계층에 상태 변경을 알립니다 [SWS_Eth_00171].
전송 경로에서의 처리 순서
Eth_MainFunction()의 컨텍스트에서 소프트웨어 FIFO 처리를 위한 고정된 순서가 지정되어 있습니다 [SWS_Eth_00270]:
- 먼저 모든 SW FIFO를 순회하고 크레딧 계정(Credits Account)을 업데이트합니다 [SWS_Eth_00270].
- 그 후 모든 SW FIFO를 다시 순회하여 전송 준비가 완료된 메시지가 있는지 확인합니다 [SWS_Eth_00270].
- 이어서 순회된 각 SW FIFO에 대해 전송을 시도합니다 [SWS_Eth_00270].
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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은(는) Release 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 이더넷 통신 스택([SWS_Eth_91008])에서 계층 간 모드 타입으로 사용됩니다. 이 타입은 통신 채널을 특정하여 활성화 또는 비활성화하고, 관련 하드웨어 컴포넌트(이더넷 컨트롤러, 스위치 포트 또는 트랜시버)를 절전 슬립 모드와 활성 동작 모드 간에 전환하기 위해 EthIf, Eth, EthSwt 및 EthTrcv와 같은 모듈에서 사용됩니다([SWS_Eth_91008]).
이 타입은 모드 제어를 위한 세 가지 상태를 포함합니다([SWS_Eth_91008]):
ETH_MODE_DOWN(0x00): Rx 및 Tx 통신을 비활성화하고 관련 하드웨어를 저전력 슬립 모드로 전환합니다. 하드웨어가 이를 지원하는 경우, 슬립 프로세스도 동시에 시작됩니다(예: OPEN Alliance TC10에 따른 데이터 라인의 슬립 요청).ETH_MODE_ACTIVE(0x01): Rx 및 Tx 통신을 활성화하고 관련 하드웨어를 정규 동작 모드(Power-on)로 전환합니다.ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST(0x02): Rx 및 Tx 통신을 활성화하고 하드웨어를 동작 모드로 전환하며, 하드웨어에 웨이크업 기능이 있는 경우(OPEN Alliance TC10에 따른 데이터 라인 상의 Wake-up 등) 네트워크에 웨이크업 요청도 추가로 트리거합니다.
스택 상호작용에서 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]).
오류 처리 및 상호작용과 관련하여 이 상태 타입은 내부 오류 감지의 기반을 형성합니다. 드라이버가 초기화되지 않은 상태 ETH_STATE_UNINIT에 있는 동안에는 드라이버 API가 이 상태를 쿼리하여 호출을 거부할 것으로 볼 수 있습니다([SWS_Eth_00159]). 질문 Q-35a17e3267274d70 (열림) 드라이버가 ETH_STATE_INIT 상태로 전환된 후에야 비로소 구성이 완료되고 작동 가능한 것으로 간주됩니다([SWS_Eth_00159]). 타입 정의가 Eth_GeneralTypes.h에 있으므로 드라이버 전반에서 사용할 수 있습니다([SWS_Eth_00159]).
이 텍스트는 AUTOSAR CP R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 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에 정의됩니다. 이 타입은 함수 Eth_Receive()의 출력 매개변수(out parameter)로 사용되며, 이를 통해 이더넷 드라이버는 이더넷 프레임이 수신되었는지 여부와 버퍼에 추가 프레임이 있는지 또는 데이터가 손실되었는지 여부를 전달합니다 [SWS_Eth_00162].
규격은 이 타입에 대해 세 가지 개별 열거형 값을 정의합니다 [SWS_Eth_00162]:
ETH_RECEIVED(0x00): 이더넷 프레임이 수신되었습니다. 컨트롤러에 추가 프레임이 더 이상 제공되지 않습니다.ETH_NOT_RECEIVED(0x01): 수신된 이더넷 프레임이 없습니다. 추가 프레임이 존재하지 않습니다.ETH_RECEIVED_MORE_DATA_AVAILABLE(0x02): 이더넷 프레임이 수신되었으며 수신 대기 중인 추가 프레임이 있습니다.
프레임 처리 시의 상호작용
Eth_Receive() 호출 시 호출 계층은 Eth_RxStatusType 타입의 변수에 대한 포인터를 전달합니다. 이 출력 매개변수의 평가는 수신 주기의 후속 흐름을 제어합니다. 반환값 ETH_RECEIVED_MORE_DATA_AVAILABLE은(는) 호출자가 수신 버퍼에서 남은 프레임을 신속하게 처리하기 위해 Eth_Receive()을(를) 즉시 다시 호출하는 기준으로 사용될 것으로 보입니다 [SWS_Eth_00162]. 반면에 상태 ETH_RECEIVED 및 ETH_NOT_RECEIVED은(는) 버퍼가 소진되었고 처리를 위해 대기 중인 추가 데이터가 없음을 알립니다. Eth_GeneralTypes.h을(를) 통한 제공은 모듈 간의 일관된 타입 사용을 보장합니다 [SWS_Eth_00162]. 질문 Q-4ed309522aa004f8 (열림)
이 텍스트는 AI에 의해 생성되었으며 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 명세를 기반으로 AI에 의해 생성되었습니다.
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#27e4230e- Content hash
27e4230e- 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 · 독일어 원문