Invisible Safety,

Proven by Intelligence

보이지 않는 안전을 인텔리전스로 증명하다.

기술 노트
IT 산업의 변화를 이끄는 MDS인텔리전스의
기술 인사이트를 만나보세요.
시스템 소프트웨어 개발
[SW검증센터] 임베디드 시스템 네트워크 품질 보증 기술과 E2E 표준 소개
2026년 01월 29일

임베디드 시스템에서 테스트 환경을 구축하는 것은 일반 소프트웨어 테스트 활동과 크게 다릅니다.

자동차 산업에서는 물리적 ECU 모델과 PC 기반의 에뮬레이터를 다양한 네트워크 프로토콜로 연결하여 종합적인 테스트 환경을 만들어야 합니다.

이러한 환경은 소프트웨어 품질 보증 활동에서 측정, 보정, 데이터 수집 과정을 지원하기 위해 필수적입니다. #ETASES582나 VECTOR #VN1640A 와 같은 도구가 이를 지원하는 데 자주 사용됩니다.



ECU 기능의 화이트박스 및 블랙박스 테스트는 내부 네트워크를 구축해야 가능하며, 이 과정에서 트랜시버 검증은 통신 환경의 견고성을 보장하기 위한 중요한 단계입니다. 체크섬(checksum) 및 순환 중복 검사(CRC) 알고리즘과 같은 네트워크 오류 감지 기술은 통신 중 데이터 무결성을 유지하는 데 중요한 역할을 합니다.



이 글에서는 #AUTOSAR E2E Profile 5 표준과 이를 실제 환경에 어떻게 적용할 수 있는지 탐구합니다.

또한 #CANoe에서 사용하는 CAPL 언어를 기반으로 E2E Profile 5를 적용하여 체크섬과 CRC 알고리즘을 구현하고, CAN 통신 중 단선/단락 또는 타임아웃 오류와 같은 장애 조건을 시뮬레이션하는 방법을 보여줍니다.



 




AUTOSAR E2E 표준이란?


AUTOSAR (Automotive Open System Architecture)의 E2E(Ent-to-End) 보호 라이브러리는 자동차 네트워크에서 통신 오류를 감지하고 처리하도록 설계된 여러 프로파일을 제공합니다. 



이 프로파일에는 체크섬, CRC, 시퀀스 카운터, 타임아웃 감지 등의 사양이 포함됩니다.





E2E를 사용하는 이유는?


 #E2E 프로파일은 통신 시스템이 다음과 같은 오류를 감지할 수 있도록 보장합니다.

    · 신호 손실 또는 손상

    · 타임아웃 오류

    · 데이터 패킷의 순서 오류


 


각 프로파일은 오류 감지 기술과 적합한 사용 사례를 정의합니다. 



예시)

프로파일 1 : 자원 사용을 최소화하는 데 중점

프로파일 5 : 다중 프레임 통신을 처리하며 고급 오류 감지 및 교정 기능을 제공


 


E2E 표준 전체는 AUTOSAR 4.4.0 명세서에서 확인할 수 있습니다. 


문서 : AUTOSAR_E2EProtocol.pdf 

참고 페이지: 5.5절 “E2E Profile 5 Specification”



 




E2E Profile 5의 주요 구성 요소


E2E Profile 5는 자동차 네트워크 노드 간의 강력한 데이터 전송을 보장하기 위한 고급 메커니즘을 제공합니다.

주요 요소는 다음과 같습니다.


  1.  CRC 계산: 다항식 기반 알고리즘을 사용하여 손상된 데이터를 감지.

  2.  시퀀스 카운터: 누락되거나 순서가 잘못된 프레임 식별. 

  3.  타임아웃 감지: 통신 간격을 모니터링하여 데이터가 적시에 전달되도록 보장.






체크섬 및 CRC 알고리즘 작동 방식


 체크섬 

체크섬은 데이터 프레임의 모든 바이트 값을 더하는 단순한 오류 감지 알고리즘입니다. 속도와 리소스 사용 측면에서 효율적이지만, CRC에 비해 오류 감지 능력이 제한적입니다.



 CRC (순환 중복 검사) 

CRC는 다항식 나눗셈을 사용하여 각 데이터 프레임에 고유 코드를 계산하는 더욱 강력한 방법입니다.

수신 노드는 데이터를 수신할 때 CRC 값을 다시 계산하고 전송된 CRC와 비교하여 일치 여부를 확인합니다.


E2E Profile 5는 특정 CRC 다항식과 구현 방법을 정의합니다.


예)

    · CRC 다항식: 0x1021 (CRC-16-CCITT)

    · 초기 값: 0xFFFF

    · XOR 값: 0x0000


 





체크섬 및 CRC 동작 CAPL 예시 코드


다음은 E2E 프로파일 5에서 정의된 CRC 및 체크섬 에러 탐색 실행 스크립트입니다.


물리적 HW ECU와 CAN 노드 에뮬레이터 사이의 통신 상황에서 사용됩니다.



variables

{

    message CAN_Message; // Message to be sent

    dword calculatedCRC; // CRC calculated for the message

    word checksum;       // Checksum value

}


// Calculate Checksum

word calculateChecksum(byte data[], int length)

{

    word sum = 0;

    for (int i = 0; i < length; i++)

    {

        sum += data[i];

    }

    return (word)(sum & 0xFFFF); // Return 16-bit checksum

}


// Calculate CRC using E2E Profile 5

dword calculateCRC(byte data[], int length)

{

    dword crc = 0xFFFF; // Initial CRC value

    dword polynomial = 0x1021; // CRC-16-CCITT Polynomial

    for (int i = 0; i < length; i++)

    {

        crc ^= (data[i] << 8);

        for (int j = 0; j < 8; j++)

        {

            if (crc & 0x8000)

            {

                crc = (crc << 1) ^ polynomial;

            }

            else

            {

                crc <<= 1;

            }

        }

    }

    return crc & 0xFFFF; // Return 16-bit CRC

}


// Transmit Message

on timer cycle

{

    byte data[8] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; // Example data

    checksum = calculateChecksum(data, 8);

    calculatedCRC = calculateCRC(data, 8);

    CAN_Message.id = 0x123; // Example CAN ID

    CAN_Message.dlc = 8;

    CAN_Message.byte(0) = checksum & 0xFF; // Add checksum to the message

    CAN_Message.byte(1) = calculatedCRC >> 8; // Add CRC high byte

    CAN_Message.byte(2) = calculatedCRC & 0xFF; // Add CRC low byte

    output(CAN_Message);

}

 

// Simulate Fault Condition

on message CAN_Message

{

    if (/* fault condition simulated */)

    {

        write("Fault detected: Timeout/Error in transmission.");

    }

}


 


출처 : E2E Protocol Specification (AUTOSAR.org)



이처럼 E2E 표준을 자동차 통신 시스템에 구현하면 신뢰할 수 있는 데이터 교환과 견고한 오류 감지를 보장할 수 있습니다.

오류 시나리오를 시뮬레이션하고 알고리즘이 이를 처리하는 방식을 관찰함으로써 엔지니어는 실제 자동차 애플리케이션에서 임베디드 시스템의 품질과 신뢰성을 보장할 수 있습니다.



MDS인텔리전스는 VectorCAST, HelixQAC, CodeSonar등 다양한 도구를 활용해 최고의 검증 솔루션을 제공하는 전문가 팀으로 구성되어 있습니다.

컨설팅 서비스 및 프로젝트 투입 인력 지원 등으로 고객의 요구에 맞춘 솔루션을 제공하니 많은 관심 부탁드립니다.




​​MDS인텔리전스

임베디드 소프트웨어 고품질 및 신뢰성 확보를 위한, SW 검증센터

E. sve@mdsit.co.kr