이현구의 공부방

[AUTOSAR] CAN 스택 - COM 모듈 본문

AutoSar/기본기

[AUTOSAR] CAN 스택 - COM 모듈

이현구 2023. 6. 20. 12:31

그림 출처 : https://www.autoelectronics.co.kr/article/articleView.asp?idx=2436

 

CAN 통신 스택은 CAN 송수신에 필요한 COM, PduR, CanIf, CanDrv 등이 있다.

 

 

아래 그림1과 같이 BSW 영역에 CAN 통신 관련 모듈들이 있으며, COM 모듈에 대하여 설명한다.

위와 같이 ASW와 BSW는 다른 계층으로, 독립적이라고 말할 수 있다.

 

COM 모듈은 RTE 밑에 BSW의 Communication Servies에 있으며 COM  기준 상위 Layer에서는 Singal을 사용하며 하위는 PDU와 Frame을 사용한다. 

 

※ Signal : Com 모듈과 상위 Layer인 Rte와 서로 주고 받는 메시지, AUTOSAR CAN DB에 정의 되어 있다.

※ PDU : Com 모듈의 하위 계층간 메시지 전송을 위한 프로토콜 추상화.  AUTOSAR CAN DB에 정의 되어 있다.

※ Frame : Can Bus를 통하여 메시지를 ECU간 송수신하며 PDU를 포함하고 있다.  AUTOSAR CAN DB에 정의 되어있다.

 

COM 모듈의 역활은 App에서 전달된 Signal을 받아 아래 BSW 영역과 Bus Off등 내부, 외부 통신을 하기 위하여 Signal을 

PDU 형태로 변환하여 전달한다. 

그리고 하위 BSW에서 받은 PDU는 다시 Signal로 바꾸어 App 으로 전달해주는 역활을 한다.

 

 

- CAN  송신 : App에서 전달된 Signal은 COM에 I-PDU 버퍼에 저장되어지고 PduR_ComTransmit 함수를 통하여 I-PDU 형태로 PduR모듈로 전달되어진다. 

 

- CAN 수신 :  PduR 모듈에서 Com_RxIndication 함수를 통하여 수신된 PDU가 있음을 COM에게 알려주며,

COM에서는 I-PDU에서 Signal을 분석하여 해당 Signal과 연결되어 있는 Callback 함수를 호출하여 RTE를 통해서 App에 전달한다.

 

송신 : App(Signal) --> COM (I-PDU 버퍼 저장) -> PduR_ComTrasmit 함수(Signal->I-PDU 형태 변환) -> PduR

수신 : PduR -> COM_RxIndication -> PDU수신알림 -> COM(I-PDU-> Signal 분석) -> Callback -> RTE -> App 

 

또한 COM 모듈은 Signal에 대하여 여러가지 상황(timeout, Data Received, Data Send 등)을 ASW에 알려준다.

'AutoSar > 기본기' 카테고리의 다른 글

[AUTOSAR] CAN 송수신  (0) 2023.03.30
[AUTOSAR] Mode Management  (0) 2023.03.21
[AUTOSAR] CAN 통신  (0) 2023.03.21
[AUTOSAR] Generate와 Compile의 차이  (0) 2023.03.21
[AUTOSAR] RTU, MCU 개념  (0) 2023.03.17
Comments