CANoe(내지)1~5장.qxp

Similar documents
이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 지식경제부 연구사업명 IT 융합 고급인력과정 지원사업 연구과제명 스마트 자동차를 위한 AUTOSAR 기반 차량 내외부 통신 플랫폼 및 응용기술 주관기관 정보통신산업진흥원 연구기간

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft PowerPoint - chap01-C언어개요.pptx

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

CAPL 활용의 기초, 팁과 트릭 (part1)

ISP and CodeVisionAVR C Compiler.hwp

K-Line: 클래식 프로토콜을 위한 유연한 솔루션

Microsoft Word - src.doc

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

슬라이드 1

Cloud Friendly System Architecture

API 매뉴얼

PCServerMgmt7

View Licenses and Services (customer)

MAX+plus II Getting Started - 무작정따라하기

오토 2, 3월호 내지최종

슬라이드 1

Microsoft Word - CPL-TR wireshark.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

PRO1_09E [읽기 전용]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

마이크로시스템제작 lecture1. 강의소개및 MultiSIM 선덕한 마이크로시스템 1


MATLAB/Simulink 및 CANoe 를 사용한 소프트웨어 시뮬레이션

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

COMFILE_VOL13_ cdr

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt


서현수

vRealize Automation용 VMware Remote Console - VMware

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

C++ Programming

PowerPoint 프레젠테이션

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

APOGEE Insight_KR_Base_3P11

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

KDTÁ¾ÇÕ-2-07/03

H3250_Wi-Fi_E.book

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

untitled

PowerPoint 프레젠테이션

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

DBMS & SQL Server Installation Database Laboratory

MVVM 패턴의 이해

Motor Control Solution

제8장 자바 GUI 프로그래밍 II

Install stm32cubemx and st-link utility

Windows 10 General Announcement v1.0-KO

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

윈도우시스템프로그래밍

SIGIL 완벽입문

1. 기술배경 NFV는 Consortium of Service Provider들에의해서만들어졌다. 현재 Network Operation은규모가큰전용 Hardware appliances가계속해서증가하고있다. 새로운 Network Service를 Launching할때마다에

KEY 디바이스 드라이버

PowerPoint 프레젠테이션

Microsoft Word - Armjtag_문서1.doc

<4D F736F F F696E74202D FB5A5C0CCC5CDC5EBBDC5B0FA20B3D7C6AEBFF6C5A9205BC8A3C8AF20B8F0B5E55D>

BMP 파일 처리

PowerPoint Presentation

Microsoft PowerPoint - chap06-2pointer.ppt

IBM blue-and-white template

untitled

슬라이드 1

개요

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>


비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

untitled


OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

RealDSP UT 프로그램 메뉴얼

ecorp-프로젝트제안서작성실무(양식3)

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

PRO1_04E [읽기 전용]

TTA Journal No.157_서체변경.indd

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

C++ Programming

BY-FDP-4-70.hwp

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

슬라이드 1

Microsoft PowerPoint - 권장 사양

*2008년1월호진짜

<4D F736F F F696E74202D20332DC1F6B9DDC1A4BAB8BDC3BDBAC5DB>

Microsoft Word - PLC제어응용-2차시.doc

Microsoft PowerPoint - e pptx

Microsoft Word - FunctionCall

ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9

Transcription:

차량네트워크설계, 시뮬레이션, 시험및검증 IP/Ethernet FlexRay UDS MOST XCP/CCP K-Line Car2x SCOPE J1587/J1708 AUTOSAR WLAN AFDX ISO11783 LIN J1939 CANopen ARINC8xx CAN/CAN FD CANaerospace

차량네트워크설계, 시뮬레이션, 시험및검증 인쇄 2014 년 10월 20일발행 2014 년 12월 3일저자 이건우발행인 박성규편집책임 윤범진디자인 최귀명발행처 스마트앤컴퍼니 ( 주 ) 주소 서울시영등포구영등포로 122( 당산동 2가, 대성빌딩 302) 전화 02-841-0017, 팩스 02-841-0584 등록일자 2004 년 6월 8일등록번호 제 315-2008-009 호홈페이지 www.smartn.co.kr/book 전자메일 master@autoelectronics.co.kr 이책은저작권법에따라보호받는저작물이므로무단복제를금지하며저작권자와출판사의서면허락없이는어떠한형태나수단으로도이책의내용을이용하지못합니다. 이책은벡터와무관하며필자개인이집필한것임을분명히밝힙니다. ISBN 979-11-86046-02-9 이도서의국립중앙도서관출판시도서목록 (CIP) 은서지정보유통지원시스템홈페이지 (http://seoji.nl.go.kr) 와국가자료공동목록시스템 (http://www.nl.go.kr/kolisnet) 에서이용하실수있습니다.(CIP 제어번호 : CIP2014029689)

차량네트워크설계, 시뮬레이션, 시험및검증 차량네트워크의태동부터현재까지의역사를업데이트한툴 OEM 과서플라이어가가장많이사용하는툴차량네트워크개발의표준으로인정받는툴 이건우지음

감사의글 독일본사근무를시작하던 2011 년은약간붕떠있었던시간이었다. 낯선환경에적응해야한다는부 담감도있었고, 아이들학교를비롯해독일에서살기위한행정적인절차가처음예상했던것과는많이 달라서생활에집중할수가없었기때문이었다. 그렇게 2011 년을보내고 2012 년을맞이하면서독일동료들, 그리고교포들과친분을쌓아갔다. 언제나그렇듯이시간이주는답은정직했다. 퇴근후발코니에앉아서하늘과산에드리워지는계절의변화를감상하며맥주한잔하는것이자연스러운일상이된것은분명이곳에적응했음을의미했다. 그렇게 2012 년을마무리하면서자연스레내안에도전욕구가발동하기시작했다. 뭔가해볼만한일이없을까? 곰곰이생각하던차에 2010 년에품었던생각이떠올랐다. 한국에서엔지니어들과이야기를하던중 CANoe 에대한한글설명서가필요하다는것을느꼈고, 그느낌을엔지니어들과공유했던적이있다. 반응은좋았다. 그래서단순번역서가아닌순수한글설명서를만들어보자고생각했다. 하지만바쁜일상에쫓겨한동안기억의한편에접어두고잊은듯살았다. 2013 년 10월, 드디어미뤄왔던 CANoe 책을쓰기시작했다. 목차를정하고책에서설명할기능을분류했다. 그리고책에설명하지않는경우독자에게도움이될만한방법으로참고자료를언급하기로하는등기본전략을수립했다. 무엇보다도단순설명이가지는무미건조함을걷어내기위해서내가가진경험과기능들의상호연관성을잘엮어서설명하려고했다. 또한 CANoe 데모를통하여실례를독자가따라해보게끔 CANoe 설치시제공되는데모를이용했다. 책의수준은 CANoe 의기능을설명하고있으므로입문서라고할수있다. 또한 CANoe 경험자라도필 요한기능을찾아보거나그기능의의미를분명히하고자할때도움을줄수있는수준이다. 내가가진 이런의도가이책을이용하는엔지니어들에게잘전달되기를바란다. 책을출판할즈음에감사의글을쓰면서소회를적어볼수있어서기쁘다. 독일에서만난김호현형님 과식구들, 황학도형님과식구들, 성당신부님과수녀님, 그리고많은성당형제자매들덕분에풍요로운 삶이었다. 이지면을빌어감사를전한다.

작년에소천하신아버지께서이책을보셨다면무척기뻐하셨으리라생각한다. 그래서아쉬움이한 없이크다. 그래도잘견뎌주신어머니께이책을선물하게되어조금이나마위안을삼는다. 개인적으로감사한사람이많다. 먼저같은회사의독일친구요흔노이퍼와요하임에플레에게감사의 마음을전한다. 또한책표지에도움을준동료김용성에게고맙고, 이책의교정과편집에수고해준윤 범진편집장에게감사를전한다. 특히, 길지않은독일생활이었기에시간상여유롭지못했을텐데도나와아이들을잘보듬어준아내 은경에게이글을빌어사랑과고마움을전한다. 그리고나에게행복을주는큰아들연형이와작은아들 도형이에게감사한다. 2014 년 10 월이건우

2 저자의말 CANoe 가차량통신네트워크의설계, 분석, 시험영역에이르기까지시장에서표준툴로사용된지 20년이넘었다. 그동안 CANoe 는세계의많은 OEM 들의개발요구사항을반영하고 OEM 과함께검증하며만들어졌고업그레이드되었다. 현재도여전히그과정을통하여발전하고있다. 또한차량통신표준을가장앞서툴에반영하면서동작의정확성과신뢰성을계속해서확보해나가고있다. CANoe 가한국에소개된지도꽤오랜시간이지났다. 하지만한국의엔지니어들이손쉽게참고할만한 한글로된자료가없는실정이다. 이것이이책 1) 을쓰게된배경이다. CANoe 는매우많은버스시스템과프로토콜을지원한다. 책에다설명하기에는너무방대한양이라아 쉽지만이책에서는 CANoe 의구조와기본기능들을설명하는데중점을두었다. CANoe 구조를알고나면 CANoe 기능들의상호연관성을파악할수있어서쉽게사용할수있을것이 다. 더불어미력하나마필자의 CANoe 를이용한프로젝트경험을 CANoe 의기능설명에추가하여이해를 높이고자했고, CANoe 를사용하는방법을소개함으로써 CANoe 의활용도를향상시키고자했다. 이책은 CANoe V8.1 SP3 를기초로집필되었으며, 다음과같이구성되어있다. 제1장은차량네트워크의발전과정속에서 CANoe 의탄생과진화하는역사를소개한다. 제2장은 CANoe 를소개한다. 그리고소프트웨어구조와기능을설명한다. 또한 CANoe 가지원하는버스시스템, 프로토콜, 데이터베이스포맷을소개한다. 제3장은 CANoe 를설치하고동작시험하는과정을설명한다. 아울러설치후생성된폴더와파일을소개한다. 라이선스에관해서도설명한다. 제4장은 CANoe 실행화면의내용을소개한다. 화면을통하여얻을수있는정보를확인해보기바란다. 제5장은 CANoe 메뉴를설명한다. CANoe V8.1 SP3 을기준으로서브메뉴까지설명한다. 제6장은 CANoe 의기능블록 (function block) 을따로모아서설명한다. 이기능블록은독립적인단위기능으로다른기능에서호출하여사용할수가있고트리거, 필터, 제너레이터기능등이있다. 1) 이책은벡터와무관하며필자의개인저작물임을분명히밝힌다.

저자의말 3 제7장은 CANoe 따라하기이다. CANoe 를처음열어서 CANoe 구성을만들고실행시키는과정을자세히설명한다. 이부분을가장먼저보는것도도움이될것이다. 제8장은 CANoe 의분석기능을설명한다. 네트워크메시지나신호를분석하는다양한기능을소개한다. 제9장은 CANoe 의로깅기능을설명한다. 분석과정에서데이터를저장하거나또는저장된데이터를재생하는방법들을볼수있다. 제10 장은 CANoe 의테스트기능을기술한다. 테스트케이스생성과실행, 보고서작성에관한내용들이있다. 제11 장은 CANoe 가네트워크를시뮬레이션하는방법을설명한다. 시뮬레이션기능을좀더쉽게알수있도록 CANoe 데모를직접해석하면서설명한다. 제12 장은 CANoe 의진단기능을알려준다. 진단기능을테스트하거나시뮬레이션하는방법을소개하고있으므로도움이될것이다. 제13 장은 CANoe 가제공하는프로그래밍언어인 CAPL 을소개한다. CAPL 예제를통하여프로그래밍하는방법과 CAPL 브라우저가제공하는기능들을설명한다. 제14 장은그래픽사용자인터페이스방식으로많이쓰이는 CANoe 의패널기능을설명한다. 직관적인 GUI (Graphical User Interface) 를통하여 CANoe 를더잘활용할수있기를바란다. 제15 장은 CANoe 를활용하는방법중특화되고매우긴요한 OEM 패키지를소개한다. OEM 패키지가무엇이고, 왜필요하며, 어떻게사용하는지를알수있을것이다. 제16 장은 CANoe 를실시간시스템에서사용하는방법과벡터가제공하는시스템을알려준다. 실시간시스템을필요로하는경우에많은도움이될것이다. 제17 장은 CANoe 의기타기능을소개한다. 기능창을배치하는방법이나데스크톱을사용하는방법, 시스템최적화를하는방법등을소개한다. 설명중에좀더자세한설명을원하는경우에찾아볼수있도록별도의자료나 CANoe 도움말부분을 표시하였으므로참고하기바란다. 향후필자가계획하는것은 CANoe 를이용하여 CAN 과 FelxRay 네트워크를테스트하는내용을정리해 보는것이다. 테스트의내용또한매우방대하므로모든경우를다설명하기는어렵겠지만공통적으로 요구되는항목들에대해서구현방법과시스템을설명할것이다.

4 저자의말 끝으로, 이책이한국엔지니어들에게작으나마도움이되기를바라며책이가진좋은점이나부족한 점은언제든지피드백을주기바란다. 독일슈투트가르트에서 이건우 lkw@dreamwiz.com

5 목차 1 CANoe 역사 17 2 CANoe 소개 19 2.1 개요 19 2.2 소프트웨어구조 (Software Architecture) 20 2.3 CANoe 의기능 21 2.4 CANoe 의표준기능 22 2.4.1 분석기능 22 2.4.2 시뮬레이션기능 23 2.4.3 진단기능 26 2.4.4 테스트기능 27 2.5 CANoe 의네트워크신호처리방식 29 2.6 버스시스템과프로토콜 31 2.7 데이터베이스포맷 31 2.8 CANoe 종류 (variants) 32 3 CANoe 설치 35 3.1 설치 35 3.1.1 시스템요구사항 35 3.1.2 설치 35 3.1.3 설치후동작시험 36 3.2 CANoe 옵션설치 36 3.3 CANoe 에서사용하는언어변경 37 3.4 설치폴더및파일 37 3.4.1 윈도우즈시작메뉴 37 3.4.2 CANoe 설치폴더 38 3.4.3 CANoe 데모폴더 38 3.4.4 CANoe 데이터폴더 38 3.5 네트워크인터페이스하드웨어 39

6 목차 3.6 라이선스 (License) 39 3.7 CANoe 프로젝트폴더관리 40 4 CANoe 화면 43 4.1 제목영역 43 4.2 메뉴영역 44 4.3 데스크톱 44 4.4 상태표시부 45 5 CANoe 메뉴 49 5.1 파일 (File) 49 5.1.1 새구성 (New Configuration) 49 5.1.2 구성불러오기 (Load Configuration) 50 5.1.3 구성저장하기 (Save Configuration) 50 5.1.4 다른이름으로저장하기 (Save Configuration As) 50 5.1.5 CANoe.DiVa 프로젝트가져오기 (Import CANoe.DiVa Project) 51 5.1.6 구성개요 (Configuration Overview) 51 5.1.7 사용된파일들 (Files Used) 51 5.1.8 데이터베이스개요 (Database Overview) 52 5.1.9 최근의구성들 (Recent Configurations) 52 5.1.10 종료하기 (Exit) 52 5.2 보기 (View) 52 5.2.1 측정설정 (Measurement Setup) 53 5.2.2 시뮬레이션설정 (Simulation Setup) 62 5.2.3 테스트설정 (Test Setup) 74 5.2.4 문서 (Documents) 85 5.2.5 심벌탐색기 (Symbol Explorer) 86 5.2.6 시작값 (Start Values) 87 5.2.7 패널 (Panel) 88

목차 7 5.2.8 자동시퀀스 (Automation Sequences) 88 5.2.9 신호제너레이터와신호재생 (Signal Generators and Signal Replay) 93 5.2.10 진단기능창 97 5.2.11 기본진단 (Basic Diagnostics) 103 5.2.12 CAN 필터블록 (Filter Blocks) 105 5.2.13 VT 시스템제어 (System Control) 108 5.3 시작 (Start) 108 5.4 구성 (Configuration) 109 5.4.1 네트워크하드웨어 (Network Hardware) 110 5.4.2 WLAN 하드웨어 (Hardware) 114 5.4.3 I/O 하드웨어 (Hardware) 114 5.4.4 시스템변수 (System Variable) 117 5.4.5 매핑 (Mapping) 120 5.4.6 패널 (Panels) 122 5.4.7 진단 /ISO TP 구성 (Diagnostics/ISO TP Configuration) 123 5.4.8 시뮬링크분석모델 (Simulink Analysis Models) 128 5.4.9 XCP/CCP 129 5.4.10 네트워크관리 (Network Management) 130 5.4.11 자립모드 (Standalone Mode) 131 5.4.12 사용자별구성 (Customize) 133 5.4.13 옵션 (Options) 134 5.5 도구들 (Tools) 139 5.6 창 (Window) 141 5.7 도움말 (Help) 141 6 CANoe 기능블록 (Function Block) 143 6.1 트리거 143 6.2 사용자정의트리거조건 (Set of user defined conditions) 146 6.3 필터기능 147 6.3.1 채널필터 (Channel Filter) 147

8 목차 6.3.2 이벤트필터 (Event Filter) 147 6.3.3 변수필터 (Variables Filter) 148 6.4 신호생성기능 148 6.4.1 신호패널 (Signal Panel) 148 6.4.2 제너레이터블록 (Generator Block) 150 6.4.3 대화형제너레이터블록 (Interactive Generator Block) 150 6.4.4 신호제너레이터와신호재생 (Signal Generators and Signal Replay) 153 6.4.5 심벌패널 (Symbol Panel) 153 6.5 재생블록 (Replay Block) 154 6.6 CAPL 프로그램기능블록 156 7 CANoe 따라하기 157 7.1 CANoe 시작 157 7.2 네트워크채널설정 157 7.3 네트워크노드만들기 158 7.4 시뮬레이션환경 : 시스템변수만들기 158 7.5 시뮬레이션환경 : 패널만들기 159 7.6 시뮬레이션환경 : CAPL 로노드살리기 160 7.7 동작시험및데이터측정 162 7.8 데이터베이스를활용하자 163 8 CANoe 분석기능 167 8.1 분석기능의개념 (concept) 167 8.2 CANoe 의일반적인분석기능들 167 8.2.1 측정설정 (Measurement Setup) 167 8.2.2 쓰기 (Write) 167 8.2.3 트레이스 (Trace) 169 8.2.4 데이터 (Data) 181 8.2.5 그래픽창 (Graphics Window) 186

목차 9 8.2.6 상태추적기 (State Tracker) 194 8.2.7 프레임히스토그램 (Frame Histogram) 197 8.2.8 시뮬링크모델보기 (Simulink Model Viewer) 198 8.3 CAN 버스시스템전용분석기능들 198 8.3.1 CAN 통계 (Statistics) 198 8.3.2 CAN 스코프 (Scope) 200 9 CANoe 로깅 (logging) 기능 203 9.1 로그파일만들기 203 9.1.1 로깅파일구성 (Logging File Configuration) 203 9.1.2 로그파일내용 204 9.2 로그파일재생하기 205 9.3 로그파일포맷변환 206 9.4 로그파일활용 208 10 CANoe 테스트기능 209 10.1 테스트기능의개념 (concept) 209 10.2 테스트유닛 211 10.3 테스트모듈 212 10.3.1 CAPL 테스트모듈 212 10.3.2 XML 테스트모듈 215 10.3.3.NET 테스트모듈 217 10.4 테스트보고서 219 10.4.1 파일타입 219 10.4.2 테스트보고서의내용 219 10.4.3 테스트보고서의내용편집 220 10.5 테스트전용서비스 221 10.5.1 제약 (constraints) 과조건 (conditions) 기능 221 10.5.2 테스트서비스라이브러리 (Test Service Library) 223

10 목차 10.5.3 테스트특성함수 (Test Feature Set Functions) 223 10.5.4 테스트용 OEM 모델링라이브러리 (Modeling Library) 224 10.6 테스트모듈자동생성 224 11 CANoe 시뮬레이션기능 225 11.1 시뮬레이션기능의개념 225 11.2 시뮬레이션노드구성 225 11.3 시뮬레이션데모해석 227 11.4 CANoe 시뮬레이션구현에도움이되는자료 235 12 CANoe 진단기능 237 12.1 진단기능의개념 237 12.2 진단시험 237 12.2.1 CAPL 진단테스트모듈 237 12.3 진단시뮬레이션 239 12.3.1 진단기시뮬레이션 239 12.3.2 ECU 의진단기능시뮬레이션 240 13 CAPL 243 13.1 CAPL 이란? 243 13.2 CAPL 브라우저 244 13.3 컴파일러 245 13.4 브라우저트리 (Browser Tree) 246 13.4.1 Includes 246 13.4.2 Variables 246 13.4.3 System 246 13.4.4 Value Objects 249 13.4.5 CAN 250

목차 11 13.4.6 Diagnostics 252 13.4.7 Functions 253 13.5 CAPL 편집기 253 13.6 CAPL 함수탐색기 257 13.7 심벌탐색기 258 13.8 CAPL 프로그래밍팁 258 14 CANoe 의패널 259 14.1 패널에디터 (Editor) 사용 259 14.2 패널디자이너 (Panel Designer) 사용 259 14.2.1 패널디자이너화면 260 14.3 패널만드는과정 261 14.4 패널의컨트롤 261 14.5 패널을 CANoe 에적용하는방법 261 14.6 패널디자이너사용팁 262 14.7 다른패널사용 263 14.7.1 CANoe 와어떻게동작하는가? 263 14.7.2 예제 263 15 CANoe OEM 패키지 265 15.1 OEM 패키지란무엇인가? 265 15.2 OEM 지원현황 266 15.3 효과 267 16 CANoe 를실시간시스템에서사용하기 269 16.1 CANoe 의실시간시스템소개 269 16.2 CANoe RT 시스템 270 16.2.1 시스템구조 270

12 목차 16.2.2 CANoe RT 서버 271 16.2.3 CANoe RT 사용자 271 16.2.4 자립모드 (Standalone Mode) 272 16.2.5 CANoe 에서설정하기 272 16.3 VN8900 273 16.3.1 시스템구조 273 16.3.2 자립모드 (Standalone Mode) 274 16.3.3 VRTB 기능 274 16.3.4 CANoe 에서설정하기 275 16.4 VT6000 275 16.4.1 시스템구조 275 16.4.2 자립모드 (Standalone Mode) 276 16.4.3 CANoe 에서설정하기 276 16.5 카플온보드 (CAPL-on-Board) 276 16.5.1 시스템구조 276 16.5.2 CANoe 에서설정하기 276 17 CANoe 기타기능 277 17.1 데스크톱 (Desktop) 277 17.2 기능창배치및사용방법 278 17.3 툴바 (Toolbar) 280 17.4 CANoe 사용환경최적화 280 17.5 CANoe COM 서버 (server) 280 용어색인 281 참고자료 290

목차 13 그림목차 [ 그림 1] CANoe 의구조 20 [ 그림 2] 분석기능개념도 22 [ 그림 3] 시뮬레이션기능개념도 23 [ 그림 4] 테스트기능개념도 28 [ 그림 5] 라이선스보기 39 [ 그림 6] CANoe 화면 43 [ 그림 7] CANoe 메뉴영역 44 [ 그림 8] CANoe 데스크톱 44 [ 그림 9] CANoe 상태표시부 45 [ 그림 10] 파일메뉴 49 [ 그림 11] 보기메뉴 53 [ 그림 12] 측정설정 (Measurement Setup) 53 [ 그림 13] 시뮬레이션설정 63 [ 그림 14] 테스트유닛의설정창과실행창 76 [ 그림 15] 테스트모듈의설정창및실행창 79 [ 그림 16] 문서창 (Documents) 86 [ 그림 17] 심벌탐색창 87 [ 그림 18] 시작값창 87 [ 그림 19] 자동시퀀스 89 [ 그림 20] 비주얼시퀀스 90 [ 그림 21] 매크로 92 [ 그림 22].NET 스니펫 93 [ 그림 23] 신호제너레이터 94 [ 그림 24] 신호재생창 96 [ 그림 25] 패널의신호제너레이터 96 [ 그림 26] 대화형진단콘솔 98 [ 그림 27] 폴트메모리 100 [ 그림 28] OBD 창 102 [ 그림 29] 기본진단창 104

14 목차 [ 그림 30] CAN 필터블록 105 [ 그림 31] 시작메뉴 109 [ 그림 32] 설정메뉴 110 [ 그림 33] 네트워크하드웨어구성 111 [ 그림 34] 벡터하드웨어구성 113 [ 그림 35] VT 시스템 115 [ 그림 36] 기타하드웨어설정 117 [ 그림 37] 시스템변수설정 119 [ 그림 38] 매핑 (mapping) 구성창 121 [ 그림 39] 패널사용환경구성 122 [ 그림 40] 진단 /ISO TP 구성 123 [ 그림 41] 진단디스크립션추가 125 [ 그림 42] XCP/CCP 구성 129 [ 그림 43] 네트워크관리설정 131 [ 그림 44] 자립모드 132 [ 그림 45] 툴메뉴 139 [ 그림 46] 창메뉴 141 [ 그림 47] 도움말메뉴 142 [ 그림 48] 트리거구성 143 [ 그림 49] 사용자정의트리거조건설정 146 [ 그림 50] 채널필터 147 [ 그림 51] 변수필터 - 통과필터 148 [ 그림 52] 네트워크패널 149 [ 그림 53] 노드패널 150 [ 그림 54] 대화형제너레이터블록 150 [ 그림 55] 심벌패널 153 [ 그림 56] 재생블록 154 [ 그림 57] 시스템변수생성결과 159 [ 그림 58] CANoe 따라하기결과 162 [ 그림 59] 데이터베이스작성결과 164 [ 그림 60] CANoe 따라하기결과 - 데이터베이스이용 166

목차 15 [ 그림 61] 쓰기창 168 [ 그림 62] 트레이스창 169 [ 그림 63] 데이터창 181 [ 그림 64] 그래픽창 187 [ 그림 65] 상태추적기창 (State Tracker) 194 [ 그림 66] 프레임히스토그램창 197 [ 그림 67] CAN 버스통계창 198 [ 그림 68] 로깅파일구성 203 [ 그림 69] 신호로깅구성 205 [ 그림 70] 로그파일을재생하기위한설정 206 [ 그림 71] 로그파일변환기능 207 [ 그림 72] 테스트실행단위의구조 210 [ 그림 73] vteststudio 화면 211 [ 그림 74] CAPL 테스트모듈구성 212 [ 그림 75] CAPL 테스트모듈예시 214 [ 그림 76] XML 테스트모듈구성 215 [ 그림 77] XML 테스트모듈예시 216 [ 그림 78].NET C# 테스트모듈예시 218 [ 그림 79] 테스트보고서예시 220 [ 그림 80] 시뮬레이션노드구성 225 [ 그림 81] 네트워크 PowerTrain 시뮬레이션예시 228 [ 그림 82] CAPL 진단테스트모듈예시 238 [ 그림 83] 진단기시뮬레이션의 CAPL 예제 240 [ 그림 84] ECU 의진단기능시뮬레이션 CAPL 예제 241 [ 그림 85] CAPL 브라우저 245 [ 그림 86] 패널디자이너화면 260 [ 그림 87] CANoe 실시간시스템 CANoe RT 시스템 270 [ 그림 88] CANoe 실시간시스템 VN8900 273 [ 그림 89] CANoe 실시간시스템 VT6000 275

16 목차 표목차 [ 표 1] CANoe 지원버스시스템과프로토콜 31 [ 표 2] CANoe 가지원하는데이터베이스포맷 31 [ 표 3] CANoe 설치시요구되는 PC 사양 35 [ 표 4] 쓰기창과관련된상태아이콘 46 [ 표 5] 표준모델링라이브러리 266

17 1 CANoe 역사 벡터 (Vector Informatik GmbH) 는 1988 년 4월 3명의공동설립자에의해자동차도시로유명한독일슈투트가르트 (Stuttgart) 근교의디칭겐 (Ditzingen) 에서출범했다. 회사의초창기사업분야는수치제어 (NC: Numerical Control) 기계를위한소프트웨어제공이었다. 회사이름인벡터는복잡한벡터계산을할수있는소프트웨어라는의미를함축하고있다. 벡터가설립된그해, 인텔 (Intel) 이세계최초로 CAN(Controller Area Network) 컨트롤러 AN82526 을출시했으며그로부터 CAN 네트워크가실제로구현되기시작했다. CAN 프로토콜은 1983 년보쉬 (Robert Bosch GmbH) 에의해개발이시작됐으며, 1986 년 SAE(Society of Automotive Engineers) 에의해공식적인프로토콜로채택됐다. AN82526 은이프로토콜을적용한첫번째제품이다. CAN 버스는직물기계 (weaving machine) 에처음적용됐다. 이후버전업그레이드가거듭되면서마침내 1991 년현재차량영역에서표준으로적용되고있는 CAN 2.0 이발표됐다. 같은해벡터는다임러벤츠에 CAN 버스의데이터를측정할수있으며에러생성기능을갖춘 CANalyzer 개념을제시했고 1992 년도스 (DOS) 버전 1.0을출시했다. GUI(Graphical User Interface) 를제공하는 CANalyzer 는기존툴보다좋은반응을얻으며시장에서자리를잡아갔다. CAN 버스는 CiA(CAN in Automation) 결성과함께 CAN 프로토콜의레이어 1(layer 1: physical layer) 과레이어 2(layer 2: data protection layer) 를표준화한 ISO 11898 의발표로점차사용영역이확대됐다. 벡터는 1992 년 CiA 창립직후회원으로가입했다. 벡터는 CANalyzer 를고객의요구사항과추가사양을반영하여버전업그레이드를했으며, 1994 년 12 월드디어 CAN 네트워크솔루션의아이콘이된 CANoe v1.0 을출시했다. CANoe 는 CAN Open Environment 의약어로 CAN 네트워크환경을제공한다는의미를담고있다. 물론지금은 CAN 을비롯한많은다른종류의네트워크환경을제공한다. CANalyzer 는 CAN 데이터측정, 에러발생, 메시지생성등의기능으로 ECU(Electronic Control Unit) 의기능검증및데이터분석에최적화된툴인반면, CANoe 는 CANalyzer 기능을가지면서추가로네트워크전체를설계하고검증할수있는시뮬레이션기능을제공한다. 이기능을통하여다양한모습의외부입출력환경, 서로다른네트워크간동작, 실시간이벤트처리, 네트워크가요구하는 NM(Network Management) 등의동작을실제사용환경과동일하게시뮬레이션할수있다. 1999 년에는 CANoe v2.5 가출시되면서 2채널이상을제공하기시작했다. 벡터는 MOST 코퍼레이션 (MOST Cooperation) 회원으로서 MOST(Media Oriented Systems Transport) 솔루션을제공한다. 2000 년에는 LIN 컨소시엄과 FlexRay 컨소시엄에가입하면서 CANoe/CANalyzer 는멀티버스 (multi-bus) 에대응하기시작했다. 그리고 2001 년 CANoe v3.2 부터는모든종류의버스를지원하게됐다.

18 1 CANoe 역사 2004 년 CANoe v5.0 은 TFS(Test Feature Set) 와진단기능 (diagnostic feature) 이추가됨으로써현재와같이네트워크설계부터시험 / 검증에이르는개발전과정에사용될수있게됐다. 따라서사용영역또한확장됐다. 벡터는 2003 년 7월에설립된 AUTOSAR(AUTomotive Open System ARchitecture) 컨소시엄에도프리미엄멤버 (premium member) 자격으로참여하고있다. 같은해일본자동차업계는 JasPar(Japan automotive software Platform and architecture) 를설립한다. 벡터는 JasPar 의정회원이기도하다. 2008 년에는이더넷기반네트워크를 CANoe/CANalyzer 옵션 IP로지원하기시작했다. 그리고차량 ECU 의전압과전류를측정하고, 필요한전압을공급하며, 센서시뮬레이션과 PWM 을제공하는 VT 시스템을발표하면서 CANoe 와결합하여 HIL(Hardware-In-the-Loop) 시스템을구현할수있게됐다. 2009 년에는무선통신을이용한 Car2x 기능을 CANoe/CANalyzer 옵션 Car2x로지원하기시작했다. 참고로유럽에서는 Car2x, 미국에서는 V2V라는용어를사용한다. 그리고 CANoe 옵션 LIN v7.2 에서는 LIN 2.1 에대한적합성테스트 (conformance test) 기능을제공한다. 2010 년은세계경제가침체로부터완전히벗어나지못하면서 OEM이나서플라이어 (supplier) 가네트워크표준활동보다는양산제품개발에집중하는양상을보였다. 반면항공분야에서는 CAN 네트워크에더많은관심을갖게됐다. 이에따라벡터는항공프로토콜 ARINC 를 CANoe/CANalyzer 에구현했다. 또한 VN8900 이라는네트워크인터페이스를개발하여 CANoe RT(Real Time) 를구현했다. CANoe 에서실시간이요구되는시뮬레이션이나테스트기능을 PC에서실행하는대신임베디드시스템에서동작하도록설계한것이다. 한걸음더나아가 PC의 CANoe 를 VN8900 으로다운로드한후 PC 없이 VN8900 만으로시뮬레이션이나테스트를수행할수있는기능도제공함으로써네트워크개발신뢰성을향상시켰다. 뿐만아니라전기차충전기술에사용하는프로토콜을지원하도록 CANoe/CANalyzer 기능을확대해나갔다. 2012 년에는자동차에이더넷 (Ethernet) 을적용할수있는브로드알 -리치 (BroadR-Reach) 라는새로운기술이소개됐다. 한편보쉬는 CAN 버스의대역폭을조절할수있는통신프로토콜 CAN FD를발표했다. 벡터는이더넷을기반으로하는항공분야의통신방식인 AFDX (Avionics Full-Duplex Switched Ethernet) 를 CANoe/CANalyzer 옵션으로적용했다. 2013 년 9월 CANoe v8.0 이출시됐다. v8.0 은그이전버전과비교하여화면구성과 GUI 의세련된변화, 데이터분석을위한필터기능강화, CAPL 브라우저개선등많은변화가있었다. 아울러 CAN FD를적용하기시작했다. 2014 년 7월현재 CANoe 8.2 SP2 에이르고있다.

19 2 CANoe 소개 2.1 개요 자동차는단순한기계적조립품에서한층진화하여인공지능 (AI: Artificial Intelligence) 을갖춘첨단장치로거듭나고있다. 그변화를이끄는기술이 ECU(Electronic Control Unit) 이다. 차량에는이미수십개의 ECU 가장착되어있고 ECU 간에는통신네트워크가존재한다. ECU 는네트워크를통하여상호동작하면서차량을더안전하고효율적으로제어한다. 따라서 ECU 와네트워크개발은이미차량의중요한요소가되었으며, 이에필요한툴또한높은신뢰성과다양한기능을요구하고있다. 벡터의 CANoe 는이러한요구에부합하는툴로서 OEM 과서플라이어들이오랜기간사용해왔다. 벡터는무엇보다도네트워크및시험표준활동에적극적으로참여하고있으며그결과를 CANoe 에반영하고있다. 또한여러 OEM 과상호협력관계속에서실제구현되는기술들을 CANoe 에지속적으로반영하고있다. CANoe 는차량 ECU 가필요로하는기능인데이터분석기능, 테스트항목생성및자동실행기능, 진단기능, 시뮬레이션기능을제공한다. 이기능들을이용하여 ECU 개발을비롯해차량네트워크개발에이르기까지다양한목적에사용할수있다. CANoe 는현재차량에서사용되고있는거의모든종류의버스시스템과프로토콜을지원한다. 그리고여러개의버스를동시에사용하는멀티버스 (multi-bus) 기능도가능하다. CANoe 는 OEM의네트워크사양을 OEM 모델링패키지 (modeling package) 로제공한다. 이것을이용하면 CANoe 의데이터분석이나시뮬레이션이그 OEM 의네트워크사양에따라동작한다. 따라서 ECU 가 OEM 의네트워크사양을잘따르고있는지를정확히검증할수있다. CANoe 는벡터의하드웨어와함께실시간시스템 (real-time system) 을만들수있다. ECU 수와기능의증가로네트워크데이터량이많아지고통신속도가빨라짐에따라실시간시스템이요구되는데, CANoe RT 시스템은이러한요구에부응한다. CANoe 는시스템의호환성을꾸준히향상시키고있다. 로그파일의경우다른장치와공유하기위하여여러종류의데이터포맷을제공한다. 사용자개발환경면에서도이미개발된시뮬레이션이나테스트항목들을재사용하기위하여.NET 과 XML 을비롯한다양한소스파일을인식한다. 또한애플리케이션개발을도와주는 MATLAB/Simulink 모델을별도의 MATLAB 라이선스없이 CANoe 에서사용할수있다. 그리고다른툴에서 CANoe 를제어할수있도록 COM 인터페이스를제공한다.

20 2 CANoe 소개 2.2 소프트웨어구조 (Software Architecture) [ 그림 1] CANoe 의구조 2) [ 그림 1] 은 CANoe 의구조를보여주고있다. 그림에서, 버스인터페이스 (bus interface) 는프레임을송수신하는물리적인네트워크인터페이스장치로써 CANoe 를네트워크에연결해준다. 그리고실시간영역 (Real-Time Area) 이나분석영역 (Analysis Area) 은 CANoe 소프트웨어부분이다. 실시간영역과분석영역은 CANoe 의기능을이벤트처리시간의관점에서구분해놓은것이다. 전자는송수신메시지를실시간으로처리하는반면에, 후자는수신메시지가메인버퍼 (main buffer) 에저장된후에그데이터를분석작업에이용한다. 버스인터페이스는실시간영역과연결되어있다. CANoe 는버스인터페이스와송수신메시지를주고받기위하여메시지송수신버퍼 TX와 RX를가지고있다. 이는특히많은메시지를연속적으로송신하거나대량의메시지를놓치지않고수신할수있게해준다. 버스인터페이스는메시지수신또는송신완료시점에서인터럽트를발생시켜 CANoe 에알려준다. 실시간영역은자극 (stimulation), 시뮬레이션 (simulation), 테스팅 (testing) 기능을가지고있다. 자극은정상또는에러프레임생성과송신을담당하고, 시뮬레이션은 ECU 및네트워크를시뮬레이션하는기능을제공하며, 테스팅은테스트항목생성과실행및보고서자동생성기능을가지고있다. 분석영역은네트워크데이터를분석하기위하여그림처럼트레이스 (Trace), 그래픽 (Graphics), 데이터 2) 이그림은 CANoe 도움말 Working Concept 에서발췌한것임.

2.3 CANoe 의기능 21 (Data) 를비롯하여여러가지기능을제공한다. 또한데이터기록기능도제공한다. 분석영역아래의파일 (file) 은데이터기록파일을의미한다. CAPL 또는.NET 은프로그래밍기능으로, 이를이용하여사용자가원하는시뮬레이션, 분석, 시험환경을만든다. CAPL 은 CANoe 에기본적으로탑재되어있는 C-언어를기반으로하고있는프로그래밍언어이다. 수신데이터의흐름이 bus interface Real-Time Area main buffer Analysis Area 순서로되어있기때문에, 가령시뮬레이션에서어느신호 (signal) 의값을변경하면그변경된값이메인버퍼에저장되고분석 (analysis) 에표시된다. CANoe 는데이터의처리과정에서데이터를가공하는방법을제공하고있는데, 이것을기능블록 (function block) 이라고하고시뮬레이션과분석에서사용한다. 시뮬레이션과분석기능은각각 CANoe 의시뮬레이션설정 (simulation setup) 과측정설정 (measurement setup) 을통하여사용환경을설정한다. 2.3 CANoe 의기능 CANoe 의기능은 CANoe 를설치하면기본적으로제공되는표준기능, 네트워크버스및프로토콜을추가하는옵션기능, 외부장치나프로그램을이용하는확장기능으로나누어볼수있다. 표준기능으로는메시지측정과분석, 메시지기록, 에러및메시지생성과전송, 네트워크시뮬레이션, 진단, 테스트기능 ( 테스트케이스생성과실행, 보고서생성 ) 이있다. 표준기능은프로토콜이나버스시스템에따른전용기능을제공한다. 즉프로토콜종류에따라전용분석기능을제공하고, 버스시스템에따라전용프레임을생성하여전송하거나수신후분석하는기능을제공한다. 옵션기능은서로다른프로토콜이나버스시스템을추가하여함께사용할수있게해준다. 서로다른프로토콜이란, 같은버스시스템을이용하지만프로토콜이다른경우를말한다. 예를들어 J1939 와 CANopen 은같은 CAN 버스를이용하는서로다른프로토콜이다. 서로다른버스시스템이란 CAN, LIN, FlexRay, MOST, Ethernet 과같이물리적으로서로다른종류의버스선을이용하는것이다. CANoe 는 CAN 을제공한다. 여기에 LIN 을추가하려면 CANoe 옵션 LIN, FlexRay 를추가하려면 CANoe 옵션 FlexRay 를설치하면된다. 확장기능은외부장치나프로그램을 CANoe 와연결하여사용하는것이다. 이기능을이용하면별도의장치인 I/O 장치, 전원장치, 측정장치등을 CANoe 와함께사용할수있다. 또한비주얼 C++, C#, 자바와같은별도의프로그래밍언어로만든프로그램이나다른회사의툴을 CANoe 와연결하여사용할수도있다. CANoe 는이확장기능을위하여디바이스드라이버를제공하거나라이브러리를프로그래밍하는방법을제공한다. 또한 COM 인터페이스를제공한다.