LIN State Manager (LinSM)
Manages state transitions of LIN networks.
Funktionen — Übersicht
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);This function initializes the Lin SM.Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);The upper layer requests a schedule table to be changed on one LIN network.void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);-Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);Function to query the current communication mode.Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);Requesting of a communication mode.void LinSM_MainFunction (void);Periodic function that runs the timers of different request timeoutsvoid LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);The Lin If module will call this callback when the new requested schedule table is active.void LinSM_GotoSleepIndication (NetworkHandleType Channel);The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs.void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.
Typen — Übersicht
enum LinSM_ModeTypeType used to report the current mode to the Bsw Mstruct LinSM_ConfigTypeData structure type for the post - build configuration parameters.
Funktionen & Typen — Detailansicht
함수 LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
함수 LinSM_Init은(는) AUTOSAR Classic 플랫폼에서 LIN State Manager(LinSM) 소프트웨어 모듈의 초기화에 사용됩니다 [SWS_LinSM_00155].
사용법 및 인터페이스 매개변수:
- 호출 동기화: 초기화 함수의 실행은 동기식(
Synchronous)으로 명시되어 있습니다 [SWS_LinSM_00155]. - 입력 매개변수: 유일한 매개변수로
const LinSM_ConfigType*타입의ConfigPtr이(가) 전달됩니다 [SWS_LinSM_00155]. 이는 LinSM의 포스트 빌드 구성 데이터에 대한 포인터 역할을 합니다 [SWS_LinSM_00155]. - 기타 매개변수 및 반환값: 이 인터페이스는 반환값(
void)을 반환하지 않습니다 [SWS_LinSM_00155]. 추가적인 입출력 매개변수나 순수 출력 매개변수는 존재하지 않습니다 [SWS_LinSM_00155]. - 헤더 파일 및 서비스 식별자: 선언은 헤더 파일
LinSM.h을(를) 통해 제공되며 서비스 ID0x01을(를) 갖습니다 [SWS_LinSM_00155].
동시성 및 제약 사항:
LinSM_Init의 실행에 대해 함수가 재진입 불가(Non reentrant)인 것으로 지정되어 있습니다 [SWS_LinSM_00155]. 따라서 여러 스레드를 통한 병렬 호출이나 더 높은 우선순위 컨텍스트에 의한 인터럽트 호출은 허용되지 않습니다 [SWS_LinSM_00155].
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 LinSM_ScheduleRequest [SWS_LinSM_00113] 📄 PDF
Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);
The upper layer requests a schedule table to be changed on one LIN network.
사용
함수 LinSM_ScheduleRequest은(는) 지정된 LIN 채널에서 스케줄 테이블의 전환을 요청하기 위해 상위 계층에 의해 호출됩니다 [SWS_LinSM_00113]. 인터페이스는 헤더 파일 LinSM.h에 정의되어 있으며, 서비스 ID 0x10을(를) 가지고 비동기식 및 재진입 가능하게 작동합니다 [SWS_LinSM_00113]. 호출 시 해당 채널은 매개변수 network(NetworkHandleType)을(를) 통해, 원하는 새 테이블은 schedule(LinIf_SchHandleType)을(를) 통해 전달됩니다 [SWS_LinSM_00113].
오류 처리 및 반환값
모듈이 테이블 전환 요청을 수락한 경우, 함수는 E_OK을(를) 반환합니다 [SWS_LinSM_00113]. 반면 예를 들어 모듈이 아직 초기화되지 않아 호출을 실행할 수 없는 경우, 함수는 반환값 E_NOT_OK을(를) 제공합니다 [SWS_LinSM_00113]. DET 또는 DEM에 대한 특정 오류 코드는 이 서비스에 대해 나열되어 있지 않습니다.
경계 조건 및 상호작용
함수의 제공 여부는 주로 구성 매개변수 LinSMNodeType에 따라 결정됩니다: LinSM_ScheduleRequest은(는) 모듈이 적어도 하나의 채널에서 LIN 마스터 노드로 구성된 경우에만 독점적으로 제공되며, 순수 LIN 슬레이브 구성에서는 생략됩니다 [SWS_LinSM_00241]. 동일한 방식으로 관련 확인 함수 LinSM_ScheduleRequestConfirmation 역시 마스터 노드 구성을 필요로 합니다 [SWS_LinSM_00242]. 상위 계층으로의 성공적으로 완료된 비동기 테이블 전환에 대한 피드백은 아마도 이 확인 함수를 통해 수행될 것으로 추정됩니다. 질문 Q-34c3ec02381c72ca (열림)
이 텍스트는 AI에 의해 작성되었으며, 공신력 있는 기준은 AUTOSAR 규격입니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinSM_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
함수 LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF
Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
Function to query the current communication mode.
함수 LinSM_RequestComMode [SWS_LinSM_00126] 📄 PDF
Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);
Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.
사용법 및 호출 컨텍스트
헤더 파일 LinSM.h에 선언된 함수 LinSM_RequestComMode(서비스 ID 0x12)은 전달된 LIN 네트워크에 대한 통신 모드를 비동기적으로 요청하는 역할을 합니다 [SWS_LinSM_00126]. NetworkHandleType 유형의 매개변수 network를 통해 해당 LIN 채널이 식별되며, ComM_ModeType 유형의 mode은 원하는 통신 모드를 지정합니다 [SWS_LinSM_00126]. 실제 모드 전환은 즉각적으로 발생하지 않으며, LinSM은 모드 천이가 성공적으로 완료된 후에만 호출자에게 알립니다 [SWS_LinSM_00126]. 해석: 모드 전환이 채널 수준에서 요청되고 확인되므로 ComM이 기본 호출자 역할을 할 것으로 추정됩니다. 질문 Q-0fcce16df8a29149 (열림)
반환값 및 동시성
해당 인터페이스는 재진입 가능(reentrant)한 것으로 지정되어 있으며 Std_ReturnType 유형의 상태 값을 반환합니다 [SWS_LinSM_00126]:
E_OK: 요청이 LinSM에 의해 성공적으로 수락되었습니다 [SWS_LinSM_00126].E_NOT_OK: 예를 들어 LinSM 모듈이 아직 초기화되지 않은 경우와 같이 요청 실행이 불가능합니다 [SWS_LinSM_00126].
오류 처리 및 상호 작용
오류 처리의 일환으로 LIN 인터페이스와의 상호작용이 정의되어 있습니다. 하위의 LinIf_GotoSleep 호출이 반환 값 E_NOT_OK을 제공하는 경우, LinSM_RequestComMode는 반드시 E_NOT_OK도 반환해야 합니다 [SWS_LinSM_00177]. 함수가 E_NOT_OK를 반환하는 경우, ComM_BusSM_ModeIndication 및 BswM_LinSM_CurrentState로의 해당 피드백이 발생하도록 LinSM에서 동일한 상태가 유지되거나 설정되어야 합니다 [SWS_LinSM_00177].
이 텍스트는 자동으로 생성되었습니다. 모든 기술적 진술은 전적으로 AUTOSAR R20-11의 사양 데이터를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF
void LinSM_MainFunction (void);
Periodic function that runs the timers of different request timeouts
사용
함수 LinSM_MainFunction은(는) AUTOSAR Classic 아키텍처 내에서 LIN State Manager(LinSM) 모듈의 중심 주기적 메인 함수 역할을 합니다 [SWS_LinSM_00156]. 명세에 따르면 이 함수는 구문 void LinSM_MainFunction (void) 및 16진수 서비스 ID 0x30을(를) 가집니다 [SWS_LinSM_00156]. 매개변수를 받지 않고 반환값도 제공하지 않으므로 모듈 내에서 순수하게 상태 기반으로 작동합니다 [SWS_LinSM_00156]. 주요 기능적 역할은 다양한 요청 타임아웃(Request Timeouts)을 모니터링하는 내부 타이머를 지속적으로 구동하고 업데이트하는 것입니다 [SWS_LinSM_00156].
호출 컨텍스트 및 스케줄링
인터페이스의 선언은 헤더 파일 SchM_LinSm.h을(를) 통해 이루어집니다 [SWS_LinSM_00156]. 해석: Schedule Manager로의 이러한 통합으로 인해 이 함수는 OS 태스크의 컨텍스트에서 BSW 스케줄러에 의해 주기적으로 호출될 것으로 추정됩니다. 질문 Q-d83f7b3f0b251f4f (열림) 이러한 주기적인 사이클은 LIN 채널 및 상태 요청 시 발생하는 타임아웃 조건을 결정론적으로 감지하고 처리할 수 있도록 하는 데 필수적입니다. DET 오류 코드나 DEM 이벤트와 같은 특정 오류 처리 및 공식적인 재진입성 기준은 본 명세 범위에서 이 서비스에 대해 명시되어 있지 않으므로 생략됩니다.
이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] 📄 PDF
void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);
The Lin If module will call this callback when the new requested schedule table is active.
사용
함수 LinSM_ScheduleRequestConfirmation은(는) LinSM 모듈의 콜백 인터페이스 역할을 하며 서비스 ID 0x20을(를) 가집니다 [SWS_LinSM_00129]. 헤더 파일 LinSM.h을(를) 통해 사용할 수 있으며, 이전에 요청된 새 스케줄 테이블이 LIN 버스에서 활성화되자마자 LIN 인터페이스(LinIf)에 의해 호출됩니다 [SWS_LinSM_00129].
이 인터페이스는 반환값을 가지지 않으며(void) LinSM에 두 개의 입력 매개변수를 전달합니다 [SWS_LinSM_00129]:
network(NetworkHandleType): 해당 LIN 통신 채널을 고유하게 식별하는 데 사용됩니다 [SWS_LinSM_00129].schedule(LinIf_SchHandleType): 새로 활성화된 스케줄 테이블에 대한 식별자 또는 포인터를 전달합니다 [SWS_LinSM_00129].
동시성 및 상호 작용
LinSM_ScheduleRequestConfirmation의 실행은 동기식 및 재진입 가능으로 명시되어 있습니다 [SWS_LinSM_00129]. 입출력 매개변수(inout 또는 out)는 존재하지 않습니다 [SWS_LinSM_00129]. 상호작용은 LinSM에 스케줄 테이블의 상태 전환을 확인하기 위해 이 콜백 함수를 호출하는 LinIf 모듈과 밀접하게 결합되어 수행됩니다 [SWS_LinSM_00129]. 해석: LinIf가 호출자로 작동하므로, 호출 컨텍스트는 LinIf 드라이버 또는 인터페이스의 처리 흐름에 연결되어 있을 것으로 추정됩니다. 질문 Q-500d6a653bfbaac0 (열림)
본 사용 지침은 AUTOSAR 규격을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinSM_GotoSleepIndication [SWS_LinSM_91000] 📄 PDF
void LinSM_GotoSleepIndication (NetworkHandleType Channel);
The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.
콜백 함수 LinSM_GotoSleepIndication([SWS_LinSM_91000])은 채널을 슬립 상태로 전환하는 것에 대해 LIN State Manager에 알리는 역할을 합니다. 네트워크에서 Go-to-Sleep 명령이 수신되거나 버스 유휴 타임아웃이 발생하면 LIN Interface(LinIf)에 의해 호출이 수행됩니다.
사용법 및 호출 컨텍스트
이 함수는 동기식으로 실행되며 반환 값이 없습니다([SWS_LinSM_91000]). 헤더 LinSM.h을 통해 제공되며 서비스 ID 0x03를 가집니다. 유일한 매개변수는 채널 식별 역할을 합니다:
Channel(In):NetworkHandleType유형([SWS_LinSM_91000])을 통해 해당 LIN 채널을 식별합니다.
입출력 매개변수(inout)나 출력 매개변수(out)는 지정되어 있지 않습니다([SWS_LinSM_91000]).
동시성 및 제약사항
동시성과 관련하여 이 인터페이스는 재진입 가능(reentrant)으로 정의되어 있습니다([SWS_LinSM_91000]). 주된 기능적 제한 사항은 노드 속성과 관련이 있습니다. 이 콜백은 LIN 슬레이브 노드 전용이며 슬레이브 노드에만 적용 가능합니다([SWS_LinSM_91000]).
이 사용 참고사항은 전적으로 AUTOSAR 릴리스 R20-11의 사양 데이터를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinSM_GotoSleepConfirmation [SWS_LinSM_00135] 📄 PDF
void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);
The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.
콜백 함수 LinSM_GotoSleepConfirmation은(는) [SWS_LinSM_00135]에 따라 LIN 네트워크에서 Go-to-Sleep 명령이 전송되었거나 전송이 실패했을 때 LIN Interface(LinIf)에 의해 호출됩니다.
사용법 및 매개변수
콜백은 서비스 ID 0x22을(를) 가지며, 헤더 LinSM.h을(를) 통해 선언되고 반환값을 가지지 않습니다 [SWS_LinSM_00135]. 식별 및 상태 전달을 위해 두 개의 전달 매개변수가 사용됩니다:
network:NetworkHandleType타입을 통해 해당 LIN 채널을 식별합니다 [SWS_LinSM_00135].success: Go-to-Sleep 명령이 버스로 성공적으로 전송될 수 있었는지(true) 아니었는지(false)를 부울 값으로 나타냅니다 [SWS_LinSM_00135].
실행 컨텍스트 및 동시성
명세는 호출을 동기식 및 재진입 가능으로 정의합니다 [SWS_LinSM_00135]. 해석: LinSM 모듈은 매개변수 success을(를) 기반으로 해당 네트워크에 대한 내부 상태를 업데이트하고 버스에서의 대기 상태로의 전환이 확인되었는지 판단할 것으로 추정됩니다. 질문 Q-b5dfd51188b9ff0b (열림) 페이로드에는 이 인터페이스에 대한 오류 처리, 반환값 또는 특정 DET나 DEM 메시지가 명시되어 있지 않습니다 [SWS_LinSM_00135].
이 텍스트는 AI에 의해 생성되었으며, AUTOSAR 명세만이 구속력을 갖습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinSM_WakeupConfirmation [SWS_LinSM_00132] 📄 PDF
void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);
The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.
콜백 함수 LinSM_WakeupConfirmation은 LIN 상태 관리자에서 LIN 네트워크상의 웨이크업 신호 전송에 대한 확인 역할을 합니다 [SWS_LinSM_00132]. 네트워크에서 웨이크업 신호를 전송하라는 명령이 성공적으로 전송되었거나 성공적으로 전송되지 않은 즉시 LIN 인터페이스(LinIf)에 의해 호출됩니다 [SWS_LinSM_00132].
호출 컨텍스트, 동시성 및 매개변수 전달에는 다음 사양 특성이 적용됩니다 [SWS_LinSM_00132]:
- 동기화 동작 및 재진입성: 함수의 실행은 동기식(Synchronous)으로 수행되며 재진입 가능(Reentrant)으로 분류됩니다 [SWS_LinSM_00132].
- 채널 식별(
network): 전달된NetworkHandleType유형의 입력 매개변수는 전송 프로세스가 발생한 각 LIN 채널을 지정합니다 [SWS_LinSM_00132]. - 성공 상태(
success): 이 불리언 매개변수는 웨이크업 신호가 성공적으로 전송될 수 있었는지(true) 또는 전송이 실패했는지(false)를 나타냅니다 [SWS_LinSM_00132]. - 반환 값 및 입출력 매개변수: 이 함수는 반환 값(
void)이 없으며 출력 매개변수나 입출력 매개변수를 모두 정의하지 않습니다 [SWS_LinSM_00132].
이 인터페이스는 서비스 ID 0x21을 가지며 헤더 파일 LinSM.h을 통해 제공됩니다 [SWS_LinSM_00132]. 특정 오류 코드와 Default Error Tracer(DET) 또는 Diagnostic Event Manager(DEM) 모듈을 통한 오류 처리 요구사항은 사양 요소에 명시되어 있지 않습니다 [SWS_LinSM_00132].
이 사용 지침은 AUTOSAR Classic Release R20-11 사양을 기반으로 합니다.
타입 LinSM_ModeType [SWS_LinSM_00220] 📄 PDF
Type used to report the current mode to the Bsw M
데이터 타입 LinSM_ModeType은(는) 기본 타입 uint8을(를) 기반으로 구축되고 헤더 LinSM.h을(를) 통해 제공되는 LIN State Manager의 표준 타입입니다 [SWS_LinSM_00220]. 이 타입의 주된 역할은 LIN 네트워크의 현재 통신 모드를 BSW Mode Management(BswM)에 보고하는 것입니다 [SWS_LinSM_00220].
LinSM_ModeType에 대해 값 범위 내에서 두 가지 상태가 명시되어 있습니다 [SWS_LinSM_00220]:
LINSM_FULL_COM(숫자 값0x01): 무제한 완전 통신(Full communication) 상태를 알립니다 [SWS_LinSM_00220].LINSM_NO_COM(숫자 값0x02): 진행 중인 통신이 없는 상태(No communication)를 나타냅니다 [SWS_LinSM_00220].
오류 처리 및 동시성과 관련하여, 기본 타입 선언이므로 타입 정의 자체에는 별도의 오류 코드, DET 메시지 또는 DEM 이벤트가 포함되어 있지 않습니다 [SWS_LinSM_00220]. 해석: 이 타입의 값을 BswM에 전달하는 것은 LinSM의 상위 상태 전환의 일환으로 수행될 것으로 추정되며, 호출자는 정의된 상태를 벗어난 허용되지 않는 값이 전달되지 않도록 해야 합니다. 질문 Q-fe193732b8be2388 (열림)
이 사용 지침은 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 LinSM_ConfigType [SWS_LinSM_00221] 📄 PDF
Data structure type for the post - build configuration parameters.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_LinSM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_LinSM@rel:R20-11#72900639- Content hash
72900639- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문