DEENESPTFRRUARHIKOZHNL

LIN Interface (LinIf)

ModulLinIf (LIN Interface)
BSW-Modul-ID62
Standard-Header#include "LinIf.h"
SWS-SpezifikationAUTOSAR_SWS_LINInterface.pdf
ClusterLIN

모듈 가이드AI 생성

상위 계층과 LIN 드라이버 간에 LIN 프레임을 중계하고 스케줄, 슬립, 웨이크업 및 LIN-TP를 제어합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: 2c16f0f64a13 출처 열린 질문 (2)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

상위 계층과 LIN 드라이버 간에 LIN 프레임을 중계하고 스케줄, 슬립, 웨이크업 및 LIN-TP를 제어합니다.

LIN Interface는 상위 통신 모듈을 LIN 드라이버 및 트랜시버와 연결하며 LIN 트랜스포트 프로토콜도 포함합니다. 마스터로서 채널은 LinIf_ScheduleRequest을 통해 선택되는 스케줄 테이블을 처리합니다 [SWS_LinIf_00202]. 반면 슬레이브로서 채널은 드라이버의 헤더 알림에만 응답합니다 [SWS_LinIf_91004]. 그 외에도 채널별 슬립 및 웨이크업, 진단 전송, 그리고 슬레이브에서의 Node Configuration을 제어합니다. 사용 가능한 서비스는 채널의 구성된 노드 유형에 따라 달라집니다.

LIN Interface(LinIf)는 상위 통신 모듈과 LIN 드라이버 사이를 중계하며 동시에 LIN 트랜스포트 프로토콜을 포함합니다 [SWS_LinIf_00351]. 상위 방향으로는 R20-11에서 구성 가능한 콜아웃 <User_TriggerTransmit>, <User_TxConfirmation> 및 <User_RxIndication>을 호출하며 [SWS_LinIf_00528] [SWS_LinIf_00529] [SWS_LinIf_00530], 사용자는 PduR 또는 CDD입니다. 모드 변경은 <User>_…Confirmation 콜아웃을 통해 LinSM으로 다시 전달됩니다 [SWS_LinIf_00521]. 하위 방향으로는 Lin 및 선택적으로 LinTrcv를 사용합니다 [SWS_LinIf_00359].

kontext Nutzer PduR / CDD (<User_…>-Callouts) LinIf LinIf (inkl. LinTp) Nutzer->LinIf LinIf_Transmit, LinTp_Transmit LinSM LinSM (<User>-Callouts) LinSM->LinIf LinIf_ScheduleRequest, LinIf_GotoSleep, LinIf_Wakeup BswM BswM Com Com EcuM EcuM EcuM->LinIf LinIf_CheckWakeup Mirror Mirror (Bus Mirroring) Det Det LinIf->Nutzer <User_TriggerTransmit>, <User_TxConfirmation>, <User_RxIndication> LinIf->LinSM <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation, <User>_WakeupConfirmation LinIf->BswM BswM_LinTp_RequestMode (LinTp_Mode) LinIf->Com Com_SendSignal (response_error) LinIf->Mirror Mirror_ReportLinFrame LinIf->Det Det_ReportError, Det_ReportRuntimeError Lin Lin (LIN-Treiber) LinIf->Lin Lin_SendFrame, Lin_GetStatus, Lin_GoToSleepInternal, Lin_Wakeup LinTrcv LinTrcv (optional) LinIf->LinTrcv 모드 및 웨이크업 서비스 (LinTrcv_SetOpMode 등) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication, LinIf_WakeupConfirmation

컨텍스트 다이어그램: 사용자, LinSM, BswM, EcuM, Mirror 및 Lin과 LinTrcv 사이의 LinIf. 출처: [SWS_LinIf_00360] [SWS_LinIf_00469]

LinIf_Init [SWS_LinIf_00198]에 따르면 각 채널은 LINIF_CHANNEL_SLEEP 상태에 있습니다. LinIf는 LINIF_CHANNEL_OPERATIONAL에서만 프레임을 처리합니다 SWS LinIf 45쪽. 작업은 채널별 전용 MainFunction이 처리합니다 [SWS_LinIf_00384].

linif_zustand cluster_init LINIF_INIT (채널별 하위 상태) Reset Reset UNINIT LINIF_UNINIT Reset->UNINIT SLEEP LINIF_CHANNEL_SLEEP UNINIT->SLEEP LinIf_Init (Go-to-sleep 명령 없음) OP LINIF_CHANNEL_OPERATIONAL SLEEP->OP LinIf_Wakeup OP->SLEEP LinIf_GotoSleep (슬레이브: Go-to-sleep 명령 후 또는 버스 유휴 타임아웃)

상태 다이어그램: 초기화는 슬립 상태로 이어지며, LinIf_Wakeup 및 LinIf_GotoSleep은 채널 상태 간을 전환합니다. 출처: SWS LinIf 45쪽

마스터와 슬레이브는 근본적으로 다르게 작동합니다. 마스터 채널은 인덱스 1..255를 갖는 LinIf_ScheduleRequest을 통해 선택된 스케줄 테이블을 처리하며, 0은 NULL_SCHEDULE을 나타냅니다 [SWS_LinIf_00197] [SWS_LinIf_00202]. 이때 LinIf_Transmit는 Sporadic Frames만 표시하며, 데이터는 해당 슬롯의 만료 시에만 LinIf가 가져옵니다 [SWS_LinIf_00706]. 반면 슬레이브는 LinIf_HeaderIndication에만 응답합니다. PID를 기반으로 송신, 수신 또는 무시 여부를 결정하며 [SWS_LinIf_00738] [SWS_LinIf_00733] [SWS_LinIf_00748], response_error 신호를 독립적으로 관리합니다 [SWS_LinIf_00763].

슬레이브는 Go-to-sleep 명령 후 또는 버스 유휴 타임아웃 후에 슬립 모드로 전환됩니다 [SWS_LinIf_00750] [SWS_LinIf_00755]. 웨이크업은 첫 번째 수신된 헤더를 통해서만 확인합니다 [SWS_LinIf_00761]. 진단을 위해 마스터의 LinTp는 BswM_LinTp_RequestMode을 통해 스케줄을 전환합니다 [SWS_LinIf_00629]. 슬레이브에서 LinIf는 ISO 17987-3에 따라 Node Configuration을 처리합니다 [SWS_LinIf_00771]. LinIf는 오류를 DET로 보고합니다(예: LINIF_E_RESPONSE [SWS_LinIf_00729]). 타임아웃 발생 시 TP 전송을 E_NOT_OK을 통해 중단합니다 [SWS_LinIf_00801] [SWS_LinIf_00806].

사용자, 드라이버 및 트랜시버 간 LIN Interface의 역할

LIN Interface(LinIf)는 상위 통신 모듈과 LIN 드라이버 사이를 중계합니다. 이는 LIN 트랜스포트 프로토콜도 동시에 포함합니다: LinTp_Init 및 LinTp_Transmit과 같은 해당 서비스 또한 LinIf.h를 통해 사용할 수 있습니다 [SWS_LinIf_00350] [SWS_LinIf_00351]. 하위 방향으로 LinIf는 Lin_GoToSleepInternal, Lin_Wakeup 및 Lin_WakeupInternal과 같은 드라이버 서비스를 사용합니다 [SWS_LinIf_00359]. 선택적으로 LIN Transceiver Driver가 추가되며, LinIf는 모든 트랜시버에 대해 해당 모드 및 웨이크업 서비스를 통합 인터페이스로 매핑합니다 SWS LinIf 24쪽. 이를 위해 LinIf_SetTrcvMode, LinIf_GetTrcvMode, LinIf_GetTrcvWakeupReason 및 LinIf_SetTrcvWakeupMode은 트랜시버 드라이버로 호출을 전달합니다 [SWS_LinIf_00544] [SWS_LinIf_00545] [SWS_LinIf_00547] [SWS_LinIf_00550].

상위 방향으로 LinIf는 구성 가능한 콜아웃을 통해 해당 사용자를 호출합니다: <User_TriggerTransmit>, <User_TxConfirmation> 및 <User_RxIndication> [SWS_LinIf_00528] [SWS_LinIf_00529] [SWS_LinIf_00530]. 사용자는 PduR이거나(이 경우 PduR_LinIfTriggerTransmit을 입력해야 함 [SWS_LinIf_00722]), 콜백 헤더를 LinIf가 포함하는 CDD입니다 [SWS_LinIf_00669]. LinIf는 모드 변경을 <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation 및 <User>_WakeupConfirmation을 통해 다시 보고합니다 [SWS_LinIf_00520] [SWS_LinIf_00521] [SWS_LinIf_00522]. 이러한 메시지의 수신자는 LinSM입니다 SWS LinSM 24쪽. 또한 LinIf는 BswM_LinTp_RequestMode, Com_SendSignal 및 Det_ReportError 서비스를 필요로 합니다 [SWS_LinIf_00360]. R24-11부터는 LSduR이 상위 사용자로서 PduR 또는 CDD를 대체합니다 SWS LinIf 1쪽. R20-11의 경우 <User_…> 콜아웃이 적용됩니다.

각 채널은 마스터 또는 슬레이브입니다. LinIf_HeaderIndication 또는 LinIf_GetConfiguredNAD과 같은 슬레이브 서비스는 적어도 하나의 슬레이브 채널이 구성된 경우에만 존재합니다 [SWS_LinIf_00863] [SWS_LinIf_00861]. LinIf_ScheduleRequest는 적어도 하나의 마스터 채널이 있는 경우에만 존재합니다 [SWS_LinIf_00858]. 주기적 처리는 LinIf_MainFunction_<LinIfChannel.ShortName>에서 실행됩니다 [SWS_LinIf_00384]. 이 함수는 채널당 하나씩 존재하며 SWS LinIf 119쪽 주기 LinIfMainFunctionPeriod로 호출됩니다. 마스터에서는 Schedule Table Manager를 쿼리하고, 슬레이브에서는 시간 조건을 모니터링합니다 SWS LinIf 45쪽. 버스 미러링은 채널별로 LinIf_EnableBusMirroring을 통해 활성화되며, 이후 LinIf는 수신 및 송신된 프레임을 Mirror 모듈로 보고합니다 [SWS_LinIf_00876] [SWS_LinIf_00838] [SWS_LinIf_00873].

kontext Nutzer PduR / CDD (<User_…>-Callouts) LinIf LinIf (inkl. LinTp) Nutzer->LinIf LinIf_Transmit, LinTp_Transmit LinSM LinSM (<User>-Callouts) LinSM->LinIf LinIf_ScheduleRequest, LinIf_GotoSleep, LinIf_Wakeup BswM BswM Com Com EcuM EcuM EcuM->LinIf LinIf_CheckWakeup Mirror Mirror (Bus Mirroring) Det Det LinIf->Nutzer <User_TriggerTransmit>, <User_TxConfirmation>, <User_RxIndication> LinIf->LinSM <User>_ScheduleRequestConfirmation, <User>_GotoSleepConfirmation, <User>_WakeupConfirmation LinIf->BswM BswM_LinTp_RequestMode (LinTp_Mode) LinIf->Com Com_SendSignal (response_error) LinIf->Mirror Mirror_ReportLinFrame LinIf->Det Det_ReportError, Det_ReportRuntimeError Lin Lin (LIN-Treiber) LinIf->Lin Lin_SendFrame, Lin_GetStatus, Lin_GoToSleepInternal, Lin_Wakeup LinTrcv LinTrcv (optional) LinIf->LinTrcv 모드 및 웨이크업 서비스 (LinTrcv_SetOpMode 등) Lin->LinIf LinIf_HeaderIndication, LinIf_RxIndication, LinIf_TxConfirmation, LinIf_LinErrorIndication, LinIf_WakeupConfirmation

컨텍스트 다이어그램: LinIf(LinTp 포함)는 상위의 사용자, 모드 관리, 진단/미러 서비스와 하위의 Lin 및 LinTrcv 사이에 위치합니다. 출처: [SWS_LinIf_00359] [SWS_LinIf_00360] [SWS_LinIf_00469] [SWS_LinIf_00872] SWS LinIf (Abb.) 17쪽

채널 및 LinTp의 초기화와 상태 머신

LinIf_Init은 LinIf_ConfigType에 대한 포인터를 수신하고 [SWS_LinIf_00198] [SWS_LinIf_00668] 모듈을 LINIF_UNINIT에서 LINIF_INIT로 전환합니다 SWS LinIf 47쪽. 각 채널에는 자체 서브 상태 머신이 있습니다. 초기화 후 채널은 Go-to-sleep 명령이 전송되지 않은 상태로 LINIF_CHANNEL_SLEEP에 위치합니다. LinIf는 LINIF_CHANNEL_OPERATIONAL에서만 헤더와 응답을 처리합니다 SWS LinIf 45쪽. 마스터 채널은 NULL_SCHEDULE으로 시작합니다 SWS LinIf 90쪽. 슬레이브 채널은 구성에서 초기 및 구성된 NAD와 PID를 인수하며 [SWS_LinIf_00767] [SWS_LinIf_00768] LIN Product Identification을 제공합니다 [SWS_LinIf_00769].

linif_zustand cluster_init LINIF_INIT (채널별 하위 상태) Reset Reset UNINIT LINIF_UNINIT Reset->UNINIT SLEEP LINIF_CHANNEL_SLEEP UNINIT->SLEEP LinIf_Init (Go-to-sleep 명령 없음) OP LINIF_CHANNEL_OPERATIONAL SLEEP->OP LinIf_Wakeup OP->SLEEP LinIf_GotoSleep (슬레이브: Go-to-sleep 명령 후 또는 버스 유휴 타임아웃)

상태 다이어그램: LinIf의 수명 주기 및 채널 하위 상태; 초기화는 슬립 상태로 이어지며, 웨이크업과 슬립은 채널 상태 간을 전환합니다. 출처: SWS LinIf 45쪽 [SWS_LinIf_00204] [SWS_LinIf_00205] [SWS_LinIf_00755]

트랜스포트 프로토콜은 채널마다 고유한 상태 머신을 갖습니다. LinTp_Init [SWS_LinIf_00350]은 서브 상태 LINTP_CHANNEL_IDLE을 갖는 LINTP_INIT를 설정합니다 [SWS_LinIf_00710] SWS LinIf 99쪽. LINTP_CHANNEL_BUSY에 따라 채널은 FF 또는 SF가 TP 메시지로 인식되자마자 [SWS_LinIf_00322] [SWS_LinIf_00323] 또는 LinTp_Transmit가 호출될 때 SWS LinIf 108쪽 전환됩니다. LinTp_Shutdown [SWS_LinIf_00355]은 열려 있는 모든 연결을 닫고 모든 채널을 LINTP_UNINIT으로 설정합니다 SWS LinIf 102쪽. LinTp의 포함 여부는 컴파일 타임에 LinIfTpSupported가 결정합니다 SWS LinIf 61쪽.

lintp_zustand cluster_init LINTP_INIT (je Kanal) Reset Reset UNINIT LINTP_UNINIT Reset->UNINIT IDLE LINTP_CHANNEL_IDLE UNINIT->IDLE LinTp_Init IDLE->UNINIT LinTp_Shutdown BUSY LINTP_CHANNEL_BUSY IDLE->BUSY TP 메시지 시작 (LinTp_Transmit 또는 FF/SF 감지됨) BUSY->UNINIT LinTp_Shutdown (연결 닫기) BUSY->IDLE TP-Nachricht beendet

상태 다이어그램: LINTP_INIT 내에서 IDLE과 BUSY 사이의 LinTp 채널. 출처: SWS LinIf (Abb.) 43쪽 [SWS_LinIf_00322] [SWS_LinIf_00710] [SWS_LinIf_00355]

마스터 채널: 스케줄 테이블이 버스 트래픽을 결정함

마스터에서 스케줄 테이블은 모든 통신의 기초를 이룹니다. 각 채널은 빈 NULL_SCHEDULE을 가지며, 프레임 간 간격은 LinIfMainFunctionPeriod의 배수입니다 SWS LinIf 44쪽. LinIf_SchHandleType은 NULL_SCHEDULE을 0x00으로 인코딩하고 나머지 테이블은 인덱스 1..255로 인코딩합니다. 인덱스는 채널별로는 고유하지만 ECU별로는 고유하지 않습니다 [SWS_LinIf_00197]. LinIf_ScheduleRequest은 비동기적으로 작동하며 [SWS_LinIf_00202], 완료된 전환은 <User>_ScheduleRequestConfirmation이 보고합니다 [SWS_LinIf_00520]. 구성에서 각 테이블은 LinIfRunMode, 즉 RUN_CONTINUOUS 또는 RUN_ONCE를 받습니다 ECUC-Parameter 265쪽. 파라미터 Schedule는 R22-11에서야 이름이 변경되었습니다 SWS LinIf 1쪽.

LinIf_Transmit [SWS_LinIf_00201]은 즉각적인 전송을 트리거하지 않습니다. 이는 Sporadic Frames(마스터) 또는 Event-triggered Frames(슬레이브)를 대기 중으로만 표시합니다 SWS LinIf 79쪽. 다른 프레임의 경우에도 E_OK을 반환하지만 [SWS_LinIf_00700], NULL_SCHEDULE 동안에는 E_NOT_OK을 반환합니다 [SWS_LinIf_00719]. 송신 슬롯이 만료되면 LinIf는 <User_TriggerTransmit>을 통해 데이터를 가져와 Lin_SendFrame를 사용하여 드라이버로 전달합니다 SWS LinIf 37쪽. 사용자가 E_NOT_OK을 반환하면 프레임은 생략됩니다 [SWS_LinIf_00706]. LinIf는 Lin_GetStatus으로 결과를 확인하며, 가장 이르게는 최대 프레임 길이 이후, 가장 늦게는 다음 테이블 항목에서 확인합니다 SWS LinIf 35쪽. LIN_TX_ERROR 및 LIN_TX_BUSY은 E_NOT_OK을 동반하는 <User_TxConfirmation>로 이어지며 [SWS_LinIf_00728], LIN_TX_OK은 E_OK로 이어집니다 SWS LinIf 40쪽.

마스터 채널에서의 프레임 전송Nutzer (PduR/CDD)LinIfLinBSW-TaskUse Case: 등록 (Sporadic Frame 전용)LinIf_Transmit(TxPduId, PduInfoPtr)CheckId()SetFlag()E_OK (NULL_SCHEDULE의 경우 E_NOT_OK)Use Case: 전송 슬롯 도래LinIf_MainFunction_<LinIfChannel.ShortName>()<User_TriggerTransmit>(TxPduId, PduInfoPtr)E_OK / E_NOT_OKaltE_OKLin_SendFrame(...)E_NOT_OK프레임이 전송되지 않음Use Case: 최대 프레임 길이 이후 상태 확인LinIf_MainFunction_<LinIfChannel.ShortName>()Lin_GetStatus(...)LIN_TX_OK / LIN_TX_BUSY / LIN_TX_ERROR<User_TxConfirmation>(TxPduId, result)LIN_TX_OK 시 E_OK, 그 외의 경우 E_NOT_OK

시퀀스 다이어그램: 마스터 송신 시 등록, 슬롯 제어 데이터 폴링 및 상태 평가. 출처: [SWS_LinIf_00201] [SWS_LinIf_00706] [SWS_LinIf_00728] SWS LinIf 125쪽 SWS PduR 107쪽

슬레이브 채널: 마스터 헤더에 대한 반응

슬레이브는 스케줄을 알지 못합니다. 이는 오직 LinIf_HeaderIndication에만 반응합니다 [SWS_LinIf_91004] SWS LinIf 39쪽. LinIf는 먼저 PID를 평가합니다:

  • 송신 프레임: <User_TriggerTransmit>은 드라이버 버퍼에 직접 씁니다 [SWS_LinIf_00738]. 이후 LinIf는 Cs 및 Dl을 설정하고 LIN_FRAMERESPONSE_TX를 보고합니다 [SWS_LinIf_00739]. 사용자가 E_NOT_OK을 반환하면 LinIf는 LIN_FRAMERESPONSE_IGNORE을 보고합니다 [SWS_LinIf_00740].
  • 수신 프레임: LinIf가 LIN_FRAMERESPONSE_RX을 보고합니다 [SWS_LinIf_00733].
  • 무관한 프레임: LinIf가 LIN_FRAMERESPONSE_IGNORE을 보고합니다 [SWS_LinIf_00748].

성공적인 수신 후 드라이버는 LinIf_RxIndication을 호출하고, LinIf는 데이터를 <User_RxIndication>로 전달합니다 [SWS_LinIf_91005] [SWS_LinIf_00734]. 성공적인 송신 후 드라이버는 LinIf_TxConfirmation를 호출하고, LinIf는 E_OK로 확인합니다 [SWS_LinIf_91006] [SWS_LinIf_00741]. Event-triggered Frames의 경우 관련 Unconditional Frame의 PID가 첫 번째 데이터 바이트에 위치합니다 [SWS_LinIf_00731]. 보류 플래그는 성공적인 전송 후에 삭제됩니다 [SWS_LinIf_00732].

LinIf는 각 슬레이브 채널별로 response_error 신호를 독립적으로 관리하며 [SWS_LinIf_00763] Com_SendSignal를 통해 이를 업데이트합니다 [SWS_LinIf_00764]. 성공적인 전송 후에는 지워집니다 [SWS_LinIf_00747]. 모든 변경 사항은 선택적으로 <User_ResponseErrorSignalChanged>를 통해 보고될 수 있습니다 [SWS_LinIf_00765] [SWS_LinIf_00766]. NAD 및 PID 목록은 런타임에 읽고 쓸 수 있습니다 [SWS_LinIf_00829] [SWS_LinIf_00833] [SWS_LinIf_91002] [SWS_LinIf_91003]. MRF 및 SRF의 PID는 제외됩니다 [SWS_LinIf_00809] [SWS_LinIf_00824]. 이러한 값의 일반적인 소스는 비휘발성 메모리입니다 SWS LinIf 57쪽.

슬레이브 채널에서의 헤더 기반 프레임 처리LinController/UARTLinLinIfNutzer (PduR/CDD)Interrupt (Header empfangen)LinIf_HeaderIndication(Channel, PduPtr)EvaluatePID()altSende-Frame<User_TriggerTransmit>(TxPduId, PduInfoPtr)SduDataPtr = PduPtr->SduPtrE_OKCs, Dl setzenDrc = LIN_FRAMERESPONSE_TXEmpfangs-FrameCs, Dl setzenDrc = LIN_FRAMERESPONSE_RX무관하거나 TriggerTransmit = E_NOT_OKDrc = LIN_FRAMERESPONSE_IGNOREE_OKInterrupt (Response abgeschlossen)altResponse gesendetLinIf_TxConfirmation(Channel)<User_TxConfirmation>(TxPduId, E_OK)Response empfangenLinIf_RxIndication(Channel, Lin_SduPtr)<User_RxIndication>(RxPduId, PduInfoPtr)Fehler erkanntLinIf_LinErrorIndication(Channel, ErrorStatus)

시퀀스 다이어그램: 슬레이브에서의 헤더 평가와 프레임 방향에 따른 분기 및 후속 확인, 수신 보고 또는 오류 보고. 출처: [SWS_LinIf_91004] [SWS_LinIf_00738] [SWS_LinIf_00733] [SWS_LinIf_00748] SWS LinIf 121쪽 SWS LinIf (Abb.) 133쪽

LIN 채널의 슬립 및 웨이크업

마스터는 요청 시 Go-to-sleep 명령을 전송합니다. 슬레이브는 이 명령을 수신하거나 버스가 비활성 상태로 유지되면 슬립 모드로 전환됩니다 SWS LinIf 48쪽. 슬레이브에서 Go-to-sleep 명령은 NAD가 0인 MRF로 간주됩니다 [SWS_LinIf_00750]. 버스 유휴 모니터링은 LINIF_CHANNEL_OPERATIONAL 상태에서 실행됩니다 [SWS_LinIf_00751] [SWS_LinIf_00752] [SWS_LinIf_00753]. 드라이버 콜백이 발생할 때마다 타이머가 재시작됩니다 [SWS_LinIf_00754]. 두 경우 모두 LinIf는 <User>_GotoSleepIndication을 호출합니다 [SWS_LinIf_00756]. 사용자가 이에 따라 LinIf_GotoSleep를 호출하면 [SWS_LinIf_00204] 즉시 Lin_GoToSleepInternal이 뒤따릅니다 [SWS_LinIf_00757]. 그런 다음 LinIf는 웨이크업 플래그를 지우고 [SWS_LinIf_00758] TRUE로 확인합니다 [SWS_LinIf_00759]. 마스터에서는 다이어그램에 따라 MainFunction이 Lin_GoToSleep을 통해 명령을 보내고 상태 확인 후 확인합니다 SWS LinIf (Abb.) 93쪽 [SWS_LinIf_00521].

슬립 상태로의 천이 (슬레이브 채널)LinLinIfLinTrcvLinIf User (LinSM)altGo-to-sleep-Kommando empfangenLinIf_RxIndication(Channel, Lin_SduPtr)NAD = 0인 MRFBus-Idle-TimeoutBus-Idle-Timer abgelaufen<User>_GotoSleepIndication()LinIf_GotoSleep(Channel)Lin_GoToSleepInternal(Channel)MainFunction까지 기다리지 않고 즉시채널의 웨이크업 플래그 클리어<User>_GotoSleepConfirmation(channel, TRUE)E_OKopt트랜시버 드라이버가 지원함LinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP)LinTrcv_SetOpMode(LINTRCV_TRCV_MODE_SLEEP)

시퀀스 다이어그램: Go-to-sleep 명령 또는 버스 유휴 타임아웃 후 슬레이브 채널의 슬립 상태 전환. 출처: [SWS_LinIf_00750] [SWS_LinIf_00755] [SWS_LinIf_00756] [SWS_LinIf_00757] [SWS_LinIf_00759] SWS LinIf 137쪽

웨이크업은 LinIf_Wakeup을 통한 사용자로부터 발생하거나 감지된 버스 웨이크업에서 시작됩니다. LinIf는 LinIf_CheckWakeup을 통해 버스 웨이크업을 확인합니다 SWS LinIf 51쪽. 이를 위해 LinIf_CheckWakeup [SWS_LinIf_00378]은 Lin_CheckWakeup 또는 LinTrcv_CheckWakeup을 호출합니다 SWS LinIf 112쪽. 드라이버는 감지된 웨이크업을 LinIf_WakeupConfirmation을 통해 보고하고 [SWS_LinIf_00715], 이에 따라 LinIf는 채널의 웨이크업 플래그를 설정합니다 SWS LinIf 98쪽. LinIf_Wakeup [SWS_LinIf_00205]은 상태에 따라 다르게 동작합니다. 깨어 있는 채널에서는 성공을 시뮬레이션합니다. 웨이크업 플래그가 없는 슬립 상태의 채널에서는 Lin_Wakeup을 호출합니다 SWS LinIf 89쪽. 웨이크업 플래그가 설정되어 있으면 Lin_WakeupInternal는 웨이크업 펄스 없이 채널을 활성화할 것으로 추정됩니다 [SWS_LinIf_00359]. 질문 Q-2efc22e03c8e284e (열림)

확인은 마스터의 경우 MainFunction에서 발생합니다 SWS LinIf (Abb.) 87쪽. 슬레이브의 경우 처음 수신된 헤더와 함께 발생합니다 [SWS_LinIf_00761]. E_NOT_OK를 반환하기 전에 LinIf는 FALSE을 보고합니다 [SWS_LinIf_00762]. 마스터가 헤더를 전송하지 않으면 확인이 이루어지지 않고 LinSM에서 타임아웃이 발생합니다 SWS LinIf 52쪽. 슬립 모드로 전환되는 동안 웨이크업 요청이 도착하면 마스터는 작동 상태를 유지합니다 SWS LinIf 56쪽. 이 경우 슬레이브는 웨이크업을 다시 시작합니다 SWS LinIf 53쪽.

웨이크업 확인 및 웨이크업 요청EcuMLinIf User (LinSM)LinIfLin / LinTrcvBSW-TaskUse Case: Bus-Wakeup (falls aufgetreten)LinIf_CheckWakeup(WakeupSource)Lin_CheckWakeup / LinTrcv_CheckWakeupLinIf_WakeupConfirmation(WakeupSource)채널의 웨이크업 플래그 설정Use Case: WeckanforderungLinIf_Wakeup(Channel)alt채널이 슬립 상태임, 웨이크업 플래그 설정되지 않음Lin_Wakeup(Channel)채널이 슬립 상태임, 웨이크업 플래그 설정됨 (가정)Lin_WakeupInternal(Channel)채널이 웨이크 상태임kein Treiberaufruf, Erfolg simulierenE_OKVor E_NOT_OK ruft LinIf<User>_WakeupConfirmation(channel, FALSE)altMasterLinIf_MainFunction_<LinIfChannel.ShortName>()<User>_WakeupConfirmation(channel, TRUE)SlaveLinIf_HeaderIndication(Channel, PduPtr)LinIf_Wakeup 이후의 첫 번째 헤더<User>_WakeupConfirmation(channel, TRUE)

시퀀스 다이어그램: EcuM을 통한 웨이크업 확인, 사용자의 웨이크업 요청 및 노드 종속적 확인. 출처: [SWS_LinIf_00378] [SWS_LinIf_00715] [SWS_LinIf_00205] [SWS_LinIf_00761] [SWS_LinIf_00762] SWS EcuM 182쪽

진단: LIN TP 및 Node Configuration

마스터에서 LinTp는 LinTpScheduleChangeDiag이 활성화된 경우 LinTp_Mode을 갖는 BswM_LinTp_RequestMode을 통해 스케줄 테이블을 제어합니다 [SWS_LinIf_00629]. LinTp_Transmit [SWS_LinIf_00351]에서 LinTp는 진단 요청 스케줄을 요청합니다. 물리적 요청 후에는 진단 응답 스케줄이 이어지며, 응답 후에는 애플리케이션 스케줄이 이어집니다 SWS LinIf 62쪽. 기능적 요청 후 채널은 이전 스케줄로 복귀합니다 [SWS_LinIf_00707]. PduR_LinTpTxConfirmation은 스케줄 전환이 끝난 후에야 뒤따릅니다 [SWS_LinIf_00702]. 새로운 물리적 요청은 진행 중인 TP 처리를 종료합니다 [SWS_LinIf_00708]. LinTp_ChangeParameter [SWS_LinIf_00501]은 단지 플레이스홀더일 뿐이며 모든 변경을 거부합니다 SWS LinIf 103쪽.

스케줄 전환을 포함한 마스터에서의 LIN TP 전송PduRLinIf (LinTp)BswMLinSMBSW-TaskLinTp_Transmit(TxPduId, PduInfoPtr)optLinTpScheduleChangeDiag = TRUEBswM_LinTp_RequestMode(Network, LINTP_DIAG_REQUEST)LinSM_ScheduleRequest(...)LinIf_ScheduleRequest(Channel, Schedule)E_OK (스케줄 전환이 거부된 경우 E_NOT_OK)loopje MRF (SF, FF, CF)LinIf_MainFunction_<LinIfChannel.ShortName>()PduR_LinTpCopyTxData(...)MRF 전송 (일반 프레임 전송과 동일)optphysischer Request, Schedule-Wechsel aktiviertBswM_LinTp_RequestMode(Network, LINTP_DIAG_RESPONSE)PduR_LinTpTxConfirmation(id, result)스케줄 전환 완료 후

시퀀스 다이어그램: BswM 및 LinSM을 통한 스케줄 전환이 포함된 마스터에서의 TP 전송. 출처: [SWS_LinIf_00351] [SWS_LinIf_00702] [SWS_LinIf_00878] SWS LinIf (Abb.) 90쪽 SWS LinIf 139쪽

수신을 위해 LinIf는 항상 준비되어 있어야 합니다. FF 또는 SF는 PduR_LinTpStartOfReception을 사용하여 인수를 시작합니다. 이때 LinIf는 NAD를 N-SDU-Id에 할당하고 PduR_LinTpCopyRxData을 사용하여 각 프레임을 복사합니다 SWS LinIf 67쪽. 슬레이브에서는 트랜스포트 계층과 Node Configuration이 MRF 및 SRF 프레임을 공유합니다 SWS LinIf 54쪽. 따라서 LinIf는 각 MRF의 NAD, PCI 및 SID를 평가하고 [SWS_LinIf_00771] 이에 따라 분배합니다 [SWS_LinIf_00772] [SWS_LinIf_00773] [SWS_LinIf_00774]. SRF 헤더는 응답이 대기 중인 경우 Node-Configuration-Handler가 처리하며, 그렇지 않으면 트랜스포트 계층으로 이동합니다 [SWS_LinIf_00775] [SWS_LinIf_00776]. 다음 서비스가 지원됩니다:

긍정 응답은 다음 SRF 헤더에서 전송됩니다 [SWS_LinIf_00780].

nodecfg mrf MRF empfangen (LinIf_RxIndication) eval NAD, PCI 및 SID 평가 mrf->eval pci PCI가 유효한가? eval->pci ign1 Frame ignorieren pci->ign1 아니요 func Node-Configuration 요청을 포함하는 기능적 NAD 0x7E인가? pci->func 예 ign2 Anfrage ignorieren func->ign2 예 own 자체 노드를 어드레싱하는가? func->own 아니요 fremd Node-Configuration 핸들러 및 전송 계층에 알림; 대기 중인 응답 취소 own->fremd 아니요 nc 유효한 Node-Configuration 요청인가? own->nc 예 srf 다음 SRF 헤더: 응답이 대기 중인가? fremd->srf acc Anfrage annehmen, N_As-Timer starten, Transportschicht informieren nc->acc 예 tp MRF an Transportschicht weiterleiten nc->tp 아니요 acc->srf tp->srf resp Antwort durch Node-Configuration-Handler senden srf->resp 예 tpsrf SRF-Header an Transportschicht srf->tpsrf 아니요

액티비티 다이어그램: 슬레이브에서 수신된 MRF 및 SRF 헤더를 Node-Configuration-Handler 및 트랜스포트 계층으로 분배. 해석: 검사 순서는 다이어그램 표현을 위해 선택되었습니다. 출처: [SWS_LinIf_00771] [SWS_LinIf_00772] [SWS_LinIf_00774] [SWS_LinIf_00788] [SWS_LinIf_00790] [SWS_LinIf_00776] SWS LinIf 59쪽

오류가 발생한 경우의 동작

LinIf는 LINIF_E_UNINIT, LINIF_E_NONEXISTENT_CHANNEL, LINIF_E_PARAMETER, LINIF_E_PARAM_POINTER 및 LINIF_E_SCHEDULE_REQUEST_ERROR 등을 포함하여 개발 오류를 DET로 보고합니다 [SWS_LinIf_00376]. 콜백은 채널과 포인터를 확인합니다 [SWS_LinIf_00843] [SWS_LinIf_00844]. 이전 헤더가 없는 상태에서 LinIf_RxIndication 또는 LinIf_TxConfirmation의 예기치 않은 호출은 LinIf가 무시합니다 [SWS_LinIf_00848] [SWS_LinIf_00852].

LinIf가 인식하는 런타임 오류로는 LINIF_E_RESPONSE 및 LINIF_E_NC_NO_RESPONSE이 있습니다 [SWS_LinIf_00729]. 드라이버가 슬레이브에서 LinIf_LinErrorIndication을 호출하면 프레임은 손실된 것으로 간주됩니다. 그러면 LinIf는 LIN_ERR_HEADER를 제외하고 LINIF_E_RESPONSE를 보고합니다 [SWS_LinIf_00735] [SWS_LinIf_00743]. 또한 E_NOT_OK을 통해 전송 시도를 확인하고 [SWS_LinIf_00742] 응답 오류 시 response_error 신호를 설정합니다 [SWS_LinIf_00736] [SWS_LinIf_00744]. 여전히 응답을 기다리는 동안 새로운 헤더가 도착하면 이전 프레임은 무효화됩니다 [SWS_LinIf_00846]. 미러링이 활성화된 경우 LinIf는 변환된 상태 코드와 함께 이러한 오류를 보고합니다 [SWS_LinIf_00869] [SWS_LinIf_00870].

LinTp는 세 가지 시간 제한을 모니터링하며, 이를 초과하면 E_NOT_OK을 사용하여 PduR에 중단합니다:

버퍼 문제가 발생할 때도 LinTp는 중단합니다 [SWS_LinIf_00676] [SWS_LinIf_00677]. 마스터에서는 애플리케이션 스케줄로 복귀한 후에야 이것이 발생합니다 [SWS_LinIf_00792] [SWS_LinIf_00879]. 버퍼가 약간만 부족한 경우 마스터는 SRF 헤더를 보류합니다 [SWS_LinIf_00679] SWS LinIf 65쪽. 대안으로 LinIf는 공간이 생기거나 다음 CF가 도착할 때까지 길이 0으로 복사 시도를 반복합니다 [SWS_LinIf_00793] [SWS_LinIf_00795]. 또한 잘못된 NAD [SWS_LinIf_00655], 잘못된 시퀀스 번호 [SWS_LinIf_00081], CF 후의 FF 또는 SF [SWS_LinIf_00653] 및 SRF 응답의 오류 [SWS_LinIf_00796] 시에도 E_NOT_OK로 중단됩니다. P2 타임아웃 시 LinIf는 애플리케이션 스케줄을 요청합니다 [SWS_LinIf_00877]. LinIf_ScheduleRequest가 변경을 거부하면 LinTp_Transmit는 E_NOT_OK을 반환합니다 [SWS_LinIf_00878].

Node Configuration에서 LinIf는 N_As가 만료되거나 [SWS_LinIf_00785] [SWS_LinIf_00786], 알 수 없는 NAD가 도착하거나 [SWS_LinIf_00787], 또는 새로운 유효한 요청이 올 때 대기 중인 응답을 중단합니다 [SWS_LinIf_00789]. 반면 손상된 MRF는 대기 중인 응답을 그대로 유지시킵니다 [SWS_LinIf_00791]. LinTp 타임아웃 및 거부된 스케줄 변경에 대한 Extended Production Errors는 R23-11에 이르러서야 추가되었으며, R20-11에는 적용되지 않습니다 SWS LinIf 1쪽 SWS LinIf 74쪽.

더 자세한 증거

R20-11용 페이로드에 포함된 사양 발췌본을 기반으로 생성된 AI 가이드입니다. 링크된 요구사항이 구속력을 갖습니다. 이후 릴리스의 문서 위치는 보충용으로만 참조되었으며 차이점이 명시되어 있습니다.

LIN Interface (LinIf)

Abstracts LIN hardware and manages schedule tables and frame transmission.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 LinIf_Init [SWS_LinIf_00198] 📄 PDF

void LinIf_Init (const LinIf_ConfigType* ConfigPtr);

Initializes the LIN Interface.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5afc2b05c058 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 함수 LinIf_Init은(는) [SWS_LinIf_00198]에 따라 LIN 인터페이스를 초기화하는 데 사용됩니다. 이 인터페이스는 서비스 ID 0x01을(를) 가지며, 헤더 파일 LinIf.h을(를) 통해 사용할 수 있고 동기식으로 실행됩니다.

호출 컨텍스트 및 매개변수

이 함수는 유일한 매개변수로 ConfigPtr(const LinIf_ConfigType*)을(를) 기대하며, 이는 LIN 인터페이스의 구성에 대한 포인터 역할을 합니다 [SWS_LinIf_00198]. 반환값이 없으며, 입출력 또는 순수 출력 매개변수를 가지지 않습니다.

초기화 시퀀스 및 상호작용

초기화의 일환으로 LIN 인터페이스는 슬레이브 노드에 대해 특정 설정을 수행합니다:

  • [SWS_LinIf_00767]에 따라 모듈은 LinIf_Init에서 구성 매개변수 LinIfInitialNAD 및 LinIfConfiguredNAD을(를) 기반으로 슬레이브 노드의 초기 노드 주소(initial NAD) 및 구성된 노드 주소(configured NAD)를 초기화합니다.
  • [SWS_LinIf_00768]에 따라 모듈은 LinIf_Init에서 구성 매개변수 LinIfFrameId을(를) 통해 구성 데이터로부터 슬레이브 노드의 구성된 PID를 초기화합니다.

동시성 및 제약사항

이 함수는 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_LinIf_00198]. 따라서 동시 호출이나 중첩 호출은 허용되지 않습니다. 제공된 명세 범위에는 이 서비스에 대한 특정 오류 코드나 DET 메시지가 명시되어 있지 않습니다.

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_Transmit [SWS_LinIf_00201] 📄 PDF

Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Re quests transmission of a PDU.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 26fe69f012f5 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

LinIf.h에 선언된 함수 LinIf_Transmit(서비스 ID 0x49)은 PDU [SWS_LinIf_00201]의 전송을 동기적으로 요청하는 데 사용됩니다. 입력 매개변수로 전송할 PDU를 고유하게 식별하기 위한 TxPduId 및 데이터 길이와 실제 페이로드 외에도 메타데이터를 참조할 수 있는 PduInfoType 구조체에 대한 포인터 PduInfoPtr를 예상합니다 [SWS_LinIf_00201]. 추가적인 입출력 또는 출력 매개변수는 존재하지 않습니다 [SWS_LinIf_00201].

반환값 및 동작 요구사항

서비스는 반환값으로 상태 Std_ReturnType을 반환합니다 [SWS_LinIf_00201]:

  • E_OK: LIN 인터페이스가 전송 요청을 성공적으로 수락했습니다 [SWS_LinIf_00201].
  • E_NOT_OK: 전송 요청을 수락할 수 없었습니다 [SWS_LinIf_00201].

프레임 유형과의 상호작용은 [SWS_LinIf_00700]에 의해 명확화됩니다. LIN 인터페이스가 초기화된 경우, PDU가 LIN 마스터 노드의 비산발적(non-sporadic) 프레임에 속하거나 LIN 슬레이브 노드의 비이벤트 기반(non-event-triggered) 프레임에 속하더라도 LinIf_Transmit은 E_OK를 반환합니다.

동시성

실행 환경과 관련하여 LinIf_Transmit은 서로 다른 PDU ID에 대해 재진입 가능(reentrant)하지만, 동일한 TxPduId에 대해서는 동시 또는 병행하여 호출되어서는 안 됩니다 [SWS_LinIf_00201].

이 사용 지침은 AUTOSAR 사양 R20-11을 바탕으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_ScheduleRequest [SWS_LinIf_00202] 📄 PDF

Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);

Requests a schedule table to be executed. Only used for LIN master nodes.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7aff69ddc1f7 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 LinIf_ScheduleRequest은(는) LIN 마스터 노드에서만 미리 정해진 스케줄 테이블의 실행을 요청하는 데 사용됩니다 [SWS_LinIf_00202]. 호출은 비동기식으로 처리되며 재진입 가능하도록 설계되었습니다 [SWS_LinIf_00202].

매개변수 및 반환값

매개변수 Channel을(를) 통해 해당 LIN 채널 인덱스가 전달되며, Schedule은(는) 새로 실행할 스케줄 테이블의 식별자를 지정합니다 [SWS_LinIf_00202]. 함수는 상태를 Std_ReturnType(으)로 반환합니다:

오류 조건 및 제한 사항

명세에 따르면 다음과 같은 오류 발생 시 E_NOT_OK의 반환값이 발생합니다 [SWS_LinIf_00202]:

  • LIN 인터페이스가 아직 초기화되지 않았습니다.
  • 참조된 채널이 존재하지 않거나 전달된 인덱스가 값 범위를 벗어납니다.
  • 참조된 스케줄 테이블이 존재하지 않거나 해당 식별자가 유효하지 않습니다.
  • 현재 상태가 Sleep입니다.

상호 작용

스케줄 요청 실패는 상위 전송 프로세스에 영향을 미칩니다. BswM_LinTp_RequestMode을(를) 통한 LinTp_Transmit 호출의 일환으로 LinIf_ScheduleRequest을(를) 통한 스케줄 전환이 시작되는 경우, LinIf_ScheduleRequest이(가) E_NOT_OK(으)로 응답할 때 LinTp_Transmit은(는) 반드시 E_NOT_OK을(를) 반환해야 합니다 [SWS_LinIf_00878].

이 사용 지침은 AUTOSAR Classic R20-11의 명세 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_GotoSleep [SWS_LinIf_00204] 📄 PDF

Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);

Initiates a transition into the Sleep Mode on the selected channel.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e5eedba11183 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 LinIf_GotoSleep(서비스 ID 0x06, LinIf.h에 선언됨)은 지정된 LIN 채널 [SWS_LinIf_00204]에서 슬립 모드로의 전환을 시작합니다. 호출은 비동기적으로 수행되며, NetworkHandleType 유형의 입력 매개변수 Channel로 해당 채널의 식별자를 전달받습니다 [SWS_LinIf_00204].

반환값 및 오류 처리

서비스는 반환값으로 다음과 같은 의미를 갖는 Std_ReturnType 유형을 반환합니다 [SWS_LinIf_00204]:

  • E_OK: 슬립 모드로의 전환 요청이 성공적으로 수락되었거나, 슬립 모드로의 상태 전환이 이미 진행 중이거나, 컨트롤러가 이미 슬립 상태에 있습니다 [SWS_LinIf_00204].
  • E_NOT_OK: 요청이 수락되지 않았습니다. 이에 대한 가능한 원인은 아직 초기화되지 않은 LIN 인터페이스 또는 존재하지 않거나 유효 값 범위를 벗어난 채널 식별자입니다 [SWS_LinIf_00204].

동시성 및 시스템 상호작용

인터페이스는 재진입 불가(Non Reentrant)로 정의됩니다 [SWS_LinIf_00204]. LinIf_GotoSleep이 호출되면 LIN 인터페이스는 즉시 함수 Lin_GotoSleepInternal을 호출해야 하며, 메인 함수의 다음 주기까지 기다려서는 안 됩니다 [SWS_LinIf_00757].

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 작성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_Wakeup [SWS_LinIf_00205] 📄 PDF

Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);

Initiates the wake up process.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: dd3e56a193fd 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

재진입 가능한 함수 LinIf_Wakeup은 매개변수 Channel로 식별된 LIN 채널에 대해 비동기 웨이크업 프로세스를 트리거합니다 [SWS_LinIf_00205]. 이 함수는 헤더 LinIf.h을 통해 제공됩니다 [SWS_LinIf_00205].

반환값 Std_ReturnType은 요청의 수락에 대한 정보를 제공합니다 [SWS_LinIf_00205]:

  • E_OK은 웨이크업 요청이 수락되었거나 컨트롤러가 이미 더 이상 슬립 상태에 있지 않음을 나타냅니다 [SWS_LinIf_00205].
  • E_NOT_OK은 LIN 인터페이스가 초기화되지 않았거나, 전달된 채널 ID가 유효 범위를 벗어났거나, 하위 드라이버 호출 Lin_Wakeup 또는 Lin_WakeupInternal가 E_NOT_OK과 함께 실패한 경우에 반환됩니다 [SWS_LinIf_00205].

사용자와의 상호작용은 콜백 함수 <User>_WakeupConfirmation을 통해 이루어집니다:

  • 오류 발생 시 LIN 인터페이스는 E_NOT_OK을 반환하기 전에 반드시 <User>_WakeupConfirmation(FALSE)을 호출합니다 [SWS_LinIf_00762].
  • 성공적으로 수락된 경우(E_OK), LIN 인터페이스는 웨이크업을 비동기적으로 확인합니다. 이후 함수 LinIf_HeaderIndication이 처음으로 호출된 경우에만 모듈이 <User>_WakeupConfirmation(TRUE) 호출을 전송합니다 [SWS_LinIf_00761].

이 텍스트는 자동으로 생성되었습니다. AUTOSAR 사양의 요구사항을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_SetTrcvMode [SWS_LinIf_00544] 📄 PDF

Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);

Set the given LIN transceiver to the given mode.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: cb7567440122 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 및 재진입 가능한 함수 LinIf_SetTrcvMode(서비스 ID 0x08)은 지정된 LIN 트랜시버를 요청된 작동 모드로 전환하는 데 사용됩니다 [SWS_LinIf_00544]. 이 인터페이스는 헤더 파일 LinIf.h을 통해 제공됩니다 [SWS_LinIf_00544].

매개변수 및 반환값

호출에는 두 개의 입력 매개변수가 필요합니다 [SWS_LinIf_00544]:

  • Channel (NetworkHandleType): 제어할 LIN 채널을 식별합니다 [SWS_LinIf_00544].
  • TransceiverMode (LinTrcv_TrcvModeType): 트랜시버의 요청된 상태 전환을 지정합니다 [SWS_LinIf_00544].

Std_ReturnType 유형의 반환값은 전환 작업의 결과를 나타냅니다 [SWS_LinIf_00544]:

  • E_OK: 트랜시버 상태가 요청된 모드로 성공적으로 변경된 경우 반환됩니다 [SWS_LinIf_00544].
  • E_NOT_OK: 상태 변경이 실패했거나 하나 이상의 매개변수가 허용 범위를 벗어났음을 나타냅니다. 트랜시버의 이전 상태는 변경되지 않은 채 유지됩니다 [SWS_LinIf_00544].

실행 및 오류 동작

함수는 동기적으로 실행되며 재진입 가능하도록 지정되어 있습니다 [SWS_LinIf_00544]. 특정 DET 또는 DEM 오류 메시지는 사양 항목에 별도로 나열되어 있지 않습니다. 모드 변경 실패 또는 허용되지 않는 매개변수 값은 즉시 반환값 E_NOT_OK로 이어집니다 [SWS_LinIf_00544].

이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_GetTrcvMode [SWS_LinIf_00545] 📄 PDF

Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);

Returns the actual sta te of a LIN Transceiver Driver.

함수 LinIf_GetTrcvWakeupReason [SWS_LinIf_00547] 📄 PDF

Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);

Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.

함수 LinIf_SetTrcvWakeupMode [SWS_LinIf_00550] 📄 PDF

Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);

This API enables, disables and cl ears the notification for wakeup events on the addressed network

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: aabbd5422a4f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 및 재진입 가능한 함수 LinIf_SetTrcvWakeupMode은(는) 지정된 LIN 채널에서 웨이크업 이벤트에 대한 알림을 활성화, 비활성화 또는 리셋하는 데 사용됩니다 [SWS_LinIf_00550]. 선언은 헤더 LinIf.h을(를) 통해 제공되며 서비스 ID 0x0b을(를) 가집니다 [SWS_LinIf_00550].

이 인터페이스는 두 개의 입력 매개변수를 기대합니다 [SWS_LinIf_00550]:

  • Channel: NetworkHandleType 타입의 주소 지정할 LIN 네트워크 또는 채널의 고유 식별자 [SWS_LinIf_00550].
  • LinTrcvWakeupMode: LinTrcv_TrcvWakeupModeType 타입의 트랜시버의 요청된 웨이크업 모드 [SWS_LinIf_00550].

반환값으로 함수는 상태 Std_ReturnType을(를) 제공합니다 [SWS_LinIf_00550]:

  • E_OK: LIN 트랜시버 드라이버의 API 서비스 호출이 성공적이었으며 E_OK을(를) 반환했습니다 [SWS_LinIf_00550].
  • E_NOT_OK: LIN 트랜시버 드라이버의 API 서비스가 실패했거나(반환값 E_NOT_OK) 채널 또는 모드에 대해 전달된 매개변수 중 적어도 하나가 유효하지 않습니다 [SWS_LinIf_00550].

상호작용과 관련하여 함수는 요청을 LIN 트랜시버 드라이버에 위임합니다. LinIf는 여기서 상위 계층과 트랜시버 하드웨어 사이의 중개 인터페이스 역할을 하는 것으로 추정됩니다 [SWS_LinIf_00550]. 이 서비스는 재진입 가능으로 명시되어 있으므로, 서로 다른 채널 또는 동일한 채널에 대해 병렬로 실행될 수 있습니다 [SWS_LinIf_00550]. 질문 Q-07b525a14a2c5fcd (열림)

이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 공식적인 AUTOSAR 명세 문서가 기준이 됩니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_GetPIDTable [SWS_LinIf_91002] 📄 PDF

Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);

Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

함수 LinIf_SetPIDTable [SWS_LinIf_91003] 📄 PDF

Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);

Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

함수 LinTp_Init [SWS_LinIf_00350] 📄 PDF

void LinTp_Init (const LinTp_ConfigType* ConfigPtr);

Initializes the LIN Transport Layer.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 24052c633b39 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 LinTp_Init은(는) LIN 프로토콜 전송 계층([SWS_LinIf_00350])의 초기화에 사용됩니다. 명세 [SWS_LinIf_00350]에 따라 함수 호출은 동기식으로 작동합니다.

함수 시그니처는 void LinTp_Init (const LinTp_ConfigType* ConfigPtr)입니다. 입력 매개변수를 통해 구성이 전달됩니다:

  • ConfigPtr(in): LinTp_ConfigType 타입의 LIN 전송 계층 구성 데이터에 대한 포인터([SWS_LinIf_00350]).

이 함수는 반환값을 제공하지 않으며(void) 출력 매개변수나 입출력 매개변수도 정의하지 않습니다([SWS_LinIf_00350]). 16진수 서비스 ID 0x40을(를) 가지며 헤더 파일 LinIf.h을(를) 통해 제공됩니다([SWS_LinIf_00350]).

오류 처리

요구사항 [SWS_LinIf_00350]은(는) 이 함수에 대해 특정 오류 코드, DET 메시지 또는 DEM 이벤트를 정의하지 않습니다. 호출자에게 오류 상태가 반환되지 않습니다([SWS_LinIf_00350]).

동시성 및 제약사항

함수 LinTp_Init은(는) 명시적으로 재진입 불가(Non Reentrant)로 분류됩니다([SWS_LinIf_00350]). 따라서 여러 스레드, 태스크 또는 인터럽트 루틴에서 동시에 호출해서는 안 됩니다. 해석: 호출은 일반적으로 후속 통신 요청이 처리될 수 있기 전에 베이직 소프트웨어 초기화 시퀀스의 일환으로 중앙에서 수행될 것으로 추정됩니다. 질문 Q-6e391bdf8abb1a09 (열림)

상호 작용

LinTp_Init에 대해 본 발췌본에는 다른 명세 요구사항이나 인접 함수에 대한 직접적인 연결이 나열되어 있지 않습니다([SWS_LinIf_00350]). 모듈 LinIf이(가) 선언을 제공합니다([SWS_LinIf_00350]).

이 사용 지침은 AUTOSAR Classic Release R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinTp_Transmit [SWS_LinIf_00351] 📄 PDF

Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 444966ee5f38 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 LinTp_Transmit은 LIN 전송 프로토콜([SWS_LinIf_00351])을 통한 PDU 전송을 요청하는 데 사용됩니다. 전달 매개변수로 PDU 식별자 TxPduId 및 데이터 길이와 PDU 데이터 및 메타데이터에 대한 포인터를 제공하는 포인터 PduInfoPtr을 예상합니다([SWS_LinIf_00351]). 반환값은 전송 요청이 성공적으로 수락된 경우 E_OK이며, 거부된 경우 E_NOT_OK입니다([SWS_LinIf_00351]).

런타임 동작 및 LIN 인터페이스와의 상호작용에는 다음 지침이 적용됩니다:

  • 스케줄 요청: BswM_LinTp_RequestMode을 통한 호출의 일환으로 트리거된 스케줄 전환이 LinIf_ScheduleRequest에서 실패하고 E_NOT_OK를 반환하는 경우, LinTp_Transmit 또한 E_NOT_OK로 직접 응답해야 합니다([SWS_LinIf_00878]).
  • 확인: LinTp_Transmit이 성공한 경우(반환값 E_OK)에만, LIN 인터페이스는 스케줄 테이블 전환의 성공 또는 실패 후 PduR_LinTpTxConfirmation 함수를 긍정적 또는 부정적 결과와 함께 호출합니다([SWS_LinIf_00702]). 전송 요청이 거부된 경우 이 호출은 완전히 생략됩니다([SWS_LinIf_00702]).
  • 진행 중인 작업 중단: 물리적 응답을 대기하는 동안 또는 응답을 수신하는 동안 LinTp_Transmit을 통해 새로운 물리적 요청이 트리거되면, LIN 인터페이스는 수신 및 N_Cr 및 P2 타임아웃 모니터링을 포함하여 진행 중인 TP 처리를 중단하고 새 요청을 수락합니다([SWS_LinIf_00708]).

동시성과 관련하여 LinTp_Transmit은 서로 다른 TxPduId에 대해 재진입 가능하지만, 동일한 TxPduId에 대해서는 병행하여 실행되어서는 안 됩니다([SWS_LinIf_00351]).

이 사용 지침은 AUTOSAR Classic R20-11 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinTp_Shutdown [SWS_LinIf_00355] 📄 PDF

void LinTp_Shutdown (void);

Shutdowns the LIN TP.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a1aa6e2da5f3 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 LinTp_Shutdown은(는) LIN 전송 프로토콜([SWS_LinIf_00355])의 제어된 종료에 사용됩니다. 이 함수의 호출을 통해 LIN TP 컴포넌트의 동작이 종료됩니다([SWS_LinIf_00355]). 함수 선언은 헤더 파일 LinIf.h을(를) 통해 사용할 수 있습니다([SWS_LinIf_00355]).

사용 및 실행에는 다음 명세 특성이 적용됩니다([SWS_LinIf_00355]):

  • 매개변수 및 반환값: 이 함수는 입력, 입출력 또는 출력 매개변수를 가지지 않으며(void) 반환값을 반환하지 않습니다(void)([SWS_LinIf_00355]).
  • 서비스 식별: 서비스는 서비스 ID 0x43 아래에 정의되어 있습니다([SWS_LinIf_00355]).
  • 동기성: 호출은 동기식으로 처리됩니다([SWS_LinIf_00355]).
  • 재진입성: 이 함수는 재진입 불가(Non Reentrant)입니다([SWS_LinIf_00355]). 서로 다른 컨텍스트에서의 동시 호출이나 중첩 호출은 허용되지 않습니다.

특정 오류 코드, Development Error Tracer(DET)로의 피드백 또는 오류 시의 특수 처리는 소스에서 이 함수에 대해 설명되어 있지 않습니다([SWS_LinIf_00355]). 마찬가지로 관련 요구사항이나 정확한 호출자에 대한 정보도 없습니다. 아마도 상위 BSW 상태 관리에 의한 통신 스택의 순차적 비초기화의 일환으로 호출이 수행되는 것으로 추정됩니다. 질문 Q-e25a3c9531527c4f (열림)

이 사용 지침은 자동으로 생성되었습니다. 이는 릴리스 R20-11의 AUTOSAR 요소 명세 정보만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinTp_ChangeParameter [SWS_LinIf_00501] 📄 PDF

Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Request to change a specific transport protocol parameter (e.g. block size).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 17541ee3b055 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

동기식 함수 LinTp_ChangeParameter은(는) 런타임에 특정 PDU에 대한 전송 프로토콜의 특정 매개변수를 조정하는 데 사용됩니다 [SWS_LinIf_00501]. 매개변수로는 PDU 식별자(id), 변경할 전송 프로토콜 매개변수의 식별자(parameter, 예: 블록 크기) 및 새로운 목표값(value)이 전달됩니다 [SWS_LinIf_00501]. 선언은 헤더 LinIf.h을(를) 통해 제공됩니다 [SWS_LinIf_00501].

반환값 및 오류 발생 시 동작

이 함수는 Std_ReturnType 타입의 반환값을 통해 요청 결과를 즉시 알립니다 [SWS_LinIf_00501]:

  • E_OK: 요청된 매개변수가 새 값으로 성공적으로 변경되었습니다 [SWS_LinIf_00501].
  • E_NOT_OK: LIN 전송 프로토콜에 의해 변경이 거부되었습니다 [SWS_LinIf_00501]. 이는 일반적으로 매개변수가 유효하지 않거나 진행 중인 전송으로 인해 수정이 불가능한 경우에 발생할 것으로 추정됩니다. 질문 Q-84aaf28c12dee2e9 (열림)

동시성 및 제약사항

명세에 따르면 LinTp_ChangeParameter은(는) 재진입 불가(Non Reentrant)로 분류됩니다 [SWS_LinIf_00501]. 따라서 동일하거나 병렬 컨텍스트에 대한 동시 또는 중첩 호출은 허용되지 않으며 호출자가 이를 방지해야 합니다. 동기식 흐름은 매개변수 값 적용 여부가 결정될 때까지 호출자를 차단합니다 [SWS_LinIf_00501].

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.

함수 LinIf_CheckWakeup [SWS_LinIf_00378] 📄 PDF

Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);

Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a8f712a4612b 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기식 함수 LinIf_CheckWakeup은(는) 특정 LIN 채널의 웨이크업 이벤트에 대해 모듈 EcuM이(가) 통지를 받자마자 호출됩니다 [SWS_LinIf_00378]. 호출은 EcuM_WakeupSourceType 타입의 입력 매개변수 WakeupSource을(를) 사용하여 수행됩니다 [SWS_LinIf_00378]. 이 매개변수는 웨이크업 이벤트를 시작한 소스 장치를 지정하며, 이는 LIN 컨트롤러 또는 LIN 트랜시버일 수 있습니다 [SWS_LinIf_00378].

오류 처리 및 반환값

함수는 반환값으로 Std_ReturnType 타입의 상태를 반환합니다 [SWS_LinIf_00378]:

  • E_OK: 인터페이스 실행 중 오류가 발생하지 않았습니다 [SWS_LinIf_00378].
  • E_NOT_OK: 인터페이스 실행 중 오류가 발생했거나 WakeupSource에 유효하지 않은 값이 전달되었습니다 [SWS_LinIf_00378].

동시성 및 통합

이 인터페이스는 재진입 가능으로 명시되어 있고, 서비스 ID 0x60을(를) 가지며, 헤더 파일 LinIf.h을(를) 통해 제공됩니다 [SWS_LinIf_00378]. 이는 EcuM의 웨이크업 처리를 LIN 인터페이스의 채널에 직접 연결합니다 [SWS_LinIf_00378].

이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 AI에 의해 생성되었습니다.

함수 LinIf_EnableBusMirroring [SWS_LinIf_00876] 📄 PDF

Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);

Enables or disables mirroring for a LIN channel.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 78f53a1bd6f3 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 및 재진입 가능한 함수 LinIf_EnableBusMirroring은(는) 단일 LIN 채널에 대해 버스 미러링을 활성화하거나 비활성화합니다 [SWS_LinIf_00876]. 이는 헤더 LinIf.h을(를) 통해 사용할 수 있으며, 구성 매개변수 LinIfBusMirroringSupport을(를) 통해 버스 미러링이 활성화되지 않은 경우 생략될 수 있습니다 [SWS_LinIf_00875]. 호출자로는 일반적으로 미러 모듈이 동작할 것으로 추정됩니다. 질문 Q-1703af5207cb7ade (열림)

매개변수 Channel을(를) 통해 해당 LIN 채널이 전달되며, MirroringActive은(는) 모드를 제어합니다 [SWS_LinIf_00876]: TRUE 전달 시 미러링이 활성화되고, FALSE 전달 시 비활성화됩니다 [SWS_LinIf_00876]. 반환값으로 미러링 모드가 성공적으로 변경된 경우 함수는 E_OK을(를) 반환하거나, 유효하지 않은 채널이 지정되었거나 미러링이 전역적으로 비활성화된 경우 E_NOT_OK을(를) 반환합니다 [SWS_LinIf_00876]. 특정 DET 또는 DEM 오류 메시지는 함수 정의에 명시되어 있지 않습니다 [SWS_LinIf_00876].

버스 미러링이 LinIfBusMirroringSupported을(를) 통해 전역적으로 활성화되고 해당 채널에 대해서도 활성화된 경우, LIN 인터페이스는 관련 이벤트를 Mirror_ReportLinFrame(으)로 전달합니다:

  • 상태 LIN_RX_OK 및 페이로드 포인터 [SWS_LinIf_00838]와(과) 함께 LinIf_RxIndication 시 수신된 프레임, 그리고 Rx 슬롯에 대한 LIN 드라이버 상태 판독 시 [SWS_LinIf_00873].
  • 상태 LIN_TX_OK 및 전송된 데이터 포인터 [SWS_LinIf_00839]와(과) 함께 LinIf_TxConfirmation 시 송신된 프레임, 그리고 Tx 슬롯에 대한 LIN 드라이버 상태 판독 시 [SWS_LinIf_00874].
  • LIN_ERR_HEADER을(를) 제외한 모든 오류 코드에 대해 오류 상태 및 데이터 콘텐츠로서의 NULL 포인터와 함께 LinIf_LinErrorIndication 시의 오류 알림 [SWS_LinIf_00869].

이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_WakeupConfirmation [SWS_LinIf_00715] 📄 PDF

void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);

The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ec4ca05f8c6e 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 LinIf_WakeupConfirmation은(는) 웨이크업 이벤트의 성공적인 감지를 LIN 인터페이스에 보고하는 데 사용됩니다 [SWS_LinIf_00715].

호출 및 매개변수

호출은 Check Wakeup 중 또는 버스를 통한 전원 켜기(power on by bus) 후 성공적인 웨이크업 감지가 발생한 후 LIN 드라이버(LIN Driver) 또는 LIN 트랜시버 드라이버(LIN Transceiver Driver)에 의해 수행됩니다 [SWS_LinIf_00715]. 전달 매개변수로 EcuM_WakeupSourceType 타입의 WakeupSource이(가) 전달되며, 이는 웨이크업 이벤트를 시작한 소스 장치(LIN 컨트롤러 또는 LIN 트랜시버)를 지정합니다 [SWS_LinIf_00715].

실행 속성 및 인터페이스

이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.

함수 LinIf_HeaderIndication [SWS_LinIf_91004] 📄 PDF

Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);

The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 19187e1b092a 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 LinIf_HeaderIndication은 슬레이브 채널에서 LIN 헤더의 수신을 보고하기 위해 LIN 드라이버에 의해 동기적으로 호출됩니다 [SWS_LinIf_91004]. 이는 ECU에 구성된 LIN 슬레이브 채널이 하나 이상 있는 경우에만 제공됩니다 [SWS_LinIf_91004]. 이 함수는 서로 다른 채널에 대해 재진입 가능하지만, 동일한 채널에 대해서는 병행하여 호출되어서는 안 됩니다 [SWS_LinIf_91004].

Inout 매개변수 PduPtr을 통해 드라이버는 수신된 식별자(PID) 및 SDU 데이터 버퍼에 대한 포인터를 전달합니다 [SWS_LinIf_91004]. LinIf는 PID를 평가하고 슬레이브 노드의 응답을 제어합니다:

  • 수신 프레임: PID가 구성된 수신 프레임에 속하는 경우, LinIf는 반환하기 전에 체크섬 유형 PduPtr->Cs, 데이터 길이 PduPtr->Dl을 설정하고 PduPtr->Drc에 값 LIN_FRAMERESPONSE_RX을 할당합니다 [SWS_LinIf_00733].
  • 전송 프레임: 전송 프레임인 경우, LinIf는 <User_TriggerTransmit>을 통해 페이로드를 요청합니다 [SWS_LinIf_00738]. 성공적으로 제공되면(반환값 E_OK 또는 노드 구성 핸들러 / 전송 프로토콜에 의한 SRF 데이터), 체크섬과 길이가 구성되고 PduPtr->Drc이 LIN_FRAMERESPONSE_TX로 설정됩니다 [SWS_LinIf_00739]. 조회가 E_NOT_OK으로 실패하면 PduPtr->Drc이 LIN_FRAMERESPONSE_IGNORE로 설정됩니다 [SWS_LinIf_00740].
  • 관련 없는 프레임: 프레임이 슬레이브와 관련이 없는 경우, LinIf는 PduPtr->Drc 또한 LIN_FRAMERESPONSE_IGNORE로 설정합니다 [SWS_LinIf_00748].

또한 각 호출은 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)를 다시 로드합니다 [SWS_LinIf_00754]. 호출이 성공적인 LinIf_Wakeup 이후 처음으로 수행되는 경우, <User>_WakeupConfirmation(TRUE)가 트리거됩니다 [SWS_LinIf_00761]. SRF 헤더 수신 시 LinIf는 연속 프레임(CF)에 대한 N_As 타이머도 시작합니다 [SWS_LinIf_00800]. 반환값으로 E_OK는 요청 수락을 나타내며, E_NOT_OK은 개발 또는 생산 오류를 나타냅니다 [SWS_LinIf_91004].

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 LinIf_RxIndication [SWS_LinIf_91005] 📄 PDF

void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);

The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6091ff4a3b4f 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 LinIf_RxIndication은 수신 데이터를 포함하여 응답(Response)의 성공적인 수신을 LIN 인터페이스에 알리기 위해 LIN 드라이버에 의해 동기적으로 호출됩니다 [SWS_LinIf_91005]. 이 함수는 하나 이상의 구성된 LIN 슬레이브 채널을 가진 ECU에서만 제공됩니다 [SWS_LinIf_91005].

매개변수화 및 동시성과 관련하여 다음 조건이 적용됩니다:

  • 매개변수: 채널 식별 Channel 및 섀도 버퍼 또는 LIN 하드웨어의 메모리 매핑된 수신 버퍼에 대한 포인터 Lin_SduPtr이 전달됩니다 [SWS_LinIf_91005]. 이 포인터는 실제로 응답이 수신된 경우에만 유효합니다 [SWS_LinIf_91005].
  • 반환값: 이 함수는 반환값이 없습니다(void) [SWS_LinIf_91005].
  • 재진입성: 인터페이스는 서로 다른 LIN 채널에 대해 재진입 가능하지만, 동일한 채널에 대해서는 재진입할 수 없습니다 [SWS_LinIf_91005].

모듈 동작과의 상호작용에서 이 호출은 여러 조정 작업을 트리거합니다:

  • <User_RxIndication>을 통해 수신된 페이로드 및 페이로드 길이를 상위 계층으로 전달 [SWS_LinIf_00734].
  • 슬립 명령 확인: NAD 0을 갖는 마스터 요청 프레임(MRF)인 경우, LIN 인터페이스는 Go-to-Sleep 명령을 인식하고 슬립 모드로의 전환을 시작합니다 [SWS_LinIf_00750].
  • 타이머 제어: 각 호출 시 버스 유휴 타이머(Bus-Idle-Timer)가 다시 로드됩니다 [SWS_LinIf_00754]. 또한 호출은 MRF 프레임(FF, CF)에서 N_Cr 타이머를 제어합니다(FF 및 마지막 프레임 전의 CF에서 시작/재시작, 마지막 CF에서 중지) [SWS_LinIf_00805].
  • 버스 미러링: 미러링이 전역적으로 그리고 해당 채널에 대해 활성화된 경우, LIN 인터페이스는 상태 LIN_RX_OK을 가진 프레임을 Mirror_ReportLinFrame()을 통해 전달합니다 [SWS_LinIf_00838].

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_TxConfirmation [SWS_LinIf_91006] 📄 PDF

void LinIf_TxConfirmation (NetworkHandleType Channel);

The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4b5b40f235ec 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 콜백 함수 LinIf_TxConfirmation(서비스 ID 0x7a, LinIf.h에 선언됨)은 지정된 채널에서 응답(Response)의 성공적인 전송을 확인하기 위해 LIN 드라이버에 의해 호출됩니다 [SWS_LinIf_91006]. 이 함수는 반환값이 없으며 구성된 LIN 슬레이브 채널이 하나 이상 있는 ECU 전용입니다 [SWS_LinIf_91006].

확인이 도착하면 LIN 인터페이스는 다음과 같은 몇 가지 후속 처리를 수행합니다:

  • 상위 계층 알림: 모듈은 반환값 E_OK과 함께 콜백 함수 <User_TxConfirmation>을 통해 전송 이벤트를 상위 계층으로 전달합니다 [SWS_LinIf_00741].
  • 오류 상태: 성공적으로 전송된 프레임에 오류 신호 response_error이 포함되어 있는 경우, LIN 인터페이스는 이 신호를 재설정합니다 [SWS_LinIf_00747].
  • 버스 유휴 모니터링: LinIf_TxConfirmation을 호출할 때마다 채널의 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)가 다시 로드됩니다 [SWS_LinIf_00754].
  • 전송 프로토콜(LinTp): 드라이버가 SRF 헤더(Slave Response Frame)에 대한 응답을 확인하면, 인터페이스는 모니터링 타이머 N_As을 중지합니다 [SWS_LinIf_00800].
  • 버스 미러링: 미러링이 LinIfBusMirroringSupported을 통해 전역적으로 구성되고 LinIf_EnableBusMirroring()에 의해 활성화된 경우, 인터페이스는 상태 LIN_TX_OK 및 전송 데이터에 대한 포인터와 함께 프레임을 Mirror_ReportLinFrame()에 보고합니다 [SWS_LinIf_00839].

동시성과 관련하여 LinIf_TxConfirmation은 서로 다른 LIN 채널에 대해 재진입 가능하도록 설계되었지만, 동일한 채널에 대해 재진입 가능하게 호출되어서는 안 됩니다 [SWS_LinIf_91006].

이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 LinIf_LinErrorIndication [SWS_LinIf_91007] 📄 PDF

void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);

The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d5f182fa17f5 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기 함수 LinIf_LinErrorIndication은 헤더 또는 응답 처리 중 발생한 오류를 보고하기 위해 LIN 드라이버에 의해 호출됩니다 [SWS_LinIf_91007]. 이 함수는 LIN 슬레이브 노드 전용이며, ECU에 하나 이상의 구성된 LIN 슬레이브 채널이 있어야 합니다 [SWS_LinIf_91007]. 매개변수로 채널 식별 Channel 및 Lin_SlaveErrorType 유형의 발생한 오류 상태 ErrorStatus가 전달됩니다 [SWS_LinIf_91007].

오류 처리 및 동시성

이 함수는 서로 다른 채널에 대해 재진입 가능(reentrant)하지만, 동일한 채널에 대해서는 동시에 호출되어서는 안 됩니다 [SWS_LinIf_91007]. 호출 시 LIN 인터페이스는 응답 또는 전송된 프레임이 손실된 것으로 간주하고, 보고된 오류 상태가 LIN_ERR_HEADER가 아닌 한 런타임 오류 LINIF_E_RESPONSE을 Default Error Tracer(DET)에 보고합니다 [SWS_LinIf_00735], [SWS_LinIf_00743].

상호작용 및 버스 모니터링

전달된 오류 코드와 관계없이 LIN 인터페이스는 LinIf_LinErrorIndication이 호출될 때마다 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)를 다시 로드합니다 [SWS_LinIf_00754]. SRF 헤더를 수신한 후 SRF 응답에서 오류가 발생하면, LIN 인터페이스는 전송을 중단하고 PduR_LinTpTxConfirmation를 통해 결과 E_NOT_OK과 함께 이를 상위 계층에 보고합니다 [SWS_LinIf_00796].

LinIfBusMirroringSupported을 통한 버스 미러링이 전역적으로 활성화되어 있고 해당 채널에 대해 켜져 있는 경우, LIN 인터페이스는 데이터 내용에 대한 NULL 포인터와 함께 Mirror_ReportLinFrame()를 통해 LIN_ERR_HEADER이 아닌 오류를 전달합니다 [SWS_LinIf_00869]. 이때 드라이버 오류 코드는 사전에 Lin_StatusType 유형의 해당 상태 값으로 변환됩니다 [SWS_LinIf_00870].

이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 <User_TriggerTransmit> [SWS_LinIf_00528] 📄 PDF

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f12957ea5e9a 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

구성 가능한 인터페이스 <User_TriggerTransmit>은(는) 대기 중인 전송을 위해 상위 모듈에서 SDU 데이터를 동기식으로 가져오는 데 사용됩니다 [SWS_LinIf_00528].

매개변수 TxPduId을(를) 통해 요청된 SDU가 식별되며, PduInfoPtr은(는) 대상 버퍼(SduDataPtr) 및 사용 가능한 버퍼 크기(SduLength)가 포함된 구조체에 대한 포인터로 전달됩니다 [SWS_LinIf_00528]. 호출된 상위 모듈은 이 API 내에서 준비된 데이터가 보고된 버퍼 크기에 맞는지 확인합니다 [SWS_LinIf_00528]. 충분한 공간이 있는 경우, 모듈은 데이터를 SduDataPtr(으)로 복사하고, 실제로 복사된 바이트 수로 SduLength을(를) 업데이트하며, 반환값 E_OK(으)로 성공을 알립니다 [SWS_LinIf_00528].

반면 버퍼 크기가 충분하지 않은 경우, SDU 데이터는 복사되지 않으며 모듈은 PduInfoPtr을(를) 변경하지 않고 E_NOT_OK을(를) 반환합니다 [SWS_LinIf_00528]. E_NOT_OK의 반환값이 발생한 경우, 호출자는 유효하지 않은 데이터를 가리키거나 NULL 포인터일 수 있으므로 PduInfoPtr을(를) 절대로 사용해서는 안 됩니다 [SWS_LinIf_00528].

동시성과 관련하여, 이 함수는 서로 다른 PDU ID에 대해서는 재진입 가능하지만 동일한 PDU ID에 대해서는 재진입 불가합니다 [SWS_LinIf_00528].

이 사용 지침은 AUTOSAR 명세 SWS_LinIf_00528을 기반으로 합니다.

함수 <User_TxConfirmation> [SWS_LinIf_00529] 📄 PDF

void <User_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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 37f6ac5aed5e 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

구성 가능한 콜백 함수 <User_TxConfirmation>은(는) 상위 계층에 PDU 전송 또는 전송 실패를 확인하기 위해 하위 통신 인터페이스 모듈에 의해 호출됩니다 [SWS_LinIf_00529]. 호출은 동기식으로 수행되며 반환값을 반환하지 않습니다 [SWS_LinIf_00529].

매개변수 및 시맨틱

  • TxPduId(In): PduIdType 타입의 전송된 PDU 식별자를 나타냅니다 [SWS_LinIf_00529].
  • result(In): 전송의 성공 상태를 Std_ReturnType(으)로 보고하며, 성공적인 PDU 전송 시 E_OK 값을, 실패한 전송 시 E_NOT_OK 값을 가집니다 [SWS_LinIf_00529].

동시성 및 오류 처리

재진입성과 관련하여 이 함수는 서로 다른 PDU ID에 대해 재진입 가능하도록 설계되었지만, 동일한 PDU ID에 대해서는 재진입 가능하게 호출되어서는 안 됩니다 [SWS_LinIf_00529]. 모듈은 이 인터페이스에 대해 별도의 오류 코드나 DET 또는 DEM 메시지를 지정하지 않으며, 전송 실패는 대신 매개변수 값 E_NOT_OK을(를) 통해 표시됩니다 [SWS_LinIf_00529]. 서비스가 구성 가능한 것으로 지정되어 있으므로, 실제 함수 식별자는 구성된 사용자 계층에 따라 통합 시 특정하게 결정될 것으로 추정됩니다 [SWS_LinIf_00529]. 질문 Q-35de931161f26cb8 (열림)

이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.

함수 <User_RxIndication> [SWS_LinIf_00530] 📄 PDF

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: efc39fd11ced 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 <User_RxIndication>은(는) 하위 통신 인터페이스 모듈에서 상위 계층으로 수신된 PDU를 알리는 데 사용됩니다 [SWS_LinIf_00530]. 호출은 동기식 시맨틱으로 수행되며 반환값이 없습니다 [SWS_LinIf_00530].

매개변수 및 인터페이스 사양

이 함수는 두 개의 입력 매개변수를 상위 레이어에 전달합니다 [SWS_LinIf_00530]:

  • RxPduId: PduIdType 타입의 수신된 PDU 식별자 [SWS_LinIf_00530].
  • PduInfoPtr: 페이로드 길이(SduLength), 페이로드가 포함된 버퍼에 대한 포인터(SduDataPtr) 및 PDU에 대한 관련 메타데이터를 제공하는 PduInfoType 타입 구조체에 대한 포인터 [SWS_LinIf_00530].

이 인터페이스에는 입출력 매개변수나 순수 출력 매개변수가 모두 제공되지 않습니다 [SWS_LinIf_00530].

동시성 및 구성

재진입성과 관련하여 이 함수는 서로 다른 PDU ID에 대해서는 재진입 가능하도록 설계되었지만, 동일한 PDU ID에 대해서는 명시적으로 재진입 불가로 지정되어 있습니다 [SWS_LinIf_00530]. 따라서 호출자는 동일한 RxPduId에 대해 중첩 호출이 발생하지 않도록 해야 합니다. 이 함수는 구성 가능한 인터페이스로 선언되어 있으므로 [SWS_LinIf_00530], 상위 계층의 구체적인 함수 이름은 모듈 구성을 통해 결정될 것으로 추정됩니다. 질문 Q-94175e8cd86775b6 (열림)

이 사용 지침은 명세 SWS_LinIf_00530을 기반으로 자동 생성되었습니다.

함수 <User_ResponseErrorSignalChanged> [SWS_LinIf_00856] 📄 PDF

void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);

Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7b27a8f9e901 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

인터페이스 <User_ResponseErrorSignalChanged>은 LinIf 모듈에서 Response-Error 신호의 값 변경을 새 신호 값과 함께 보고하는 알림 함수 역할을 합니다 [SWS_LinIf_00856]. 호출은 동기식으로 수행되며 서비스 ID 0x74를 갖습니다 [SWS_LinIf_00856]. 입출력 매개변수나 반환값은 제공되지 않으며 시그니처는 반환 타입 void로 정의됩니다 [SWS_LinIf_00856].

전달 매개변수로 함수는 순수 입력값 두 개를 필요로 합니다 [SWS_LinIf_00856]:

  • Channel(NetworkHandleType 타입): 해당 LIN 채널의 고유 식별자 [SWS_LinIf_00856].
  • RespErrSigValue(boolean 타입): Response-Error 신호의 현재 값입니다. 이 매개변수는 신호가 1로 설정된 경우 true이고 그렇지 않으면 false입니다 [SWS_LinIf_00856].

동시성 및 호출 컨텍스트와 관련하여, 이 함수는 서로 다른 채널에 대해 재진입 가능하지만 동일한 채널에 대해서는 재진입 가능하게 호출되어서는 안 된다고 명시되어 있습니다 [SWS_LinIf_00856]. 기능적 제약 사항 중 하나는 이 알림 서비스가 LIN 슬레이브 노드에만 적용 가능하다는 점입니다 [SWS_LinIf_00856]. 선언은 헤더 파일 LinIf_Externals.h를 통해 제공됩니다 [SWS_LinIf_00856].

이 텍스트는 AUTOSAR R20-11 사양을 기반으로 AI에 의해 생성되었습니다.

함수 <User_SaveConfigurationRequest> [SWS_LinIf_00857] 📄 PDF

boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);

Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f9fc99467908 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

콜백 함수 <User_SaveConfigurationRequest>(서비스 ID 0x75)은 상위 계층에 'Save Configuration' 요청의 수신을 알리며 LinIf_Externals.h에 선언되어 있습니다 [SWS_LinIf_00857]. 이 인터페이스는 LIN 슬레이브 노드에만 적용 가능합니다 [SWS_LinIf_00857].

호출은 동기식으로 수행되며 재진입 가능으로 명시되어 있습니다 [SWS_LinIf_00857]:

  • 매개변수: NetworkHandleType 타입의 입력 매개변수 Channel을(를) 통해 해당 LIN 채널이 전달됩니다 [SWS_LinIf_00857]. 추가 입력 또는 출력 매개변수는 존재하지 않습니다 [SWS_LinIf_00857].
  • 반환값: 함수는 boolean 타입의 값을 반환합니다 [SWS_LinIf_00857]. 반환값 TRUE은(는) 긍정 응답이 LIN 버스로 전송되어야 함을 나타내는 반면, FALSE은(는) 어떠한 응답의 전송도 금지합니다 [SWS_LinIf_00857].

오류 처리와 관련하여 명세는 특정 오류 코드나 DET 또는 DEM 메시지를 정의하지 않습니다 [SWS_LinIf_00857]. 오류 또는 거부 시의 동작은 FALSE에 의해 응답 전송을 방지함으로써 부울 반환값을 통해 직접 제어됩니다 [SWS_LinIf_00857]. 호출이 재진입 가능으로 분류되어 있으므로, 이 함수는 서로 다른 채널에서의 동시 호출을 위해 설계되었을 것으로 추정됩니다 [SWS_LinIf_00857]. 질문 Q-84432030c1aff644 (열림)

이 텍스트는 AUTOSAR R20-11 명세를 기반으로 AI에 의해 생성되었습니다.

타입 LinIf_SchHandleType [SWS_LinIf_00197] 📄 PDF

Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255

타입 LinIf_ConfigType [SWS_LinIf_00668] 📄 PDF

A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.

타입 LinTp_ConfigType [SWS_LinIf_00426] 📄 PDF

This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification

타입 LinTp_Mode [SWS_LinIf_00629] 📄 PDF

This type denotes which Schedule table can be requested by LIN TP during diagnostic session

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 237979748ffe 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 LinTp_Mode은 헤더 파일 LinIf.h에 정의되어 있으며, 진단 세션 동안 LIN 전송 프로토콜(LIN TP)에 의해 어떤 스케줄 테이블 모드가 요청될 수 있는지 정의합니다 [SWS_LinIf_00629].

값 범위에는 LIN 버스에서의 스케줄 전환을 제어하기 위한 세 가지 열거형 리터럴이 포함됩니다 [SWS_LinIf_00629]:

  • LINTP_APPLICATIVE_SCHEDULE: 정기 메시지 통신을 위한 애플리케이션 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].
  • LINTP_DIAG_REQUEST: 진단 요청 전송을 위한 마스터 요청 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].
  • LINTP_DIAG_RESPONSE: 진단 응답 수신을 위한 슬레이브 응답 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].

상호작용과 관련하여 이 유형은 LIN 인터페이스 내에서 진단 전송과 일반 애플리케이션 통신 간의 전환에 사용됩니다 [SWS_LinIf_00629]. 특정 호출 컨텍스트, 재진입 특성 또는 오류 처리(예: DET 또는 DEM 메시지)는 순수 데이터 유형인 이 유형에 대해 출처에 명시되어 있지 않습니다. 추정컨대 이 유형은 LIN 전송 프로토콜에 의해 LIN 인터페이스로 전달되는 제어 호출 시 함수 매개변수로 전달됩니다. 질문 Q-1bf7553401882471 (열림)

이 텍스트는 AI에 의해 작성되었으며, 전적으로 AUTOSAR 릴리스 R20-11 사양을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

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

Record
AUTOSAR/AP/record/CP_MOD_LinIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinIf@rel:R20-11#ab0baf88
Content hash
ab0baf88
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINInterface.pdf#nameddest=SWS_LinIf_00198

초기화 및 상태

Returns the version information of this module.

void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinIf_Init 함수

Initializes the LIN Interface.

void LinIf_Init (const LinIf_ConfigType* ConfigPtr);

Returns the version information of this module.

void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinTp_Init 함수

Initializes the LIN Transport Layer.

void LinTp_Init (const LinTp_ConfigType* ConfigPtr);

서비스 · Get…

Reports the current configured NAD. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);

Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);

Returns the actual sta te of a LIN Transceiver Driver.

Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);

Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.

Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);

서비스 · Set…

Sets the current configured NAD. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);

Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.

Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);

Set the given LIN transceiver to the given mode.

Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);

This API enables, disables and cl ears the notification for wakeup events on the addressed network

Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);

서비스 · 기타

Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.

Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);

Enables or disables mirroring for a LIN channel.

Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);

Initiates a transition into the Sleep Mode on the selected channel.

Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);

The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);

The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);

Requests a schedule table to be executed. Only used for LIN master nodes.

Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);

Re quests transmission of a PDU.

Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Initiates the wake up process.

Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);

The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.

void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);

Request to change a specific transport protocol parameter (e.g. block size).

Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Shutdowns the LIN TP.

void LinTp_Shutdown (void);

Requests transmission of a PDU.

Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

콜백

The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);

The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).

void LinIf_TxConfirmation (NetworkHandleType Channel);

콜아웃 및 예상 인터페이스

Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface

void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);

Indication of a received PDU from a lower layer communication interface module.

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.

boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

타입

A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.

Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255

This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification

LinTp_Mode 타입

This type denotes which Schedule table can be requested by LIN TP during diagnostic session