본문 바로가기
AUTOSAR

AUTOSAR Port Interface 종류 총정리 (SenderReceiver / ClientServer 쉽게 이해하기)

by Autosar 2026. 4. 21.
반응형

AUTOSAR를 공부하다 보면 SWC, RTE, Composition까지는 어느 정도 이해되지만,

실제로 모델을 만들거나 설정을 시작하는 순간 가장 많이 헷갈리는 개념이 있다. 바로 Port 와 Interface 다.

 

실무에서도 AUTOSAR 설정 화면을 열어보면 다양한 Port 타입과 Interface 종류가 등장한다.

처음 보는 입장에서는 아래와 같은 질문이 자연스럽게 생긴다.

 

- Port는 정확히 무엇을 의미하는가?

- Interface는 Port와 무엇이 다른가?

- SenderReceiver와 ClientServer는 왜 나뉘어 있는가?

- 어떤 상황에서 어떤 Interface를 선택해야 하는가?

- P-Port와 R-Port는 Interface와 어떤 관계인가?

 

이 부분이 중요한 이유는 AUTOSAR 소프트웨어 구조에서 기능 자체는 SWC 안에 구현되지만,

기능과 기능을 연결하는 구조는 Port와 Interface가 담당하기 때문이다.

 

즉, Port와 Interface를 이해하지 못하면 AUTOSAR 전체 데이터 흐름도 이해하기 어렵다.

 

이번 글에서는 AUTOSAR Port와 Interface의 기본 개념부터 주요 종류, 가장 많이 사용하는 SenderReceiver / ClientServer의 차이, 그리고 실무에서 왜 이 구조가 중요한지까지 자세히 정리한다.

 

1. Port란 무엇인가?

 

Port는 SWC가 외부와 통신하기 위해 사용하는 연결 지점이다.

AUTOSAR에서 하나의 SWC는 독립적으로 존재하지 않는다.

다른 SWC와 데이터를 주고받아야 하고, 서비스 기능을 호출해야 하며, 시스템 상태를 전달받아야 한다.

 

이때 외부와 연결되는 공식적인 통로가 Port다.

 

예를 들어 어떤 SWC가 차량 속도를 입력받아야 한다면 속도 입력 Port가 필요하다.

반대로 어떤 SWC가 램프 점등 명령을 외부로 보내야 한다면 출력 Port가 필요하다.

 

즉, Port는 단순한 이름 정보가 아니라 SWC의 입출력 관계를 정의하는 핵심 구조 요소다.

 

Port가 존재함으로써 다음과 같은 장점이 생긴다.

- 기능 간 연결 관계가 명확해진다.

- 입력과 출력 책임이 분리된다.

- 데이터 흐름 추적이 쉬워진다.

- 시스템 구조를 시각적으로 표현할 수 있다.

- 코드와 설계 모델의 연결성이 높아진다.

 

AUTOSAR에서 Port는 단순 변수 접근 방식이 아니라, 구조화된 아키텍처 통신 모델의 일부다.

 

2. Interface란 무엇인가?

 

Port가 연결 지점이라면, Interface는 그 Port를 통해 어떤 방식으로 통신할지 정의하는 규칙이다.

 

Port만 존재한다고 해서 통신이 가능한 것은 아니다. 연결된 두 컴포넌트가 어떤 데이터를 주고받는지, 함수 호출인지 데이터 전달인지, 데이터 타입은 무엇인지 같은 약속이 필요하다. 이 역할을 Interface가 담당한다.

 

즉, Interface에는 다음과 같은 정보가 포함된다.

 

- 통신 방식

- 데이터 요소 정의

- Operation 정의

- Argument 구조

- 데이터 타입

- 전달 방향

- 접근 방식

 

같은 Port라도 어떤 Interface를 사용하느냐에 따라 동작 방식이 완전히 달라진다.

 

예를 들어 단순 상태값 전달이라면 SenderReceiver Interface가 적합하고, 특정 기능 수행 요청이라면 ClientServer Interface가 적합하다.

 

따라서 AUTOSAR에서 Interface는 단순 옵션이 아니라 통신 의미 자체를 결정하는 핵심 설계 요소다.

 

3. Port와 Interface의 관계

 

Port와 Interface는 별개 개념이지만 항상 함께 사용된다.

 

Port는 “어디서 연결되는가”를 정의하고,

Interface는 “무엇을 어떤 방식으로 주고받는가”를 정의한다.

 

즉, AUTOSAR 통신 구조는 아래 두 요소가 결합되어 완성된다.

이 구조 덕분에 동일한 기능 구조를 유지하면서도 Interface만 변경해 통신 방식을 확장하거나 분리할 수 있다.

또한 시스템 설계자는 Port를 통해 연결 구조를 보고, 개발자는 Interface를 통해 실제 데이터 의미를 이해할 수 있다.

 

4. Port 종류 (P-Port / R-Port)

 

AUTOSAR Port는 역할 기준으로 크게 두 가지로 나뉜다.

 

4-1. Provided Port (P-Port)

Provided Port는 데이터를 제공하거나 서비스를 제공하는 Port다.

즉, 해당 SWC가 외부에 어떤 기능을 내보내는 역할을 한다.

다른 SWC는 이 Port를 통해 값을 읽거나 서비스를 사용할 수 있다.

 

Provided Port는 아래와 같은 상황에서 사용된다.

- 상태값 제공

- 계산 결과 제공

- 제어 명령 제공

- 서비스 함수 제공

- 내부 데이터 공개

 

P-Port는 시스템 관점에서 “출력 측 인터페이스”로 이해하면 된다.

 

4-2. Required Port (R-Port)

Required Port는 다른 SWC가 제공하는 데이터나 서비스를 사용하는 Port다.

즉, 현재 SWC가 스스로 모든 기능을 가지지 않고 외부 기능에 의존할 때 사용한다.

 

Required Port는 아래 상황에서 자주 사용된다.

- 센서 값 읽기

- 상태 정보 읽기

- 공통 서비스 호출

- 저장 기능 요청

- 시스템 모드 확인

 

R-Port는 시스템 관점에서 “입력 측 인터페이스” 역할을 한다.

 

4-3. 왜 P-Port와 R-Port를 나누는가?

AUTOSAR는 데이터 흐름 방향과 책임 관계를 명확히 하기 위해 Port를 구분한다.

 

만약 모든 Port가 동일 타입이라면 아래 문제가 발생한다.

- 누가 데이터를 생성하는지 불명확함

- 누가 소비하는지 불명확함

- 연결 방향 추적 어려움

- 설계 검증 난이도 증가

 

따라서 P-Port / R-Port 구분은 단순 문법이 아니라 시스템 구조 안정성을 위한 중요한 규칙이다.

 

5. AUTOSAR 주요 Interface 종류

 

AUTOSAR에는 목적에 따라 여러 Interface가 존재한다.

 

프로젝트마다 사용 비율은 다르지만,

대부분의 일반적인 ECU 개발에서는 SenderReceiverClientServer가 가장 중심이 된다.

 

6. Sender Receiver Interface란?

 

Sender Receiver Interface는 AUTOSAR에서 가장 널리 사용되는 통신 방식이다.

이 방식은 이름 그대로 한쪽에서 데이터를 보내고 다른 쪽에서 데이터를 받는 구조다.

 

핵심은 “기능 요청”이 아니라 데이터 전달이라는 점이다.

 

즉, 어떤 계산을 해달라고 요청하는 것이 아니라 현재 상태값, 센서값, 제어값 같은 정보를 전달하는 데 사용된다.

 

6-1. 어떤 데이터에 사용되는가?

Sender Receiver Interface는 다음과 같은 데이터에 적합하다.

- 차량 속도

- 배터리 전압

- IGN 상태

- 스위치 입력

- 온도 값

- 도어 상태

- 모터 상태

- 목표 위치 값

- 현재 모드 값

 

즉, 주기적으로 바뀌는 상태 정보나 측정값 대부분이 여기에 해당한다.

 

6-2. 왜 많이 사용되는가?

차량 소프트웨어에서 가장 많은 통신은 결국 상태값 공유다.

수많은 ECU와 기능 모듈은 서로의 현재 상태를 알아야 한다.

(예: 속도를 알아야 자동 잠금 가능, 온도를 알아야 공조 제어 가능, 기어 상태를 알아야 안전 로직 가능 등...)

 

이러한 구조 때문에 SenderReceiver Interface는 AUTOSAR에서 가장 빈도가 높다.

 

6-3. 특징

- 데이터 중심 통신 방식

- 주기 실행 구조와 잘 맞음

- 신호 기반 설계에 적합

- 구현 구조가 비교적 단순함

- 확장성이 좋음

 

7. Client Server Interface란?

 

Client Server Interface는 데이터 전달보다 기능 수행 요청에 초점이 맞춰진 방식이다.

한쪽 컴포넌트가 특정 작업을 요청하면, 다른 쪽 컴포넌트가 그 작업을 수행하고 결과를 돌려주는 구조다.

 

즉, 단순히 값을 읽는 것이 아니라 어떤 행위를 실행하는 의미를 가진다.

 

7-1. 어떤 기능에 사용되는가?

Client Server Interface는 아래와 같은 기능에 적합하다.

- EEPROM 저장 요청

- 메모리 읽기 요청

- 진단 서비스 실행

- 오류 상태 보고

- 계산 서비스 호출

- 시간 정보 요청

- 암호화 기능 호출

- 시스템 서비스 접근

 

즉, “무언가를 해달라”는 요청 구조일 때 사용된다.

 

7-2. 왜 별도 구조가 필요한가?

기능 요청은 단순 데이터 전달과 다르다.

 

예를 들어 메모리 저장 기능은 아래 요소가 필요할 수 있다.

- 요청 시점

- 성공/실패 결과

- 에러 코드

- 처리 시간

- 입력 인자

 

이런 구조는 단순 Signal 전달만으로 표현하기 어렵다.

그래서 ClientServer Interface가 필요하다.

 

7-3. 특징

- 서비스 중심 통신 방식

- 요청/응답 구조 지원

- Return 값 처리 가능

- 복수 인자 전달 가능

- 공통 서비스 모듈과 잘 맞음

 

8. Sender Receiver vs Client Server 차이
구분 Sender Receiver Client Server
핵심 목적 데이터 전달 기능 요청
통신 의미 상태 공유 작업 수행
대표 대상 속도, 센서, 상태 저장, 진단, 계산
처리 구조 값 읽기/쓰기 요청 후 응답
사용 빈도 매우 높음 높음

 

가장 간단하게 정리하면:

상태 정보를 공유하고 싶다 → Sender Receiver

특정 작업을 시키고 싶다 → Client Server

 

9. Nv Data Interface란?

 

Nv Data Interface는 비휘발성 데이터와 관련된 Interface다.

전원이 꺼져도 유지되어야 하는 데이터를 다룰 때 사용된다.

 

대표 예시는 아래와 같다.

- 사용자 설정값

- 마지막 상태 저장값

- 차량 개인화 설정

 

프로젝트에 따라 직접 다루기보다 NvM 모듈과 연계되어 사용되는 경우가 있다.

 

10. ModeSwitchInterface란?

 

Mode Switch Interface는 시스템 동작 모드 전환과 관련된 통신 방식이다.

차량 소프트웨어는 항상 동일 상태로 동작하지 않는다. 상황에 따라 모드가 변경된다.

 

예:

- Normal Mode

- Sleep Mode

- SleepReady Mode

- Diagnostic Mode

- Fail Safe Mode

 

이러한 시스템 상태 변화를 다른 컴포넌트에 전달할 때 사용된다.

 

11. Parameter Interface란?

 

Parameter Interface는 실행 중 계속 변하는 값보다, 설정값이나 기준값 전달에 사용된다.

대표 예시는 아래와 같다.

- 속도 임계값

- 타이머 설정값

- 전류 제한값

- 제어 Gain 값

- 지역 설정값

 

즉, 동적 상태값보다 캘리브레이션 성격이 강한 값에 적합하다.

 

12. Trigger Interface란?

 

Trigger Interface는 데이터 내용보다 “이벤트 발생 자체”가 중요할 때 사용된다.

 

예를 들면:

- 시작 요청

- 초기화 요청

- 리셋 요청

 

값을 지속적으로 보관하는 구조보다 특정 시점의 이벤트 전달에 적합하다.

 

13. 왜 Interface를 여러 종류로 나누는가?

 

AUTOSAR가 Interface를 세분화한 이유는 모든 통신을 하나의 방식으로 처리하면 의미가 불분명해지기 때문이다.

따라서 AUTOSAR는 통신 의미에 따라 Interface를 구분하여:

- 모델 가독성 향상

- 자동 코드 생성 정확도 향상

- 유지보수성 향상

- 시스템 검증 용이성 확보

를 가능하게 한다.

 

14. 실무에서 가장 중요한 포인트

 

모든 Interface를 한 번에 외울 필요는 없다.

대부분 프로젝트에서 가장 자주 사용하는 것은 아래 두 가지다.

- Sender Receiver Interface (SR)
- Client Server Interface (CS)

 

입문 단계에서는 이 두 구조를 확실히 이해하는 것이 가장 중요하다.

그 이후 프로젝트가 커질수록 Nv Data, Mode Switch, Parameter, Trigger를 자연스럽게 접하게 된다.

 

정리

 

AUTOSAR Port Interface는 SWC 간 통신 방식과 의미를 정의하는 구조이며,

데이터 전달은 Sender Receiver, 기능 요청은 Client Server가 핵심이다.

반응형