티스토리 뷰

개발/그 외 개발관련

BSW(Basic Software)에서 ComM 모듈

부캐: 개발하는 조대리 2025. 2. 3. 18:24
반응형

BSW(Basic Software)에서 ComM

🔹 ComM (Communication Manager) 개요

ComM은 AUTOSAR(AUTomotive Open System ARchitecture) 표준에서 정의된 모듈 중 하나로, 차량의 네트워크 통신을 관리하는 역할을 합니다.

 

 

 

 

📌 ComM의 역할

ComM은 자동차의 네트워크 통신을 효율적으로 제어하기 위해 다음과 같은 기능을 수행합니다.

  1. 통신 상태 관리
    • CAN, LIN, FlexRay, Ethernet 등 다양한 네트워크의 통신 활성화 및 비활성화를 제어합니다.
    • 네트워크를 사용하지 않을 때는 저전력 모드로 전환하여 전력 소모를 최소화합니다.
  2. ECU의 통신 요청 조정
    • 여러 ECU(Electronic Control Unit)가 통신을 요청할 때, ComM이 이를 조정하여 충돌 없이 네트워크가 동작하도록 합니다.
  3. 통신 모드 전환
    • AUTOSAR 네트워크 관리(NM, Network Management)와 연계하여 네트워크 모드를 변경합니다.
    • 주요 모드:
      • Full Communication (통신 활성화)
      • No Communication (통신 비활성화)
      • Silent Communication (수신만 가능, 송신 차단)
  4. 네트워크 부하 최적화
    • 필요하지 않은 ECU의 통신을 차단하거나 절전 모드로 전환하여 네트워크 트래픽을 줄입니다.

 

📌 ComM이 AUTOSAR에서 위치하는 구조

ComM은 AUTOSAR BSW(Basic Software) 계층에서 **서비스(Service Layer)**에 속하며, 다음과 같은 모듈과 연동됩니다.

계층 관련 모듈

BSW(Basic Software)에서 ComM

Application Layer 차량의 기능을 구현하는 소프트웨어 컴포넌트(SW-C)
Service Layer ComM (Communication Manager), DCM (Diagnostic Communication Manager)
ECU Abstraction Layer CAN Driver, LIN Driver, FlexRay Driver
Microcontroller Layer 실제 하드웨어 제어 (MCU, PHY)

 

 

📌 ComM의 주요 인터페이스

BSW(Basic Software)에서 ComM

ComM은 AUTOSAR의 다른 모듈과 다양한 인터페이스를 통해 상호작용합니다.

1️⃣ ComM과 네트워크 관리 모듈(NM)

  • NM(Network Management) 모듈과 협력하여 네트워크의 활성화 및 절전 모드 전환을 수행합니다.

2️⃣ ComM과 통신 스택 (CAN, LIN, FlexRay)

  • CAN, LIN, FlexRay 등과 직접 연결되어 네트워크 통신을 조정합니다.

3️⃣ ComM과 Diagnostic Communication Manager (DCM)

  • 진단 모드에서 ECU가 통신해야 하는 경우, DCM과 협력하여 통신을 유지합니다.

 

📌 ComM을 사용하는 이유

BSW(Basic Software)에서 ComM

전력 절감: ECU가 필요할 때만 통신하도록 조정하여 배터리 소모를 줄임
통신 충돌 방지: 여러 ECU가 동시에 네트워크를 사용하려 할 때 조정
네트워크 효율 최적화: 필요하지 않은 ECU의 통신을 제한하여 트래픽 감소

 

📌 ComM이 실제 사용되는 사례

BSW(Basic Software)에서 ComM

🚗 예제 1: 자동차 시동 후 네트워크 활성화

  • 운전자가 시동을 걸면, ComM은 CAN 네트워크를 Full Communication 모드로 전환하여 ECU 간 통신을 가능하게 함.

🚗 예제 2: 차량이 정차 중일 때 저전력 모드

  • 일정 시간 동안 ECU가 통신을 하지 않으면 Silent Communication 또는 No Communication 모드로 전환하여 전력 절약.

🚗 예제 3: 차량 정비 시 강제 통신 활성화

  • 정비소에서 OBD 진단 장치를 연결하면, DCM과 협력하여 통신이 유지되도록 제어.

 

📌 ComM 관련 주요 AUTOSAR 설정 (C, C++ 예제)

ComM 설정 예제 (C 코드)

다음은 AUTOSAR 환경에서 ComM을 설정하는 간단한 예제입니다.

#include "ComM.h"

void InitializeCommunication(void) {
    /* ComM 초기화 */
    ComM_Init();

    /* 특정 채널에 대한 통신 활성화 요청 */
    ComM_RequestComMode(COMM_CHANNEL_0, COMM_FULL_COMMUNICATION);

    /* 현재 통신 상태 확인 */
    ComM_ModeType currentMode;
    ComM_GetCurrentComMode(COMM_CHANNEL_0, &currentMode);

    if (currentMode == COMM_FULL_COMMUNICATION) {
        printf("통신이 활성화되었습니다.\n");
    }
}

int main() {
    InitializeCommunication();
    return 0;
}

 

 

📌 결론

BSW(Basic Software)에서 ComM

ComM(Communication Manager)은 AUTOSAR 환경에서 ECU의 네트워크 통신을 효율적으로 제어하는 모듈입니다. 이를 통해 차량의 전력 소비를 줄이고, 통신 충돌을 방지하며, ECU 간의 네트워크 관리를 최적화할 수 있습니다. 🚗💡