ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DoIP (Diagnostic over Internet Protocol) - TP 설정
    diagnostic 2025. 4. 7. 23:21

    개요

    • TP 설정
    • PC의 TCP/IP Stack 설정
    • Diagnostic Layer 설정

     

     

    TP 설정

    • TSMaster에는 DoIP 설정을 위한 창이 두 개가 있다. 추측컨데, 이더넷에 대응하기 위해서 DoIP 창을 만들었고, 개발을 진행하여 DoiP 창의 기능을 Diagnostic 창과 합친 것이 아닌가 한다. 나는 Diagnostic 창을 이용해서 설명한다. 해보지 않았지만, 동일한 방법으로 DoIP 창에서 해도 되는 것 같다.
    • 메인 메뉴/ Application/ DoIP 버튼을 클릭하여 DoIP 창을 연다.

    • 메인 메뉴/ Application/ DoIP 버튼을 클릭하여 Diagnostic 창을 연다.

    • Diagnostic 창에서 Protocol (ISO TP) 탭을 선택한다. 창의 왼쪽 영역의 DiagnosticECU 트리에서 Transport Layer를 선택한다. Bus Type에서 Ethernet을 선택한다. 

    • Tester Type에서 TE Serial Device를 선택한다. PC의 LAN 포트를 사용할 경우, System TCP/IP를 선택하면 된다고 하는데 안 해봤다.

    • DUT IP에는 "제어기"의 IP 주소를 입력한다.

    • DUT Port에는 "제어기"의 진단 통신용 포트를 입력한다. 대부분 13400 (십진수, 0x3458)를 사용한다. DoIP의 ISO 표준의 번호이다.

    • Tester IP에는 진단기의 IP 주소를 입력한다. 추가 설정이 필요하다. 아래에 설명한다.

    • Tester Port는 진단기의 진단 통신용 포트이다. 

    • TCP 통신은 통신을 연결할 때 핸드 쉐이크라는 것을 한다. 핸드 쉐이크는 클라이언트와 서버의 역할이 다르다. Tester WorkMode는 핸드 쉐이크의 클라이언트/ 서버를 설정한다.

    TCP 통신 연결을 위한 핸드 쉐이트

    • Request ID, Response ID, Functional ID는 CAN의 진단 메시지 ID에 상응한다.

    • DoIP ACK Active는 ACK 메시지 전송 여부를 설정한다. 대부분 ACK 메시지를 전송한다.

     

     

    PC의 TCP/IP Stack 설정

    • PC는 윈도가 IP 주소를 관리한다. TSMaster에서 설정한 Tester의 IP 주소를 윈도에서 설정해야 한다.<
    • 메인 메뉴/ Hardware/ TCP/IP Stack 버튼을 클릭하여 TCP/IP 설정 창을 연다.

    • TCP/IP Stack 설정 창의 왼쪽 영역에 Eth CH1을 선택하고 마우스 우클릭을 하여 Add Network Card를 실행한다. 가상의 네트워크 카드인 NetworkCard0가 추가된다. 

    • NetworkCard0를 선택하고,
      • Mac을 입력한다.
      • Maximum Transmission Unit (MTU)를 설정한다. 보통 1500으로 한다고 한다. 
      • IPv4를 선택한다.
      • Gateway의 IP를 입력한다.
      • Add 버튼을 클릭하고 IP 주소를 입력한다.

     

     

    VLAN이 있는 경우

    • NetworkCard0의 IP 주소를 설정하지 않고, VLAN을 먼저 추가한다.
    • NetworkCard0를 선택한 상태에서 마우스 우클릭을 한 후 Add VLAN을 선택한다.

    • VLAN ID를 입력하면, NetworkCard0 아래 VLAN이 추가된다.

    • 추가된 VLAN을 선택하고, 창의 오른쪽에서 Add 버튼을 클릭하여 IP 주소를 설정한다.

     

     

     

    Diagnostic Layer 설정

    • CAN 진단 통신은 제어기와 진단기를 연결하는 별도의 조작이 필요없다. 이더넷의 경우 진단 통신을 위한 TCP 연결을 해야 한다. Diagnostic 창의 Connect DUT 버튼으로 TCP 연결을 한다.

    Diagnostic 창에서 Connect DUT 버튼을 클릭하면, 제어기와 진단기 사이에 핸드 쉐이크와 라우팅을 위한 메시지 교환이 일어난다.

    • 라우팅 설정은 Diagnostic Layer의 Routing Activation에서 한다.
      • Auto Activate Routing After Connecting DUT: Connect DUT 버튼을 클릭하면 라우팅 자동 실시 여부를 설정한다.
      • Time of TCP Initial Inactivity: 라우팅을 시작하면 초기에 TCP가 작동하지 않는 시간이 있나보다. 
      • Activation Type: 아래 그림의 드롭-다운 리스트에서 보는 것처럼 몇 가지 종류가 있다. 내 지식이 아직 부족하여 각각의 차이를 설명할 수 없다.

    • Activation Type Dafault의 전송값은 0x00이다. Central Security는 0x0C이다.

    • 일부 OEM들은 Routing Activation을 위해 미리 정한 데이터를 전송한다. 

     

     

    다음에는 이더넷 DoIP 메시지를 해석하는 방법을 설명한다. DoIP (Diagnostic over Internet Protocol) - 메시지 해석 :: hsl's tsmaster 사용기    

     

     

     

     

     

    목차 :: hsl's tsmaster 사용기