일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- ecu
- C++
- diag
- Mobilgen
- CAN stack
- C
- COM모듈
- 정적할당
- C언어
- VFB
- AUTOSAR
- Can 스택
- Application Layer
- UDS
- Can
- 배열
- 단방향링크드리스트
- RTE
- Classic AUTOSAR
- softwareComponent
- 순수가상함수
- AUTOSA
- 싱글링크드리스트
- AutoSar설계
- Com Stack
- AUTOSAR CAN통신
- Com 스택
- UDS프로토콜
- 진료순서정하기
- MCU
- Today
- Total
이현구의 공부방
[AUTOSAR] CAN 스택 - COM 모듈 본문
그림 출처 : 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 |