네트워크 토폴로지 설계 튜토리얼
무엇을 만드는가
이 튜토리얼은 차량 네트워크 토폴로지 하나를 프로젝트가 열려 있지 않은 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 채널의 유휴 타임아웃, 이 튜토리얼이 비워 두는 몇몇 칸의 값이다. 전체 목록은 부록에 있다.
| 노드 | 종류 | 버스 | 컨트롤러 | 커넥터 |
|---|---|---|---|---|
ECU | ECU 노드 | CAN, LIN(마스터) | CanController, LinController_Master | CanConnector, LinConnector_Master |
ZONE | ECU 노드 | CAN, 이더넷 | CanCommController, EthernetCommController | CanConnector, EthernetConnector |
SLAVE_ECU | ECU 노드 | LIN(슬레이브) | LinSlaveController | LinConnector |
HPC | HPC 노드 | 이더넷 | EthernetController | EthernetConnector |
| 클러스터 | 채널 | 연결된 커넥터(순서대로) | 주요 값 |
|---|---|---|---|
CanCluster | PhysicalChannel | ZONE/CanConnector, ECU/CanConnector | ECU 의 비트 타이밍 네 값 0 |
EthernetCluster | PhysicalChannel(VLAN ID 13) | ZONE/EthernetConnector, HPC/EthernetConnector | 유니캐스트 192.168.0.19, 192.168.0.11, 멀티캐스트 224.0.0.1 |
LinCluster | PhysicalChannel | SLAVE_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. |
| 2 | ECU 속성 | System 편집기, SYSTEM 패널 | 세 ECU 노드의 SLEEP MODE SUPPORTED 와 WAKE-UP OVER BUS, VERSION 1.0.0;POPCORNSAR. No validation issues. |
| 3 | CAN 버스 | 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. |
| 5 | LIN 버스 | System 편집기 | 컨트롤러 LinController_Master, LinSlaveController, 커넥터 LinConnector_Master, LinConnector, 유휴 타임아웃이 없는 클러스터 LinCluster. No validation issues. |
| 6 | 검증 | VALIDATION 패널, System 편집기 | 일부러 넣은 결함 3개를 고쳐 No validation issues. 로 되돌린 설계 |
| 7 | ARXML 익스포트 | 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 익스포트에서, 요약은 부록에서 본다.
다음 단계
프로젝트와 노드 만들기부터 시작한다.