앞 단계에서 Component를 생성했다면
이제는 Component 간 데이터를 주고받기 위한 '통신 구조'를 만들어야 한다.
AUTOSAR에서는 이 통신 구조를 Interface / Port 로 정의한다.
이 개념을 이해하지 못하면 RTE, 신호 전달, 함수 호출이 전부 막히기 때문에
반드시 정확히 이해하고 넘어가야 한다.
1. Interface / Port 개념
### Interface란?
데이터의 "형식"을 정의한다.
예:
- uint8 데이터
- 구조체
- 신호 집합
즉, "어떤 데이터를 주고받을 것인가"를 정의한다.
### Port란?
Component 외부와 연결되는 "통로"이다.
즉, "어디로 데이터를 주고받을 것인가"를 정의한다.
### 관계 정리
- Interface = 데이터 정의
- Port = 연결 통로
"Port는 Interface를 참조해서 동작한다"
2. 통신 구조 이해 (중요)
AUTOSAR에서 Component 간 통신은 다음 구조로 이루어진다.
Component A ── (Port) ── Interface ── (Port) ── Component B
* 송신 Component → Provide Port (P-Port)
* 수신 Component → Require Port (R-Port)
P-Port 와 R-Port 가 서로 연결되는 통신 구조.
즉, 송신 포트와 수신 포트가 서로 연결되는 통신 구조를 확실히 이해하자.
3. Interface 생성
ARPackage 를 생성해서 SenderReceiverInterfaces 라는 이름으로 설정한다.
(본인은 Interface 들을 이렇게 관리하려고 한다.)
해당 ARPackage 에서 마우스 우클릭 → New → Sender Receiver Interface 를 생성한다.
Interface 종류는 Sender Receiver Interface 와 Client Server Interface 가 있으나
이 둘의 차이는 나중에 설명하기로 하고, 일단은 Sender Receiver Interface 를 생성하겠다.

Interface 를 생성하고 Short Name 을 수정하여 Interface 이름을 변경한다.
본인은 SR_CDM 이라는 인터페이스를 만들었다.

4. Data Element 정의
Interface 내부에 실제 데이터를 정의한다고 생각하면 된다.
New 를 클릭하여 Data Element 를 추가하고, Short Name 수정 및 데이터 타입을 정의한다.

5. Port 생성
전 단계에서 추가한 Component 에서 Ports 탭에 '+' 아이콘을 클릭하여
Sender Receiver Interface > Sender 를 선택하여 Port 를 생성한다.

Interface 종류는 위처럼 많지만 우선은 위에서 만든 Sender Receiver Interface 를 사용한다.
- Provide Port (P-Port) : 데이터를 보내는 쪽
- Require Port (R-Port) : 데이터를 받는 쪽
방향이 중요하니 아무거나 선택하면 안된다.
이렇게 추가된 P-Port 를 선택하여 Short Name 을 수정(필수 아님)하고,
Enable Provied Com Specs 를 체크하여 통신 스펙을 활성화시킨다.

Enable Provided Com Specs를 체크하면
해당 P-Port(Sender)에 대해 통신 스펙(ComSpec)을 활성화하는 것이다.
즉, 이 Port를 통해 어떤 방식으로 데이터를 보낼지를 구체적으로 정의할 수 있게 된다.
위와 같은 방식으로 다른 Component 에서 데이터를 받기 위한 R-Port 를 생성하면 된다.
왜 R-Port가 필요한가?
AUTOSAR에서는 Component 간 직접 접근이 불가능하다.
반드시 다음 구조를 사용해야 한다.
Sender (P-Port) → Interface → Receiver (R-Port)
즉, R-Port가 있어야 다른 Component 의 데이터를 사용할 수 있다.
정리
Port / Interface 설정은 다음 순서로 진행된다.
1. Interface 생성
2. Data Element 정의
3. Component에 Port 생성
4. Port에 Interface 연결
5. Composition에서 Port 연결 (다음에 설명)
하나라도 빠지면 통신 안된다.
1) Interface만 만들고 Port 연결 안함 → 통신 불가
2) P-Port / R-Port 방향 반대로 설정 → 데이터 전달 안됨
3) Composition 연결 누락 → RTE 생성 안됨
4) Data Type 불일치 → Compile 에러 발생
'mobilgene' 카테고리의 다른 글
| 기본 동작 6. Runnable 생성 및 동작 추가 (0) | 2026.04.10 |
|---|---|
| 기본 동작 5. P-Port 와 R-Port 연결 하기 (0) | 2026.04.10 |
| 기본 동작 3. component 추가 방법 (2) | 2026.04.10 |
| 기본 동작 2. Project Import 방법 (0) | 2026.04.09 |
| 기본 동작 1. Build Command (0) | 2026.04.09 |