본문 바로가기
자동차 임베디드 SW/Classic Autosar_이슈들

AUTOSAR COM. Rx Timeout

by 존버매니아.임베디드 개발자 2022. 5. 30.
반응형

Com 모듈에는 데드라인 모니터 라는 기능이 있다.
줄여서 DM 이다.

수신 메세지에 대한 타임아웃을 Detect 하는 기능이다.

Time out Detection 기능을 쓰려면 DM 기능을 Enable 해야한다.

참고로 각각의 PDU마다 개별적으로 Enable한다.


Com 모듈은 시그널 기반으로 동작하기 때문에 타임아웃 역시 시그널 단위로 제공한다.

각 시그널에 대해 타임아웃 Detect 하는 주기를 설정하고, 타임아웃이 감지될 경우 User Notification Callback을 호출하게 할 수 있다.

또는, Notification callback을 Rte가 생성하고, 유저는 Rte_Read를 할 때 return 값을 통해 타임아웃 유무를 확인하는 방법도 있다.

Ex)
result = Rte_Read_SampleData(&data)


CAN 통신의 경우 하나의 메세지에 다수개의 시그널이 포함되므로, 하나의 메세지가 타임아웃이 발생하면 해당 메세지에 포함되는 모든 시그널들이 다 같이 타임아웃이 발생할 것이다.

시그널이 아니라 메세지 1개에 대한 타임아웃을 감지하고 싶을 수 있다. 근데 메세지(PDU)에 타임아웃을 제공하지는 않기 때문에 시그널 타임아웃을 적절히 활용할 수 있겠다.

반응형