본문으로 건너뛰기

네트워크 토폴로지 설계 튜토리얼

무엇을 만드는가​

이 튜토리얼은 차량 네트워크 토폴로지 하나를 프로젝트가 열려 있지 않은 PAIO 창에서부터 PAIO 화면만으로 만든다. 프로젝트 TopologyDesign 의 System 편집기에 ECU 노드 세 개 ECU, ZONE, SLAVE_ECU 와 HPC 노드 HPC 를 놓고, 이 노드들을 버스 세 개로 잇는다. ECU 와 ZONE 은 CAN 클러스터 CanCluster 로, ZONE 과 HPC 는 VLAN ID 가 13 인 이더넷 클러스터 EthernetCluster 로, LIN 마스터 ECU 와 LIN 슬레이브 SLAVE_ECU 는 LIN 클러스터 LinCluster 로 이어진다. 이더넷 커넥터에는 IPv4 주소와 SOME/IP 서비스 디스커버리(SD)에 쓰는 멀티캐스트 주소 224.0.0.1 을 넣고, 세 ECU 노드에는 슬립과 버스 웨이크업을 켠다. 시스템 버전은 1.0.0;POPCORNSAR 이다. 마지막 장에서 이 설계를 ARXML 파일 네 개로 내보낸다.

설계의 목표는 참조 설계 System_Design.arxml 이다. 참조 설계와 일부러 다르게 한 곳은 두 군데다. 첫째, 참조 설계의 HPC 이더넷 커넥터는 컨트롤러를 가리키지 않고 유니캐스트 주소로 ZONE 의 엔드포인트(192.168.0.19)를 가리킨다. 이 튜토리얼은 이 커넥터를 HPC 자신의 컨트롤러 EthernetController 와 주소 192.168.0.11 로 바로잡아 만든다. 둘째, 이더넷 컨트롤러의 MAC LAYER TYPE 은 누르지 않는다. 토글 값 XMII 가 AUTOSAR 스키마의 값 X-MII 와 달라서다. 이 밖에 참조 설계의 값 몇 개는 만들지 않는다. 파티션 두 개처럼 System 편집기에 입력란이 없는 값, 입력란이 받지 않는 LIN 채널의 유휴 타임아웃, 이 튜토리얼이 비워 두는 몇몇 칸의 값이다. 전체 목록은 부록에 있다.

노드종류버스컨트롤러커넥터
ECUECU 노드CAN, LIN(마스터)CanController, LinController_MasterCanConnector, LinConnector_Master
ZONEECU 노드CAN, 이더넷CanCommController, EthernetCommControllerCanConnector, EthernetConnector
SLAVE_ECUECU 노드LIN(슬레이브)LinSlaveControllerLinConnector
HPCHPC 노드이더넷EthernetControllerEthernetConnector
클러스터채널연결된 커넥터(순서대로)주요 값
CanClusterPhysicalChannelZONE/CanConnector, ECU/CanConnectorECU 의 비트 타이밍 네 값 0
EthernetClusterPhysicalChannel(VLAN ID 13)ZONE/EthernetConnector, HPC/EthernetConnector유니캐스트 192.168.0.19, 192.168.0.11, 멀티캐스트 224.0.0.1
LinClusterPhysicalChannelSLAVE_ECU/LinConnector, ECU/LinConnector_Master프로토콜 버전 LIN 2.0, 타임 베이스 1 ms, 유휴 타임아웃 없음

NM(네트워크 관리)과 TP(전송 프로토콜)는 Communication Cluster Configuration 창에서 클러스터마다 켜며, 새 클러스터에서는 꺼져 있다. 참조 설계에는 둘 다 없으므로 이 튜토리얼은 둘을 켤 수 있는 모든 클러스터에서 둘 다 꺼 두고, 각 장을 마칠 때마다 VALIDATION 패널에는 No validation issues. 가 보인다.

무엇이 필요한가​

  • PAIO 가 설치되어 있고 실행할 수 있어야 한다.
  • 프로젝트가 열려 있지 않은 PAIO 창에서 시작한다. 다른 튜토리얼이나 예제 프로젝트는 필요하지 않다.
  • 이 튜토리얼의 그림은 1920×1080 화면이다. 요소를 선택하면 속성 패널이 캔버스 오른쪽을 덮으므로 그 이상의 화면을 권한다.
  • 익스포트한 ARXML 은 XML 편집기에서 AUTOSAR 스키마 R25-11 로 검사한다.
  • CAN, 이더넷, LIN 버스와 AUTOSAR 의 컨트롤러, 커넥터, 클러스터를 대강 알고 있으면 충분하다. 어느 PAIO 화면에 무엇을 입력하는지는 장마다 단계별로 안내한다.

장 구성​

각 장은 앞 장의 결과 위에서 시작하므로 차례대로 따라간다.

장제목쓰는 편집기끝나면 갖게 되는 것
1프로젝트와 노드 만들기System 편집기프로젝트 TopologyDesign, 노드 ECU, ZONE, SLAVE_ECU, HPC. No validation issues.
2ECU 속성System 편집기, SYSTEM 패널세 ECU 노드의 SLEEP MODE SUPPORTED 와 WAKE-UP OVER BUS, VERSION 1.0.0;POPCORNSAR. No validation issues.
3CAN 버스System 편집기, Communication Cluster Configuration컨트롤러 CanController, CanCommController, 커넥터 CanConnector 2개, NM 과 TP 를 꺼 둔 클러스터 CanCluster. No validation issues.
4이더넷 버스System 편집기, Communication Cluster Configuration컨트롤러 EthernetCommController, EthernetController, 주소를 넣은 커넥터 EthernetConnector 2개, NM 을 꺼 둔 클러스터 EthernetCluster(VLAN ID 13). No validation issues.
5LIN 버스System 편집기컨트롤러 LinController_Master, LinSlaveController, 커넥터 LinConnector_Master, LinConnector, 유휴 타임아웃이 없는 클러스터 LinCluster. No validation issues.
6검증VALIDATION 패널, System 편집기일부러 넣은 결함 3개를 고쳐 No validation issues. 로 되돌린 설계
7ARXML 익스포트EDITOR 뷰, XML 편집기export 폴더의 ARXML 파일 4개와 참조 설계와의 차이
8부록—완성된 설계의 점검표, 값 표 모음, 파일 구성, 참조 설계와의 차이, 자주 겪는 문제

읽는 법​

  • 장마다 같은 순서다. "이 장에서 할 일" 로 목표를 밝히고, "시작하기 전에" 에서 출발 상태와 그 장에서 입력할 값을 표로 보인다. 그다음 번호 붙은 단계와 단계별 스크린샷이 이어진다.
  • 반복 작업은 대표 하나만 절차로 보인다. 예를 들어 CAN 버스에서는 노드 ECU 의 컨트롤러와 커넥터를 끝까지 따라가고, ZONE 의 것은 짧은 단계와 값 표로 준다. 표의 항목은 같은 방법으로 직접 입력한다.
  • 장의 끝에는 "확인하기" 점검표가 있다. 화면에 무엇이 보여야 하는지 적은 목록이다. 모두 맞으면 다음 장으로 넘어간다.
  • "왜 이렇게 설계하는가" 는 값이 그렇게 정해진 이유를 참조 설계와 비교해 짧게 설명한다. 이더넷 버스의 "입력란이 없는 값" 과 LIN 버스의 "이 장에서 넣지 않는 값" 은 참조 설계에 있지만 그 장에서 System 편집기에 넣지 않는 값을 모은다.
  • UI 라벨은 화면에 보이는 그대로 굵게, 모델 요소의 이름과 값은 코드 로 적는다.

내 익스포트가 참조 설계와 다른 경우​

이 튜토리얼대로 만든 ARXML 은 참조 설계 System_Design.arxml 과 설계 내용이 거의 같지만, 파일이 바이트 단위로 같지는 않다. 참조 설계는 파일 하나이고, 내 익스포트는 TopologyDesign_COM.arxml, TopologyDesign_DataType.arxml, TopologyDesign_SWC.arxml, TopologyDesign_System.arxml 네 파일이다. 차이는 모두 이유가 알려진 것이다. PAIO 익스포터의 패키지와 이름 규칙, PAIO 가 스스로 넣는 요소(기본 데이터 타입, SD 소켓 등), 화면으로 넣을 수 없는 값(파티션, CATEGORY WIRED, LIN 유휴 타임아웃 등), 참조 설계 파일에 남은 결함, 이 튜토리얼이 일부러 바꾸거나 넣지 않은 값(HPC 이더넷 커넥터 등)이다. 전체 목록과 이유는 ARXML 익스포트에서, 요약은 부록에서 본다.

다음 단계​

프로젝트와 노드 만들기부터 시작한다.