Copyright All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, or translated into any language or c

Similar documents
untitled

Multi-CAN Analyzer & Converter User’s Manual

untitled

hd1300_k_v1r2_Final_.PDF

SRC PLUS 제어기 MANUAL

(SW3704) Gingerbread Source Build & Working Guide

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

BY-FDP-4-70.hwp

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

API 매뉴얼

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Remote UI Guide

DSP_MON 프로그램 메뉴얼

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

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

Microsoft Word - FS_ZigBee_Manual_V1.3.docx


rev.2.0 Controller Area Network(CAN) to Ethernet Gateway 사용자매뉴얼 HW Rev.1.0 Firmware ve

TCP.IP.ppt

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

목 차 CAN 을왜사용하는가? 3 1. CAN to RS232 컨버터의개요 5 2. 패킷형식 9 3. Microchip Bit Timing calculator(mbtc) 사용설명서 터미널모드사용법 Utility 사용법 Acceptance

Sena Device Server Serial/IP TM Version

일반적인 네트워크의 구성은 다음과 같다

bn2019_2

ARMBOOT 1

1217 WebTrafMon II

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

PowerPoint 프레젠테이션

10X56_NWG_KOR.indd

Microsoft Word - ASG AT90CAN128 모듈.doc

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

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

ez-shv manual

B _00_Ko_p1-p51.indd

USB-EK001 매뉴얼

chapter4

LCD Display

ez-md+_manual01

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

API 매뉴얼

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

T100MD+

Subnet Address Internet Network G Network Network class B networ

Microsoft Word doc

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

슬라이드 제목 없음

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

APOGEE Insight_KR_Base_3P11

PRO1_09E [읽기 전용]

ISP and CodeVisionAVR C Compiler.hwp

VZ94-한글매뉴얼

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

untitled

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


DSP_MON 프로그램 메뉴얼

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

Smart Power Scope Release Informations.pages

SMB_ICMP_UDP(huichang).PDF

슬라이드 1

한글사용설명서

Windows 8에서 BioStar 1 설치하기

온라인등록용 메뉴얼

Microsoft Word - USB복사기.doc

온습도 판넬미터(JTH-05) 사양서V1.0

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

CD-RW_Advanced.PDF

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

歯Cablexpert제안서.PDF

슬라이드 제목 없음

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control http

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

CPX-E-EC_BES_C_ _ k1

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

Microsoft Word - ZIO-AP1500N-Manual.doc

CANTUS Evaluation Board Ap. Note

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

Mango-E-Toi Board Developer Manual

MR-3000A-MAN.hwp

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

SBR-100S User Manual

제품소개 MODBUS Tester 는 MODBUS 프로토콜을사용하는산업장비테스트및점검하기위해 PC 를휴대및설치할필요없이쉽고빠르게장비와연결하여원하는작업을진행할수있도록휴대성을강조한 MODBUS 프로토콜테스트장치입니다. MODBUS Tester 에는 3 가지의기능이지원되며,

. PC PC 3 [ ] [ ], [ ] [ ] [ ] 3 [ ] [ ], 4 [ ] [ ], 4 [Internet Protocol Version 4 (TCP/IPv4)] 5 [ ] 6 [ IP (O)], [ DNS (B)] 7 [ ] 한국어 -

인켈(국문)pdf.pdf

#KLZ-371(PB)

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

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

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

0.1-6

Assign an IP Address and Access the Video Stream - Installation Guide

Network seminar.key

Transcription:

Revision 1.07 2011/05/02 CANTALKER Multi-CAN Analyzer & Converter User s Manual (CAN-USB Analyzer included) 193-7 Deopyeong-ri, Majang-myeon Icheon-si, Gyeonggi-do, South Korea www.maeulsoft.com Copyright 2000-2011 1

Copyright 2001-2011 All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, or translated into any language or computer format, in any form or by any means without prior written permission of: 193-7 Deopyeong-ri, Majang-myeon Icheon-si, Gyeonggi-do, South Korea reserves the right to make changes to the product(s) or specifications to improve performance, reliability, or manufacturability. Information furnished is believed to be accurate and reliable, but shall not be responsible for any errors that may appear in this document. makes no commitment to update or keep current the information contained in this document. However, no responsibility is assumed for its use; or any infringement of patents or other rights of third parties, which may result from its use. No liability is assumed as a result of their use or application. No rights under any patent accompany the sale of any such product(s) or information. products are not designed or intended for use in Life Support Systems. A Life Support System is a product or system intended to support or sustain life, which if it fails, can be reasonably expected to result in significant personal injury or death. If Buyer or any of its direct or indirect customers applies any product purchased or licensed from to any such unauthorized use, Buyer shall indemnify and hold, its affiliates and their respective suppliers, harmless against all claims, costs, damages and expenses arising directly or indirectly, out of any such unintended or unauthorized use, even if such claims alleges that or any other person or entity was negligent in designing or manufacturing the product. Specifications are subject to change without notice. Copyright 2001-2011 2

Revision History Revision 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 Comment Initial release Bus Statistics Added CAN Send Message Tool Modified Monitor Graph Added Firmware Upgrade Function Added Toolbar added for CSM and Monitor CAN-USB Analyzer Added Appendix added for application note Copyright 2001-2011 Date 2011/1/28 2011/1/30 2011/2/1 2011/2/6 2011/2/10 2011/2/21 2011/3/14 2011/5/2 Author Approver 3

Table of Contents 1 Introduction... 9 1.1 Purpose... 9 1.2 Scope... 9 1.3 Definition, acronyms, and abbreviations... 9 1.4 References... 10 2 Overview... 11 2.1 Features... 11 2.2 Performance... 12 2.3 Hardware... 12 2.3.1 Multi-CAN Analyzer & Converter Board... 13 2.3.2 Interfaces... 15 2.4 Software... 17 2.4.1 Multi-CAN Analyzer & Converter Windows Application, CANTALKER...17 2.4.2 USB Device Driver... 17 2.4.3 CAN Tester Application (RS232/USB용, Ethernet용)...19 2.4.4 Converter Active-X Control... 21 2.4.5 Microchip CAN Bit time calculator Windows Application...21 2.4.6 USB Interface DLL... 21 3 Packet Mode... 24 3.1 Overview... 24 3.2 Physical Setup... 24 3.3 Handshake... 25 3.4 General Packet Format... 25 3.5 Packet Formats... 28 3.5.1 Set CAN Initialize (0x80)... 28 3.5.2 Set CAN ID (0x81)... 28 3.5.3 Set CAN Bitrate (0x82)... 28 3.5.4 Set RS232 Baudrate (0x83)... 29 3.5.5 Send CAN Message (0x84)... 30 3.5.6 Receive CAN Message (0x85)... 30 3.5.7 Request CAN Status (0x86)... 31 3.5.8 Response CAN Status (0x87)... 31 3.5.9 Indicate CAN Error (0x88)... 32 3.5.10 Set CAN Bitrate Parameters (0x89)... 32 3.5.11 Clear CAN Errors (0x8A)... 33 3.5.12 Set CAN Filters (0x8B)... 33 3.5.13 Request Version (0x8C)... 34 3.5.14 Response Version (0x8D)... 34 3.5.15 Close C2E Connection (0x90)... 34 3.5.16 Request CAN Filters (0x91)... 34 3.5.17 Response CAN Filters (0x92)... 35 3.5.18 Request Device Information (0x93)... 35 3.5.19 Response Device Information (0x94)... 35 3.5.20 Request Speed Information (0x95)... 35 3.5.21 Response Speed Information (0x96)... 36 3.5.22 Set TCP/IP Information (0x97)... 36 3.5.23 Request TCP/IP Information (0x98)... 36 3.5.24 Response TCP/IP Information (0x99)... 37 Copyright 2001-2011 4

3.5.25 Request Time Stamp (0x9A)... 37 3.5.26 Response Time Stamp (0x9B)... 37 3.5.27 Receive CAN Message with time stamp (0xA0)...37 3.5.28 Set CAN Receive Mode (0xA1)... 37 3.5.29 Request CAN Receive Mode (0xA2)... 38 3.5.30 Response CAN Receive Mode (0xA3)... 38 3.5.31 Request CAN Error Count (0xA4)... 38 3.5.32 Response CAN Error Count (0xA5)... 38 3.5.33 Acknowledge (0xC0)... 39 3.5.34 No Acknowledge (0xD0)... 39 4 Terminal Mode... 40 4.1 Overview... 40 4.2 How to enter terminal Mode... 40 4.3 Terminal Commands... 40 4.3.1 INI (CAN Initialize)... 40 4.3.2 EID (Extend ID Mode, 2.0B)... 40 4.3.3 SID (Set CAN ID)... 41 4.3.4 CBR (CAN Bit Rate)... 42 4.3.5 SCP (Set CAN Parameter)... 42 4.3.6 RBR (RS232 Baud Rate)... 42 4.3.7 RCV (CAN Message Receive)... 43 4.3.8 SND (CAN Message Send)... 43 4.3.9 STS (CAN Status)... 44 4.3.10 CLR (Clear CAN Error)... 44 4.3.11 SIP (Set IP Address)... 45 4.3.12 SSM (Set Subnet Mask)... 45 4.3.13 SGW (Set Gateway Address)... 45 4.3.14 SMA (Set MAC Address)... 45 4.3.15 SIM (Set IP Mode)... 46 4.3.16 SPT (Set C2E TCP Port No)... 46 4.3.17 CPW (Change Telnet Password)... 46 4.3.18 DTS (Display Time Stamp)... 47 4.3.19 VID (Change USB Vendor ID)... 47 4.3.20 PID (Change USB Prodict ID)... 47 4.3.21 EXT (Exit Terminal)... 47 5 Protocol Analyzer Application (CANTALKER)...48 5.1 Overview... 48 5.2 CAN Message List... 48 5.3 Menu... 49 5.3.1 File... 49 5.3.2 Edit... 50 5.3.3 Protocol... 51 5.3.4 Interface... 56 5.3.5 Trigger... 59 5.3.6 Option... 59 5.3.7 Help... 60 5.4 Tool Bar... 60 5.5 Status Bar... 60 6 Firmware Upgrade... 62 6.1 Overview... 62 6.2 Preparations... 62 6.3 Procedure... 62 7 Appendix1. Copyright 2001-2011 5

Multi-CAN Analyzer를 이용한 차량 ECU 모니터링...64 7.1 들어가며... 64 7.2 Multi-CAN Analyzer 소개... 64 7.3 ECU 모니터링... 66 7.3.1 OBD-II PID란?... 66 7.3.2 ECU 모니터링을 위한 전송 메시지 설정... 68 7.3.3 ECU 모니터링을 위한 수신 메시지 설정... 69 7.3.4 실차량에서 모니터링 수행... 70 7.3.5 맺음말... 72 7.3.6 참고자료... 72 Copyright 2001-2011 6

Table of Tables Table 1: Factory Default Value... 15 Table 2: CAN Connector Pin Map...16 Table 3: RS232C Connector Pin Map...16 Table 4: PID List... 27 Table 5: Terminal Mode Help... 41 표 6. PID 목록 및 설명... 66 표 7. Mode 별 설명... 67 Copyright 2001-2011 7

Table of Figures Figure 1: Multi-CAN Analyzer Board Layout...13 Figure 2: CAN-USB Analyzer PCB Layout...14 Figure 3: Multi-CAN Analyzer Front Panel...15 Figure 4: Multi-CAN Analyzer Rear Panel...16 Figure 5: CAN Error State Machine...31 Figure 6: Microchip CAN Bit Timing Calculator...33 Figure 7: Protocol Analyzer Application...48 Figure 8: Monitor CAN ID & Data...54 Copyright 2001-2011 8

1 Introduction 1.1 Purpose 본 문서는 Multi-CAN Analyzer (CANTALKER TM) 제품의 개요, 하드웨어 및 소프트웨어에 대한 전반적인 사용 설명을 목적으로 한다 1.2 Scope 본 문서에서 다루는 부분은 다음과 같다. 1. 하드웨어 사양 및 설명 2. 소프트웨어 종류 및 설명 3. 패킷모드를 위한 통신 프로토콜 설명 4. 터미널 모드 사용법 5. Analyzer 응용프로그램 CANTALKER의 설명 6. Firmware Upgrade 설명 1.3 Definition, acronyms, and abbreviations ACK Acknowledge ARP Address Resolution Protocol BRP Baud Rate Prescaler CAN Controller Area Network DHCP Dynamic Host Configuration Protocol DMIPS Drystone Million Instruction Per Second DLL Dynamic Linked Library ICMP Internet Control Message Protocol IP Internet Protocol LAN Local Area Network NACK No Acknowledge PID Product Identification PRSEG Propagation Time Select Copyright 2001-2011 9

RTR Remote Transmission Request SAM Sample of the CAN Bus Line SEG1PH Phase Buffer Segment 1 SEG2PH Phase Buffer Segment 2 SEGPHTS Phase Segment 2 Time Select SJW Synchronization Jump Width TCP Transmission Control Protocol UART Universal Ssynchronous Receiver/Transmitter UDP User Datagram Protocol USB Universal Serial Bus VID Vendor Identification WAKFIL CAN Bus Line Filter Enable 1.4 References 1. CAN to RS232C Converter Manual, 2. CAN to Ethernet Gateway Manual Copyright 2001-2011 10

2 Overview 기존의 CAN Converter제품은 전송속도가 매우 느린 RS232C통신을 사용하거나 성능이 낮은 8비트 MCU를 사용하여 고속의 Ethernet통신을 하더라도 CAN버스의 모든 메시지를 처리 할 수 없었던 근본적인 문제를 안고 있어 Analyzer로 사용하기에는 다소 부족한 면이 있었고 특정 메시지들만 수신하고 처리하기 위한 제어기의 용도로 적합 했다. 본 Analyzer는 이의 단점을 보완하기 위해 고성능 MCU를 사용하여 CAN버스의 모든 메시지를 실시간으로 처리 할 수 있게 하였으며, 휴대성과 활용성을 높이기 위해 기존 스위치로 모드 변경하는 제품과는 달리 언제든지 RS232C, USB 그리고 Ethernet인터페이스를 동시에 사용 할 수 있게 했다. USB를 이용하는 경우는 외부 전원이 추가 로 필요로 하지 않는다. 또한 CAN Bus의 절연(Isolation)으로 외부 전기적 충격으로 부터 내부 회로를 보호할 뿐만 아 니라 기존에 안정성을 위해 제어기들의 전원 GND를 모두 연결해 줘야 했던 번거로운 문제를 없앴다. 본 문서는 Multi-CAN Analyzer와 CAN-USB Analyzer에 대해 모두 설명하고 있으나, Ethernet 관련 부분과 OBD-II / CANopen / DeviceNet / J1939와 같이 추가로 지원되는 프로토콜은 CAN-USB Analyzer에서는 제외된다. 2.1 Features 본 Analyzer는 다음과 같은 특성 및 기능을 갖고 있다. 1. 120 DMIPS로 동작하는 고성능 32 bits MCU내장하여 1 Mbps CAN버스의 모든 메시지 처리 가능 2. RS232C, USB 그리고 Ethernet 인터페이스를 내장하여 CAN 프로토콜을 동시에 다양한 인터페이스로 변환 하여 실시간 데이터 송수신 (Converter로서 사용가능, CAN-USB는 Ethernet없음) 3. RS232C의 최대 통신속도는 460,800 bps 지원 4. 10/100 Mbps Ethernet통신속도 지원하며 LAN cable 형식 자동인식 5. 1 Mbps High Speed CAN을 지원하며, CAN 2.0A와 2.0B 동시 지원함 (CAN 2.0 Active Mode) 6. CAN BUS가 Isolation 되어 외부 전기적 충격으로부터 보호됨 7. CAN 종단저항(Termination) 사용을 외부 스위치로 결정할 수 있음 8. MCP2551 / 82C250 호환 CAN Tranceiver사용 9. USB 2.0 Full Speed 지원 10. IP / ARP / ICMP / UDP / TCP / DHCPc / DHCPs / TELNET / C2E 프로토콜 지원 (CAN-USB제외) 11. USB전원 또는 DC5V 외부 전원 사용 가능함 12. 공장초기화 점퍼 내장하여 모든 설정값을 출하시의 상태로 변경 할 수 있음 13. Power, Status, Error, CAN TX, CAN RX에 대한 LED지원 (CAN-USB는 Status없음) Copyright 2001-2011 11

14. Watchdog timer동작으로 비정상 동작시 자동 리셋됨 15. 설정값은 Nonvolatile 메모리에 저장되어 전원 off시에서 값 유지됨 16. 동작 전압 및 최대 전류는 DC5V / 400mA 임 17. 제품크기 140 x 35 x 110 mm (가로x높이x깊이, CAN-USB는 61 x 28 x 90) 18. 전용 Analyzer 응용프로그램 CANTALKER 제공 (CANopen, DeviceNet, OBD-II 일부지원, CAN-USB는 제 외) 19. 10us 해상도 Time Stamp지원 20. Filter / Trigger / 특정 CAN ID 모니터링 및 산술계산 지원 / 전송할 CAN 메시지 프로그래밍지원 21. 특정 메시지에 대한 실시간 Bar / Gauge / Graph 그래픽 지원 22. 송수신 메시지 저장 및 텍스트 형식 Export 지원 23. Firmware Upgrade 지원 2.2 Performance 본 Analyzer는 USB / RS232C / Ethernet 인터페이스를 지원하고 Terminal 과 Packet모드를 지원한다. 단 한 가지 인터페이스에 대해서는 동시에 Terminal모드와 Packet모드를 지원하지 않고 둘중 하나만 사용할 수 있다. 모 든 인터페이스는 동시에 모두 사용할 수 있으며 모든 인터페이스가 연결된 경우 수신된 CAN메시지는 동시에 모 든 인터페이스로 전달될 수 있다. 또한 동시에 모든 인터페이스에서 CAN 메시지를 송신 할 수 있다. RS232C의 경우 최대 460800bps의 속도를 갖지만 1Mbps의 CAN속도보다 낮고 Protocol Overhead로 인해 모든 데이터를 수신하지 못할 수 있다. USB와 Ethernet의 경우는 전송속도가 충분히 빠르므로 수신된 모든 CAN 메시지를 전송 받을 수 있다. 따라서 모든 메시지를 수신하고자 한다면 반드시 USB나 Ethernet을 사용해야 한다. 주의사항으로 RS232C의 baudrate를 115200bps 초과하여 사용하는 경우는 반드시 고속을 지원하는 USB2Serial Converter등을 사용해야 하며, 고속이 되는 경우는 전송 데이터에 오류가 발생할 확률이 높아질 수 있 다는 것을 사전 인식하고 사용해야 한다. 2.3 Hardware Analyzer를 사용하기 위해 다음과 같은 하드웨어 구성품을 필요로 한다. (*주의. 본체 이외에는 상품에 포함되지 않으므로 개별 구매해야 함) 1. Multi-CAN Analyzer본체 2. USB mini cable Copyright 2001-2011 12

3. 1:1 RS232 cable 4. Ethernet cable 5. SMPS DC5V 500mA 이상 Power Supply 2.3.1 Multi-CAN Analyzer & Converter Board Figure 1 는 Multi-CAN Analyzer 내부에 있는 PCB 의 Layout을 보여 준다. 각 기구 부품별 설명은 아래와 같다. Figure 1: Multi-CAN Analyzer Board Layout 1. D1 : Power LED로 전원이 인가되면 점등됨 2. D2 : Error LED로 CAN통신 Bus Off인 경우 점등됨 3. D3 : Status LED로 IP를 할당중이면 점멸되고 할당완료되면 점등됨 4. D4 : CAN TX LED 5. D5 : CAN RX LED 6. J1 : RS232C DB9 Female Connector 7. J2 : ICSP Connector로 펌웨어 업그레이드 또는 Debugging에 사용됨 8. J3 : CAN 종단저항 점퍼이나 사용되지 않음 9. J4 : CAN DB9 Male Connector Copyright 2001-2011 13

10. J5 : 공장초기화 점퍼로 공장출하시 설정값으로 초기화 함 11. J6 : USB mini Connector 12. J7 : DC5V Jack 13. J8 : RJ45 LAN Connector 14. S1 : CAN 종단저항 스위치 Figure 2 은 CAN-USB Analyzer 내부 PCB의 Layout을 보여준다. 각 기구별 설명은 아래와 같다. Figure 2: CAN-USB Analyzer PCB Layout 1. D1 : Power LED 로 전원이 인가되면 점등됨 2. D2 : Error LED로 CAN통신 Bus Off인 경우 점등됨 3. D3 : CAN TX LED 4. D4 : CAN RX LED 5. J1 : USB mini Connector 6. J2 : 공장초기화 점퍼로 공장출하시 설정값으로 초기화 함 7. J3 : ICSP Connector로 펌웨어 업그레이드 또는 Debugging에 사용됨 8. J4 : CAN / RS232C / DC5V 및 CAN 종단 저항 연결 터미널 CAN 종단저항을 사용하기 위해서는 TERM1과 TERM2를 연결함 RS232_RX 터미널은 PC의 9pin RS232C컨넥터의 2번, RS232C_TX는 3번, GND는 5번 pin 과 연결함 Multi-CAN Analyzer의 J5 나, CAN-USB Analyzer의 J2 를 연결하여 출하시 값으로 초기화 하는 경우 설정값 은 다음과 같다. 아래 내용중 Ethernet과 관련된 부분은 CAN-USB Analyzer와는 상관 없다. Copyright 2001-2011 14

Model MSMCA100 Serial No 10129001 Version 1.0 USB VID/PID 04D8/FFEE CAN_ID FFFFFFFF (All Accepted) CAN BaudRate 1000 kbps CAN Param 00/00/00 RS232 BaudRate 115200 bps Error Warning 0 Rx/Tx Warning 0/0 Rx/Tx Bus passive 0/0 Bus off 0 Overrun 0(HW):0(RX FIFO):0(TX FIFO) Error Count 0(RX)/0(TX) Extend ID mode 0 Fifo Overrun USB(RX:0/TX:0), UART(RX:0/TX:0) Mask1,2 00000000,00000000 Filter1-2 00000000,00000000 Filter3-6 00000000,00000000,00000000,00000000 IP Address 192.168.10.100 Subnet Mask 255.255.255.0 Gateway 192.168.10.1 MAC Address 00-04-A3-14-6E-1C Port Number D431 IP mode Static CAN Time Stamp Enable Table 1: Factory Default Value 2.3.2 Interfaces Figure 3와 Figure 4는 각각 Analyzer의 앞면과 뒷면의 판넷 이미지를 표시한다. LED 의 색깔은 Power, CAN Tx/ CAN Rx는 녹색, Error는 빨간색, Status는 주황색이나 색은 변경 될 수 있다. Figure 3: Multi-CAN Analyzer Front Panel DB9 Male 형식 CAN 컨넥터의 핀배열은 다음과 같다. GND는 CAN Tranceiver에 공급되는 전원의 GND로 Copyright 2001-2011 15

특별한 경우가 아니라면 연결할 필요가 없다. PIN2 : CAN_L PIN7 : CAN_H PIN3 : GND PIN6 : GND Table 2: CAN Connector Pin Map Figure 4의 TERM은 CAN의 120 Ohm 종단저항을 연결하기 위한 스위치로 [ON] 방향으로 이동시 종단저항 이 연결된다. 일반적으로 종단저항은 CAN 버스의 양끝단에 위치하는 노드만 연결하므로 상황에 따라 ON/OFF 해야 한다. RS232C 컨넥터에 연결하는 케이블은 RX와 TX라인이 Cross가 아닌 1:1 형식을 반드시 사용해야 한다. 보 통 1:1 케이블은 한쪽은 Male, 다른쪽은 Female 로 되어 있다. Figure 4: Multi-CAN Analyzer Rear Panel DB9 Female형식 RS232C컨넥터의 핀배열은 다음과 같다. PIN2 : RX (PC측 RX, Analyzer측 TX) PIN3 : TX (PC측 TX, Analyzer측 RX) PIN5 : GND Table 3: RS232C Connector Pin Map RS232C 인터페이스를 터미널 모드로 사용하는 경우 하이퍼 터미널과 같은 시리얼 터미널 응용프로그램 을 사용할 수 있는데 가급적 하이퍼터미널은 사용하지 말며, Teraterm, 이야기, Putty, 새롬데이터맨 같은 프로그램 Copyright 2001-2011 16

을 이용한다. 이유는 하이퍼터미널은 가끔 정상적인 통신이 되지 않는 문제가 발생하기 때문이다. DC5V의 경우는 극성과 전압을 반드시 사용전에 확인해야 한다. 만약 비정상적인 입력이 인가되는 경우 보드의 부품에 손상이 발생할 수 있으며 이런 경우는 당사의 책임 범위를 벗어난다. 전원은 항상 동일 전압을 유 지 하는 정전압 어댑터를 사용해야 하며 최소 지원되는 전류는 500mA 이상 되어야 한다. 경우에 따라 오래된 PC 나 USB허브를 사용하는 경우 USB에서 공급되는 전류가 모자라는 경우가 있을수 있으니, 이런 경우는 외부전원을 사용하는 USB허브를 사용하는게 좋다. 지원되는 USB의 규격은 2.0이며 속도는 Full Speed로 최대 12Mbps 이다. 통신속도가 최대 1Mbps인 CAN버 스의 모든 메시지는 RS232C를 제외하고 USB와 Ethernet 인터페이스를 사용하는 경우에 처리될 수 있으므로 Analyzer로서 사용되는 경우 가급적 USB나 Ethernet을 사용해야 한다. CAN-USB의 경우 케이스 윗면에 보여지는 이미지는 다음과 같다. LED색깔은 Power/CAN RX/CAM TX는 녹색, 그리고 ERROR는 빨간색이며 변경될 수도 있다. 2.4 Software Analyzer를 사용하는데 지원되는 소프트웨어에 대해 본절에서 설명된다. 지원되는 모든 응용프로그램들 은 Windows OS (2000/XP/Vista 32bit)만 지원하며, RS232C 터미널 모드나, Telnet은 관련 기능이 지원하는 모든 OS 에서 사용할 수 있다. USB인터페이스를 사용하려면 반드시 드라이버를 설치해야 하는데 자세한 설명은 2.4.2 절 에서 설명된다. 2.4.1 Multi-CAN Analyzer & Converter Windows Application, CANTALKER CAN 버스 모든 메시지를 모니터링 하거나 프로토콜을 분석할 때 사용되는 Windows 응용프로그램으로 5 장에서 자세히 설명된다. 2.4.2 USB Device Driver USB 인터페이스를 사용하는 경우 드라이버는 반드시 설치되어야 한다. 드라이버를 위해 필요한 파일은 Copyright 2001-2011 17

다음과 같다. 64비트는 Windows 시작시 [F8] 버튼을 눌러 드라이버 서명적용 안함 을 선택해야지만 정상적으로 사용할 수 있으므로 32비트 Windows에서만 사용하길 권장한다. 1. mchpusb.sys : 32비트 용 2. mchpusb64.sys : 64비트 용 3. mchpusb.inf 드라이버를 설치하기 위해 위 3개 파일을 PC의 특정 디렉토리에 복사하고 PC에 Analyzer를 연결하면 다 음과 같은 팝업창이 보이며 두번째 항목인 목록 또는 특정 위치에서 설치(고급)(S) 를 선택하고 [다음] 을 클릭 한다. 그럼 다음과 같은 창이 보이며 검색할 때 다음 위치 포함 을 채크한 후 이전에 복사해 두었던 드라이버 가 있는 위치의 디렉토리를 [찾아보기] 를 클릭하여 설정한 후 [다음] 을 클릭한다. 다음과 같은 화면이 보이면서 드라이버가 시스템으로 복사되면서 설치된다. Copyright 2001-2011 18

정상적으로 설치가 완료 되면 다음과 같은 화면을 볼 수 있으며 [마침] 을 클릭하여 완료한다. 드라이버 설치가 완료 되고 [장치관리자]를 띄우면 다음과 같이 드라이버가 설치된 모습을 볼 수 있다. USB드라이버는 Enumeration시에 사용되는 Control을 포함하여 Bulk In / Bulk Out 두개의 Endpoint를 사용 한다. 실제 데이터 통신용으로는 Control Endpoint는 사용하지 않는다. 2.4.3 CAN Tester Application (RS232/USB용, Ethernet용) Analyzer의 동작을 테스트하거나 간단한 모니터링이나 설정을 위해 Tester 응용 프로그램을 사용할 수 있 으나 프로토콜 분석용으로는 5장에서 설명되는 Protocol Analyzer 응용프로그램을 사용해야 한다. Copyright 2001-2011 19

Tester는 인터페이스 종류에 따라 두개의 응용프로그램을 구분해서 사용해야 한다. RS232와 USB 인터페 이스를 사용하는 경우는 CAN2RS232 Tester 응용프로그램 사용해야 하며 다음과 같다. 본 응용프로그램은 간단한 기본적인 설정과 모니터링 기능을 포함하고 있으며, OBD나 CANopen 프로토 콜에 대해 간단히 구현되어 있다. 자세한 사용법은 CAN2RS232 컨버터 매뉴얼을 참고한다. Ethernet인터페이스를 사용하는 경우는 CAN to Ethernet Gateway Tester 응용프로그램을 사용해야 하며 다음과 같다. Copyright 2001-2011 20

본 프로그램도 CAN2RS232 Tester 응용 프로그램과 동일할 기능을 수행하며 추가적으로 10개의 메시지를 등록하여 보낼수 있는 기능을 지원한다. 자세한 설명은 CAN to Ethernet Gateway 사용 설명서를 참고한다. 2.4.4 Converter Active-X Control 패킷모드와 RS232C통신을 지원하는 Active-X 컨트롤의 파일이름은 can2rs232.ocx 파일이다. 본 OCX를 이용하는 경우 VisualBasic에서 쉽게 컨버터 기능을 활용할 수 있다. 자세한 등록 및 사용법은 CAN to RS232 Converter 매뉴얼을 참고한다. 2.4.5 Microchip CAN Bit time calculator Windows Application CAN 속도를 사용자 정의로 설정한 경우에 CAN의 Bit Timing 파라메터 값인 BRGCON1~BRGCON3를 계 산하기 위한 응용프로그램으로 CAN to RS232C Converter 매뉴얼을 참고한다. 본 프로그램은 사용하기 위해서 미리 설치되어야 하며 설치 파일은 다음과 같이 구성되어 있다. 1. setup.exe 2. setup.lst 3. ics2510bittime.cab 2.4.6 USB Interface DLL 사용자가 직접개발하는 응용프로그램에서 USB인터페이스를 사용하는 경우에 드라이버와 통신하는 기능 을 API함수로 제공하는 DLL을 사용해야 한다. 사용자가 좀더 사용하기 쉽도록 class로 재정의 하였고 전체적으 로 다음과 같은 파일로 구성된다. 1. MpUsbAPI.h : class를 정의한 헤더 파일 2. MpUsb.h : DLL의 API를 정의한 헤더 파일 3. MpUsbAPI.cpp : class를 구현한 cpp파일 4. MpUsbApi.dll : 드라이버와 직접 통신하는 DLL파일 5. type.h : Analyzer에 사용되는 데이터 형 및 정의가 선언된 헤더 파일 사용자가 사용해야 할 class의 맴버함수와 설명은 다음과 같다. 1. BOOL CMpUsbAPI::LoadMpUsbAPIDll (HWND hwnd) Copyright 2001-2011 21

DLL을 로딩하고 초기화 하는 맴버함수며 USB로부터 데이터를 수신하면 hwnd 핸들을 갖는 윈도우로 Window Message를 전송하기 때문에 본 함수를 호출할 때 반드시 수신된 데이터를 처리할 윈도우의 핸들을 전달해야 한다. 본 함수가 FALSE를 리턴하는 경우는 MpUsbApi.dll 파일을 여는데 실패한 경우이므로 파일이 현재 실행파일이 있는 디렉토리나 System32 디렉토리에 있는지 확인 한다. 전달되는 Window Message의 정의는 다음과 같다. #define WM_CV_RSP_SIGNAL (WM_USER+3) Message의 WPARAM은 수신 데이터의 size이고, LPARAM은 수신데이터가 보관된 할당된 메모리 주 소로 본 메시지를 받는 윈도우에서는 반드시 할당 메모리를 직접 free시켜줘야 한다. 다음은 전형적은 수신 메시지 함수의 형태다. void OnUsbDataReceived (WPARAM wparam, LPARAM lparam) { BYTE *data = (BYTE*)lparam; UINT32 size = (UINT32)wparam; BYTE buff[4096]; if (data) { memcpy (buff, data, size); free (data); ProtocolRxHandler (buff, size); } } 2. BOOL CMpUsbAPI::OpenPipe (void) USB드라이버를 열고 USB통신을 위한 Bulk In/Out Pipe에 대한 핸들을 얻기 위한 함수이다. 본 함수가 FALSE를 리턴하면 USB드라이버가 정상적으로 인식되지 않는 상황이므로 USB연결이 안 되었는지와 드라이버가 설치되지 않았는지 확인한다. 3. void CMpUsbAPI::ClosePipe (void) Open한 드라이버를 더이상 사용하지 않아 종료하는 경우에 사용된다. 4. BOOL CMpUsbAPI::SendPacket (BYTE *data, UINT32 *psize, UINT32 timeout) USB로 데이터를 전송할 때 사용된다. 변수의 의미는 다음과 같다. data는 전송할 데이터의 포인터 psize는 전송할 크기가 들어있는 변수의 포인터이며 전송이 완료되면 실제 전송된 크기를 전달 Copyright 2001-2011 22

본 함수는 데이터 전송을 완료하기 전까지 block상태로 있어서 전송 유효기간인 timeout 시간 (ms 단위)을 주어 지정된 시간안에 완료되지 않으면 block상태에서 즉시 깨어남 Copyright 2001-2011 23

3 Packet Mode 3.1 Overview 본 Analyzer는 두개의 통신 모드를 지원하는데 패킷모드와 터미널 모드이다. 패킷모드는 지정된 형식의 프로토콜로 바이너리 통신을 하며 터미널 모드는 사용자 대화 형식의 아스키(ASCII) 통신을 한다. 패킷모드는 데 이터를 바이너리 형태로 보내기 때문에 사람의 눈으로 확인하고 직접 조작하기는 어려운 반면 최적의 데이터를 전송하므로 전송효율이 높은 편이다. 터미널 모드는 사용자의 눈으로 확인하고 직접 입력할 수 있는 모드로 일반 적인 터미널 응용프로그램(예. 하이퍼터미널) 으로 사용 할 수 있다. 터미널 모드에 대해서는 4장에서 자세히 기술 된다. 3.2 Physical Setup RS232C 통신을 하는 경우는 PC측에서 다음과 같이 설정되어야 한다. 1. Data : 8bit 2. Parity : None 3. Stop Bit : One 4. Handshake : None 5. Baudrate : 9600/19200/38400/57600/115200/230400/460800 bps USB는 특별히 설정할 것이 없으며 Ethernet인 경우는 TCP/IP를 주소를 설정해 주어야 한다. IP를 설정하 기 전에 Analyzer에 설정된 정확한 IP모드를 확인해야 하는데 IP Mode가 static인 고정 IP모드인 경우는 Analyzer와 함께 Network에서 사용할 정확한 IP/Gateway주소와 Subnet Mask를 설정해야하고 나머지 Dynamic IP모드와 DHCP server모드에서는 PC의 TCP/IP 설정을 IP자동 할당모드로 설정해야 한다. Analyzer에 설정되는 기본 TCP/IP 설정값은 다음과 같다. (CAN-USB는 제외) 1. IP Address : 192.168.10.100 2. Gateway Address : 192.168.10.1 3. Subnet Mask : 255.255.255.0 4. C2E Socket Port : 십진수 54321 (0xD431) Copyright 2001-2011 24

3.3 Handshake 데이터 전송의 무결성을 보장하기 위해 응답을 요청하는 REQ(Request)에 대해서는 관련된 RSP(Response) 로 응답하고, 데이터를 요구하지 않는 SET 명령에 대해서는 ACK / NACK로 응답한다. 만약 NACK를 수신 받는 경우는 재전송하고, 이는 5회까지 반복할 수 있으며, 이후에도 NACK를 수신하면 패킷은 소멸 시킨다. REQ명령 인 경우도 패킷내용이 비정상적이면 NACK 를 받을 수 있다. 모든 응답은 200 ms 이내에 수행해야 하고, 시간이 초과되는 경우는 명령을 전송했던 쪽에서 재전송한다. 5회 재전송에도 응답하지 않으면 Fail로 간주 하고, 패킷은 소멸 시킨다. 여기서 응답시간, 200 ms 는 패킷전송이 시작되는 시점이 아니고, 패킷전체가 전송된 후 부터의 시간을 의미 한다. 이는, 패킷마다 길이가 다를수 있고, UART속도에 따라 전송 시간이 달라질 수 있기 때문이다. CAN 메시지를 송수신 하는 PID는 Handshake하지 않는다. 즉 Analyzer로 Send Packet하거나 PC로 Receive 하는 경우 ACK로 응답하지 않는다. 단 비정상 packet인 경우만 NACK로 응답한다. handshake를 하지 않는 이유 는 고속 통신을 보장하기 위함이므로 handshake가 필요하다면 Application Level에서 직접 해주어야 한다. RS232C 인터페이스를 사용하는 경우, 패킷중에 설정값을 NV메모리에 저장해야 하는 것들에 대해서는 최소 50ms 이상의 패킷간 간격을 두어야 한다. NV메모리에 기록하는 중에 다른 명령이 오는 경우 RS232통신에 영향을 주기 때문이다. 3.4 General Packet Format 다양한 종류의 명령들을 수행 하기 위해 전송되는 데이터들은 지정된 형식으로 추가 포장을 하여 전송하 게 된다. 이렇게 포장된 전송단위를 Packet이라고 하고, 한 Packet은 다음과 같은 구조를 갖는다. SYNC(0xF0) PID(1byte) Length(1byte) Data(0~n byte) CheckSum (1byte) EndMark(0xE0) 여기서 Sync과 EndMark는 Frame의 시작과 끝을 지시하는 값으로서 각각 1byte의 크기를 갖는다. 단 Ethernet 인터페이스에서는 이 필드가 사용되지 않는다. PID는 각 Packet의 특성을 기술하는 값으로 Table 1에서 모든 PID 종류를 볼 수 있다. Length는 순수 Data의 길이를 의미하며 1바이트 크기를 갖는다. Data는 Length에서 지시한 만큼 전송되며 Length가 0인 경우는 Data가 존재하지 않고 즉시 CheckSum이 위 치하게 된다. 데이터로 전달 되는 모든 데이터 형은 하위데이터가 먼저 위치하는 Little Endian으로 처리되야 한다. CheckSum은 PID부터 Data까지 1바이트 형식으로 모두 더한 값을 의미 한다. 합계가 1바이트 크기가 넘는 경우는 하위 1바이트만 취한다. Copyright 2001-2011 25

Packet의 프로토콜을 처리하는 부분에서는 위에서 지정된 형식을 벗어나는 데이터가 수신되면 즉시 SYNC입력상태로 천이 하여 다음 SYNC가 들어올때까지 수신되는 모든 데이터는 무시한다. Copyright 2001-2011 26

No PID Description Data Size (byte) Data Structure Direction 1 0x80 Set CAN Initialize 0 From PC 2 0x81 Set CAN ID 5 From PC 3 0x82 Set CAN Bitrate 4 0x83 Set RS232 Baudrate 5 0x84 Send CAN Message (ACK Not required) 4~12 From PC 6 0x85 Receive CAN Message (ACK Not required) 4~12 To PC 7 0x86 Request CAN Status 0 From PC 8 0x87 Response CAN Status 8 To PC 9 0x88 Indicate CAN Error - To PC 10 0x89 Set CAN Bitrate Parameters 1 or 4 From PC 11 0x8A Clear CAN Errors 0 From PC 12 0x8B Set CAN Filters 32 From PC 13 0x8C Request Version 0 From PC 14 0x8D Response Version 2 To PC 15 0x90 Close C2E Connection 0 From PC 16 0x91 Request CAN Filters 0 From PC 17 0x92 Response CAN Filters 32 To PC 18 0x93 Request Device Information 0 From PC 19 0x94 Response Device Information 16 To PC 20 0x95 Request Speed Information 0 From PC 21 0x96 Response Speed Information 5 To PC 22 0x97 Set TCP/IP Information 21 23 0x98 Request TCP/IP Information 0 24 0x99 Response TCP/IP Information 21 25 0x9A Request Time Stamp 0 From PC 26 0x9B Response Time Stamp 4 To PC 27 0xA0 Receive CAN Message with time stamp 8~16 To PC 28 0xA1 Set CAN Receive Mode 4 From PC 29 0xA2 Request CAN Receive Mode 0 From PC 30 0xA3 Response CAN Receive Mode 4 To PC 31 0xA4 Request CAN Error Count 0 From PC 32 0xA5 Response CAN Error Count 2 To PC 33 0xC0 Acknowledge 0 All 34 0xD0 No Acknowledge 1 1 or 4 CAN_BIT_RATE From PC 1 UART_BAUDRATE From PC IP_MODE, Port, IP Addr From PC From PC IP_MODE, Port, IP Addr NACK_REASON To PC All Table 4: PID List Copyright 2001-2011 27

3.5 Packet Formats 본 절에서는 각 PID에 대한 구체적인 패킷형식에 대해 정의하고 기능에 대해 기술한다. 앞서 설명된 것 처럼 본절에서 설명되는 각 패킷의 SYNC(0xF0)와 END MARK(0xE0) 는 Ethernet 인터페이스에서는 사용되지 않으 니 사용에 주의해야 한다. 3.5.1 Set CAN Initialize (0x80) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x80 0 0x80 0xE0 CAN 컨트롤러를 초기화 한다. 본 명령은 사용초기나 CAN에러가 발생한 경우에 사용할 수 있다. Analyzer는 초기화 수행후 ACK를 PC로 전송하거나 비정상인 경우 NACK을 전송할 수 있다. 3.5.2 Set CAN ID (0x81) Packet Frame (14 bytes) 0xF0 : PC Analyzer 0x81 5 Extend ID(1) CAN ID(4) Checksum 0xE0 수신할 메시지에 대한 CAN ID를 설정한다. 모든 메시지를 수신하고자 하는 경우는 CAN ID를 [0xFFFFFFFF]로 설정해야 하고, 사용자 정의 Filter & Mask를 사용하여 메시지를 수신하고 하는 경우에는 CAN ID 를 [0xFFFFFFFE]로 설정해야 한다. Extend ID는 송수신하는 메시지의 CAN버전을 결정하는 부분으로 0인 경우 11비트 CAN ID가 사용되는 CAN2.0A이고, 1인 경우는 29비트 CAN ID를 사용하는 CAN2.0B 인 경우다. 그러나 본 명령은 기존 Converter들과 의 호환을 위해 사용되는 것이며, Extend ID 설정값에 상관없이 CAN2.0A와 CAN2.0B를 항상 수신하거나 발송할 수 있다. 정상적으로 설정되면 Analyzer는 ACK를 전송하고 오류가 있는 경우는 NACK 을 전송한다. 3.5.3 Set CAN Bitrate (0x82) Packet Frame (6 or 9 bytes) 0xF0 : PC Analyzer 0x82 Copyright 2001-2011 1 or 4 Bitrate(1 or 4) Checksum 0xE0 28

CAN 버스의 송수신 속도 Bitrate를 설정한다. 데이터 길이는 1 또는 4를 갖을 수 있다. 길이가 1인 경우는 Bitrate가 다음과 같은 속도에 대한 enum type index값을 갖으며 지정할 수 있는 bitrate은 50 / 100 / 125 / 200 / 250 / 400 / 500 / 1000 kbps 이다. typedef enum { CAN_BIT_RATE_125 = 0, CAN_BIT_RATE_250, CAN_BIT_RATE_500, CAN_BIT_RATE_1000, CAN_BIT_RATE_50, CAN_BIT_RATE_100, CAN_BIT_RATE_200, CAN_BIT_RATE_400, CAN_BIT_RATE_USER, } CAN_BIT_RATE; 여기서 [CAN_BIT_RATE_USER = 8] 인 경우는 사용자 정의 bit time 값을 사용할 수 있다. 사용자 정의 bit time은 세밀하게 bit time의 조정이 필요한 경우에 사용되며 설정하는 방법은 3.5.10절을 참고한다. 데이터 길이가 4인 경우는 직접 bitrate을 bps단위로 지정할 수 있으며 최소 50000부터 1000000 사이의 값 을 갖을 수 있다. 설정이 정상적으로 완료되면 Analyzer는 ACK을, 오류가 발생하는 경우는 NACK를 전송한다. 3.5.4 Set RS232 Baudrate (0x83) Packet Frame (6 bytes) 0xF0 : PC Analyzer 0x83 1 Baud Rate(1) Checksum 0xE0 RS232C의 통신 속도인 Baud Rate를 설정한다. Baud Rate의 값은 다음과 같이 enum type index값을 갖는다. typedef enum { UART_BAUDRATE_9600 = 0, UART_BAUDRATE_19200, UART_BAUDRATE_38400, UART_BAUDRATE_57600, UART_BAUDRATE_115200, UART_BAUDRATE_230400, UART_BAUDRATE_460800, UART_BAUDRATE_TOTAL_NUM } UART_BAUDRATE; 115200bps를 초과하는 경우는 반드시 고속을 지원하는 장치나 USB2Serial Converter를 사용해야 한다. Copyright 2001-2011 29

Analyzer는 baudrate를 변경하기 전에 먼저 ACK를 전송하므로 PC측에서는 ACK를 수신한 후 RS232C의 baudrate를 변경해야 한다. 만약 본 패킷이 비정상이라면 Analyzer는 NACK를 전송한다. RS232C baudrate를 변경 한 경우는 정상적인 동작을 위해 Analyzer의 전원을 껏다 킨다. 3.5.5 Send CAN Message (0x84) Packet Frame (9~17 bytes): PC Analyzer 0xF0 0x84 4~12 CAN ID(4) Data (0~8) Checksum 0xE0 CAN 메시지를 전송하기 위한 패킷으로 CAN ID는 메시지를 수신받을 장치의 목적지 Id이다. CAN_ID의 의 각 비트별 의미는 다음과 같다. bit31 Extend ID bit 30 bit 29 RTR reserved bit28 bit0 Destination CAN ID 31번째 비트는 Extend ID를 의미 하며 1로 설정하는 경우 29 bit CAN ID로 전송되며, 30번째 비트는 RTR을 전송하고자 하는 경우 1로 설정한다. 본 메시지는 실제 CAN 버스상에 전송 유무와 상관없이 Analyzer는 응답하지 않고 packet이 비정상인 경우 만 NACK로 응답한다. 3.5.6 Receive CAN Message (0x85) Packet Frame (9~17 bytes) 0xF0 : Analyzer PC 0x85 4~12 CAN ID(4) Data (0~8) Checksum 0xE0 수신한 CAN 메시지를 PC로 전달하는 패킷으로 CAN_ID의 각 비트별 의미는 Send CAN Message와 동일하 게 다음과 같다. bit31 Extend ID bit 30 bit 29 RTR reserved bit28 bit0 Destination CAN ID 31번째 비트는 Extend ID를 의미 하기 때문에 이 값이 0인 경우는 CAN ID의 11비트만, 1인 경우는 29비트 만 유효하며, 30번째 비트는 RTR을 의미 한다. 본 메시지를 수신하더라고 PC에서는 ACK나 NACK를 응답하지 않는다. Copyright 2001-2011 30

3.5.7 Request CAN Status (0x86) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x86 0 0x86 0xE0 Analyzer에 현재 CAN 컨트롤러의 상태를 요청하는 패킷이다. 응답 데이터는 다음절의 [0x87] 로 전송되며 본 패킷이 비정상인 경우는 NACK[0xD0]로 응답한다. 3.5.8 Response CAN Status (0x87) Packet Frame (13 bytes) 0xF0 0x87 8 : Analyzer PC Status(1) CAN ID(4) BRGCON1(1) BRGCON2(1) BRGCON3(1) Checksum 0xE0 CAN상태를 요청하는 [0x86] 에 응답하는 패킷이다. 1바이트 크기의 Status는 각 비트별로 다음과 같은 의 미를 갖는다. bit 7 bit 6 bit 5 Extend ID Tx Bus Off Tx Bus Passive bit 4 bit3 bit2 Rx Bus Passive Tx Warning Rx Warning bit1 Error Warning bit 0 Overrun 각 status 비트 값은 Figure 5와 같이 Tx와 Rx의 Error Count에 따라 State Machine에 의해 관리되며 설정된 다. 즉, Rx또는 Tx의 에러수가 127보다 작으면 Error Active가 되고, 그 이상이 되면 Error Passive가 된다. Error Passive상태에서 또 Tx에러수가 255를 넘어서게 되면 Bus Off가 된다. Bus off상태에서는 연속적인 11개의 Ressesive 비트가 128회 발생하면 (Bus off회복 시퀀스) Bus off 상태를 회복하여 다시 Error Active상태로 된다. 여기서 실제 Tx와 Rx에 대한 Error count는 3.5.31 절의 [0xA4] 패킷으로 알아낼 수 있다. Figure 5: CAN Error State Machine Copyright 2001-2011 31

3.5.9 Indicate CAN Error (0x88) Packet Frame (6 bytes) : Analyzer PC 0xF0 0x88 1 Status(1) Checksum 0xE0 CAN컨트롤러에 Error가 발생한 경우에 비동기적으로 PC로 전송되는 패킷이나, 사용되지 않는다. Status 내용은 3.5.8 절의 내용을 참고한다. 3.5.10 Set CAN Bitrate Parameters (0x89) Packet Frame (8 bytes) 0xF0 : PC Analyzer 0x89 3 BRGCON1(1) BRGCON2(1) BRGCON3(1) Checksum 0xE0 사용자 정의 CAN Bitrate를 설정할 때 사용되며 설정이 정상적으로 완료되면 Analyzer는 ACK을, 오류가 발 생하는 경우는 NACK를 전송한다. 본 Bit Time이 유효하기 위해서는 3.5.3 절의 CAN Bitrate이 [CAN_BIT_RATE_USER] 로 설정되어 있어야 한다. BRGCON1~3은 직접 계산해도 되지만 Microchip CAN Bit Timing Calculator에서도 쉽게 얻을 수 있다. 각 BRGCON이 비트별 의미 하는 내용은 다음과 같다. [BRGCON1] bit7 bit6 bit5 bit0 SJW(2) BRP(6) BRGCON2 bit7 SEG2PHTS(1) bit6 bit5 bit3 SAM(1) bit2 SEG1PH(3) bit0 PRSEG(3) BRGCON3 bit7 - bit6 WAKFIL bit5 bit4 bit3 - - - bit2 bit0 SEG2PH Microchip CAN Bit Timing Calculator 응용프로그램을 사용하여 BRGCON을 계산 하는 경우에는 Figure 6의 Oscillator Frequency를 80MHz로 해야 한다. Copyright 2001-2011 32

Figure 6: Microchip CAN Bit Timing Calculator 3.5.11 Clear CAN Errors (0x8A) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x8A 0 0x8A 0xE0 CAN Error, USB / RS232C의 Fifo Overrun상태를 모두 리셋하는 패킷이다. CAN Error LED가 점등된 경우 이 패킷으로 Error가 해제되면서 소등 시킬 수 있다. 정상적으로 처리되면 Analyzer는 ACK을 그렇지 않은 경우는 NACK을 전송한다. 3.5.12 Set CAN Filters (0x8B) Packet Frame (37 bytes) 0xF0 0x8B 32 : PC Analyzer Mask1 (4) Mask2 (4) Filter1 (4) Filter2 (4) Filter3 (4) Filter4 (4) Filter5 (4) Filter6 (4) Checksum 0xE0 특정 CAN ID를 수신하기 위한 사용자 Mask & Filter를 설정한다. 이 값이 활성화 되기 위해서는 3.5.2에서 설명된것처럼 CAN ID가 [0xFFFFFFFE] 로 설정되어 있어야 한다. Mask1과 Filter1/Filter2가 한쌍이고, Mask2와 Filter2/Filter3/Filter4/Filter5/Filter6 이 한쌍으로 동작된다. CAN ID, Filter와 Mask의 관계는 CAN ID를 Mask값으로 마 스킹(CAN ID & Mask)하여 나온 값이 Filter와 동일한 경우 그 메시지를 수신하는 것이다. 이런 조합을 2개 set으로 할 수 있다. 개념을 간단히 Pseudo Code로 작성하면 다음과 같고 보다 자세한 내용은 CAN to RS232 Converter Manual 의 6장을 참고한다. Copyright 2001-2011 33

if((can_id & Mask) == Filter) DoAccept() else DoReject() 정상적으로 처리되면 Analyzer는 ACK를 그렇지 않은 경우는 NACK를 응답한다. 3.5.13 Request Version (0x8C) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x8C 0 0x8C 0xE0 Analyzer의 펌웨어 버전을 요청하는 패킷으로 [0x8D]로 응답하고 패킷에 오류가 있으면 NACK로 응답한다. 3.5.14 Response Version (0x8D) Packet Frame (7 bytes) 0xF0 : Analyzer PC 0x8D 2 Major Version(1) Minor Version(1) Checksum 0xE0 [0x8C]로 요청한 펌웨어 버전정보를 전달하는 패킷이다. 버전의 표시형식은 MajorVersion. MinorVersion 이다. 3.5.15 Close C2E Connection (0x90) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x90 0 0x90 0xE0 Ethernet인터페이스를 사용하면서 C2E 프로토콜로 연결된 경우 접속을 해제하기 위한 패킷이다. C2E 프로 토콜로 연결된 경우는 반드시 본 패킷으로 연결을 해제해 주어야 한다. Analyzer는 ACK나 NACK를 전송한 후 접속 을 해제한다. NACK를 전송하는 경우는 RS232C나 USB인터페이스를 통해 본 패킷을 수신한 경우나 패킷의 형식이 잘못된 경우이다. 3.5.16 Request CAN Filters (0x91) Packet Frame (5 bytes) : PC Analyzer 0xF0 Copyright 2001-2011 0x91 0 0x91 0xE0 34

[0x8B]로 설정했던 Filter & Mask값을 요청하는 패킷으로 [0x92]로 응답한다. 3.5.17 Response CAN Filters (0x92) Packet Frame (37 bytes) 0xF0 0x92 : Analyzer PC 32 Mask1 (4) Mask2 (4) Filter1 (4) Filter2 (4) Filter3 (4) Filter4 (4) Filter5 (4) Filter6 (4) Checksum 0xE0 [0x91]로 요청했던 Filter & Mask값을 전달하는 패킷이다. 3.5.18 Request Device Information (0x93) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x93 0 0x93 0xE0 Analyzer의 모델명과 시리얼 번호를 얻기 위해 요청하는 패킷으로 [0x94]로 응답한다. 패킷 형식이 잘못된 경우는 Analyzer가 즉시 NACK로 응답한다. 3.5.19 Response Device Information (0x94) Packet Frame (21 bytes) 0xF0 : Analyzer PC 0x94 16 Model Name(8) Serial No(8) Checksum 0xE0 [0x93] 패킷요청에 최대 8글자로 구성된 Model Name과 최대 8숫자로 된 Serial No를 응답하는 패킷이다. 모 두 문자형식으로 되어있으며 끝문자는 없고 빈칸은 SPACE (ASCII Code 0x20) 로 채워진다. 3.5.20 Request Speed Information (0x95) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x95 0 0x95 0xE0 Analyzer에 현재 설정된 CAN Bitrate와 RS232C Baudrate값을 요청하는 패킷으로 [0x96]으로 응답하며 비정 상패킷인 경우는 NACK로 응답한다. Copyright 2001-2011 35

3.5.21 Response Speed Information (0x96) Packet Frame (10 bytes) 0xF0 : Analyzer PC 0x96 5 CAN BitRate(4) RS232C BaudRate(1) Checksum 0xE0 [0x95]로 요청한 속도정보에 대해 응답하는 패킷으로 CAN BitRate와 RS232C BaudRate로 구성된다. CAN Bitrate가 3.5.3에서 기술된 CAN_BIT_RATE_USER(8) 을 초과하는 경우는 실제 CAN BitRate를 의미 한다. RS232C BaudRate는 3.5.4에서 기술된 UAR_BAUDRATE를 참고한다. 3.5.22 Set TCP/IP Information (0x97) Packet Frame (26 bytes) : PC Analyzer 0xF0 0x97 21 C2E Port(2) IP Mode(1) IP Addr(4) Subnet Mask(4) Gateway(4) MAC Addr(6) Checksum 0xE0 Analyzer의 TCP/IP 의 정보를 설정한다. 정상적으로 설정되면 ACK를 그렇지 않은 경우는 NACK를 응답한 다. C2E Port는 C2E 프로토콜을 사용하기 위한 TCP Port번호를 의미하며 54321이 기본값이다. IP Mode는 다음과 같 은 3가지 경우의 값을 갖는다. typedef enum { IP_MODE_STATIC = 0, IP_MODE_DYNAMIC, IP_MODE_DHCP_SERVER, IP_MODE_MAX } IP_MODE; 여기서, Static인 경우는 고정 IP를 의미한다. Dynamic인 경우는 Analyzer가 DHCP서버로부터 IP를 할당 받 는다. IP할당중인 경우는 [Status LED]가 점멸하며 할당이 완료되면 점등상태를 유지 한다. DHCP Server인 경우는 Analyzer에 내장된 DHCP Server가 동작하는 경우로 자동할당으로 설정된 PC가 Analyzer와 직접 연결되어 있는경우 Analyzer가 PC의 IP를 할당해 준다. 자동 IP를 사용하고 내부 네트웍에 DHCP server가 없는 경우에 유용하다. 3.5.23 Request TCP/IP Information (0x98) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x98 0 0x98 0xE0 [0x97]로 설정된 TCP/IP 정보를 요청하는 패킷으로 [0x99]로 응답한다. Copyright 2001-2011 36

3.5.24 Response TCP/IP Information (0x99) Packet Frame (26 bytes) : Analyzer PC 0xF0 0x99 21 C2E Port(2) IP Mode(1) IP Addr(4) Subnet Mask(4) Gateway(4) MAC Addr(6) Checksum 0xE0 [0x98]로 요청한 TCP/IP 정보를 응답하는 패킷으로 패킷의 각 필드 내용은 3.5.22 절을 참고한다. 3.5.25 Request Time Stamp (0x9A) Packet Frame (5 bytes) : PC Analyzer 0xF0 0x9A 0 0x9A 0xE0 현재 CAN Controller의 Time Stamp값을 요청하는 패킷으로 0x9B로 응답한다. 본패킷이 비정상적인 경우는 NACK로 즉시 응답한다. 3.5.26 Response Time Stamp (0x9B) Packet Frame (5 bytes) : Analyzer PC 0xF0 0x9B 4 Time Stamp(4) Checksum 0xE0 [0x9A]로 요청한 CAN Time Stamp를 응답한다. Time Stamp의 단위는 10usec 단위이다. 3.5.27 Receive CAN Message with time stamp (0xA0) Packet Frame (13~21 bytes) 0xF0 : Analyzer PC 0xA0 8~16 Time Stamp(4) CAN ID(4) Data(0~8) Checksum 0xE0 3.5.6 절의 [0x85]와 같이 수신된 CAN 메시지를 PC로 전달하는 패킷이지만 추가적으로 수신시의 TimeStamp 까지 기록되어 있다. PC는 본 패킷을 받고 ACK / NACK 응답을 해서는 안된다. 3.5.28 Set CAN Receive Mode (0xA1) Packet Frame (9 bytes) 0xF0 : PC Analyzer 0xA1 Copyright 2001-2011 4 Received Mode(4) Checksum 0xE0 37

PC에서 수신할 CAN 메시지의 형식을 결정한다. Receive Mode의 최하위 비트가 1이면 수신 CAN 메시지는 Time Stamp를 포함하여 [0xA0]로 전달되며 0이면 [0x85]로 전달된다. Analyzer는 정상적으로 설정되면 ACK를 그렇지 않은경우는 NACK로 응답한다. 각 비트별 의미는 다음과 같다. 현재는 bit0만 사용된다. bit31 bit1 Reserved bit0 Time Stamp Enable 3.5.29 Request CAN Receive Mode (0xA2) Packet Frame (5 bytes) : PC Analyzer 0xF0 0xA2 0 0xA2 0xE0 [0xA1]로 설정된 Receive Mode값을 요청하는 패킷으로 Analyzer는 [0xA3]로 응답한다. 본 패킷이 비정상적 인 경우는 NACK로 즉시 응답한다. 3.5.30 Response CAN Receive Mode (0xA3) Packet Frame (5 bytes) 0xF0 : Analyzer PC 0xA3 4 Received Mode(4) Checksum 0xE0 [0xA2]로 요청된 CAN Receive Mode에 대해 응답한다. Receive Mode는 3.5.28 절을 참고한다. 3.5.31 Request CAN Error Count (0xA4) Packet Frame (5 bytes) : PC Analyzer 0xF0 0xA4 0 0xA4 0xE0 현재 CAN Controller에 발생된 CAN TX/RX Error Count를 요청하는 패킷으로 Analyzer는 [0xA5]로 응답한다. 본 패킷이 비정상인 경우는 NACK로 즉시 응답한다. 3.5.32 Response CAN Error Count (0xA5) Packet Frame (5 bytes) 0xF0 : Analyzer PC 0xA5 Copyright 2001-2011 2 Rx Error Count(1) Tx Error Count(1) Checksum 0xE0 38

[0xA4]로 요청된 CAN Error Count 요청에 응답한다. 3.5.33 Acknowledge (0xC0) Packet Frame (5 bytes) : Analyzer PC / PC Analyzer 0xF0 0xC0 0 0xC0 0xE0 거의 대부분 SET 종류의 패킷에 대해 정상 처리된 경우ACK응답을 전송한다. 3.5.34 No Acknowledge (0xD0) Packet Frame (5 bytes) 0xF0 : Analyzer PC / PC Analyzer 0xD0 1 Reason(1) Checksum 0xE0 전송된 패킷의 형식이나 값의 범위가 잘못되거나 동작에 실패하는 경우는 NACK를 전송한다. NACK를 전 송하는 이유가 되는 Reason의 종류는 다음과 같다. typedef enum { NACK_NO_REASON, NACK_INVALID_CSUM, NACK_INVALID_PID, NACK_ETC_ERROR, NACK_INVALID_PARAM, NACK_INVALID_LEN } NACK_REASON; Copyright 2001-2011 /* /* /* /* /* Checksum오류 */ 비정상 PID */ 기타 오류 */ 비정상 값의 범위 */ 비정상 패킷데이터 길이 */ 39

4 Terminal Mode 4.1 Overview Analyzer는 간편하게 연결하여 조작할 수 있는 사용자 대화형 터미널 모드를 지원한다. 모든 데이터 또는 메시지들은 아스키(ASCII)코드로 전송되기 때문에 눈으로 직접확인할 수 있고 터미널에서 키보드로 입력된 값을 전달할 수 있다. RS232C의 경우는 일반적인 시리얼터미널 응용프로그램 (teraterm)으로 사용하면 되며, Ethernet인 경우는 Telnet을 통해 지원된다. USB는 RS232C와 같이 5장의 CANTALKER 응용프로그램의 Terminal 메뉴에서 Terminal기능을 사용 할 수 있다. RS232C로 연결하는 경우 PC의 상황에 따라 Windows에서 제공하는 하이퍼터미널 응용프로그램은 비정상 적으로 동작하는 경우가 있기 때문에 되도록 TeraTerm, 이야기 또는 Putty 등을 이용하는것이 좋다. 4.2 How to enter terminal Mode RS232C와 USB의 경우는 SPACE (ASCII 0x20, ) 가 연속으로 5번 입력되면 즉시 진입된다. 즉 터미털 응 용프로그램을 띄운 상태에서 키보드 스페이스바를 연속해서 5번 누르면 Table 5와 같은 Help 화면이 표시되면서 진입한다. Help화면이 보이지 않는다면 진입되지 않는것이므로 케이블 상태나 전원 상태를 확인해야 한다. Ethernet을 사용하는 경우는 Telnet으로 터미널 모드를 진입할 수 있다. 초기 Telnet의 ID는 root 그리고, Password는 can2eth 이므로 이 값을 입력하여 로긴 하면 터미널 모드에 진입하고 마찬가지로 Help화면이 보이게 된다. 4.3 Terminal Commands 4.3.1 INI (CAN Initialize) CAN 컨트롤러를 초기화 한다. CAN Error가 발생한 경우도 본 명령으로 clear할 수 있다. 정상적으로 처리 되면 OK, 그렇지 않은 경우는 ERROR가 표시된다. 4.3.2 EID (Extend ID Mode, 2.0B) 사용될 CAN ID의 bit수를 결정하는 명령으로, 11bit / CAN 2.0A와 29bit / CAN2.0B 를 선택할 수 있다. EID 를 입력하면 다음과 같은 선택 메뉴를 볼수 있으며 0 또는 1을 선택할 수 있다. 정상적으로 입력되면 OK 그 렇지 않은 경우는 ERROR가 표시 된다. Copyright 2001-2011 40

>>EID 0: Standard ID(11bit) mode 1: Extended ID(29bit) mode? << MULTI-CAN ANALYZER Terminal >> +- syntax -+ function ----------------+ INI CAN controller initialize EID Set 11/29 bit ID mode SID [hex8] Set CAN ID (Hexa Code) CBR Set CAN baud rate SCP Set CAN parameters RBR Set RS232 baud rate RCV Start receiving message SND Send message STS Request status CLR Clear error SIP Set IP Address SSM Set Subnet Mask SGW Set Gateway SMA Set MAC Address SIM Set IP Mode SPT [hex4] Set Port CPW Change Password DTS [hex1] Display Time Stamp(0/1) VID [hex4] Change USB Vendor ID PID [hex4] Change USB Product ID EXT Exit terminal mode +----------+--------------------------+ >>_ Table 5: Terminal Mode Help 위의 Terminal Mode Help에서 CAN-USB인 경우 Ethernet과 관련한 명령인, SIP / SSM / SGW / SMA / SIM / SPT / CPW표시 되지 않고 동작되지 않으며, 제목도 CAN-USB ANALYZER Terminal 로 표시된다. 4.3.3 SID (Set CAN ID) 수신받을 CAN Id를 설정한다. 본명령이 수행되면 지정된 CAN_ID를 갖는 메시지만 수신된다. 단 CAN ID가 0xFFFFFFFF 인 경우는 모든 CAN 메시지가 수신되고, 0xFFFFFFFE인 경우는 이미 설정된 Filter & Mask에의 해 CAN 메시지가 필터링 되어 수신된다. 입력형식은 다음과 같이 16진수 8자리 ID를 입력한다. >>SID 12345678 Copyright 2001-2011 41

OK >> 11비트 ID모드에서는 입력된 32비트 값중에 하위 11비트만 유효하고, 29비트 ID모드에서는 하위 29비트 만 유효하다. 4.3.4 CBR (CAN Bit Rate) CAN의 Bitrate을 설정하는 명령으로 CBR 을 입력하면 다음과 같이 bitrate가 나열되고 1에서 8사이 값을 입력 할 수 있다. 8번 User 를 선택한 경우는 SCP 에서 설정한 Bit Timing에 맞게 속도가 설정되므로 SCP 명령 을 이용하여 미리 BRGCON1~3을 입력해야 한다. >>CBR 0 : 125 kbps 1 : 250 kbps 2 : 500 kbps 3 : 1000 kbps 4 : 50 kbps 5 : 100 kbps 6 : 200 kbps 7 : 400 kbps 8 : User Press the No.[0-8]? 정상처리되면 OK, 그렇지 않은 경우는 ERROR가 표시된다. 4.3.5 SCP (Set CAN Parameter) CBR 명령에 의해 CAN Bit Rate가 User 모드로 설정된 경우 사용자가 직접 Bit Timing값을 설정하기 위 한 명령이다. 본 명령에 의해 입력되는 파라메터는 BRGCON1, BRGCON2, BRGCON3로 다음과 같이 16진수 형식 으로 구분자로 3개를 연속 입력한다. 정상처리되면 OK, 그렇지 않은 경우는 ERROR가 표시된다. >>SCP BRGCON1(2) BRGCON2(2) BRGCON3(2)? 07 1F 3A OK >>_ 4.3.6 RBR (RS232 Baud Rate) RS232C의 Baud Rate를 변경하는 명령으로 RBR 을 입력하면 다음과 같은 화면이 표시되고 0과 6사이 값 Copyright 2001-2011 42

을 입력할 수 있다. 정상처리되면 OK, 그렇지 않은 경우는 ERROR가 표시된다. >>RBR 0 : 9600 bps 1 : 19200 bps 2 : 38400 bps 3 : 57600 bps 4 : 115200 bps 5 : 230400 bps 6 : 460800 bps Press the No.[0-6]? RS232C baudrate를 변경한 경우는 정상적인 동작을 위해 Analyzer의 전원을 껏다 킨다. 4.3.7 RCV (CAN Message Receive) 수신되는 CAN메시지를 실시간으로 표시해준다. DTS에 의해 TimeStamp으로 표시 설정에 따라 Time Stamp가 표시될 수도 있다. 표시형식은 다음과 같다. 첫번째 컬럼은 10us단위 Time Stamp, 두번째는 CAN ID, 세 번째는 데이터 길이, 마지막은 데이터 이다. >>RCV [[ Data Logging Start ]] 132357553:BA:8:D0 D1 D2 D3 132357654:BB:8:D8 D9 DA DB 132357753:BC:8:E0 E1 E2 E3 132370854:F8:8:C0 C1 C2 C3 [[ Data Logging Stop ]] D4 DC E4 C4 D5 DD E5 C5 D6 DE E6 C6 D7 DF E7 C7 >>_ 표시되는 CAN ID의 최상의 31번째 비트는 29비트 CAN ID를 의미하고, 30번째 비트는 RTR을 의미 하므 로 주의해야 한다. 예를 들어 CAN ID가 0x80000123이면 29비트 CAN ID 0x123을 의미 한다. 수신 모드를 종료하려면 [Enter] 키를 입력한다. 4.3.8 SND (CAN Message Send) CAN 메시지를 전송하는 명령으로 SND 를 입력하면 다음과 같은 화면이 표시된다. >>SND FORMAT (Hexa code) : ID(8) data1(2) data2(2)... data8(2)?00000123 11 22 33 44 55 OK Copyright 2001-2011 43

>>SND FORMAT (Hexa code) : ID(8) data1(2) data2(2)... data8(2)? 80000001 01 02 03 44 55 OK >> 모든 값은 16진수로 해야하며, CAN ID는 8자리, Data는 2자리 단위로 (SPACE)로 구분하여 입력한다. 데이터 길이는 입력된 수많큼 자동으로 계산된다. CAN ID의 31번째 비트를 1로 설정한 값(예 80000001)을 입력하 면 29비트 CAN ID로 전송된다. 4.3.9 STS (CAN Status) 현재 Analyzer의 각종 상태 및 설정값들을 표시하는 명령이다. >>STS Model MSMCA100 Serial No 00000000 Version 1.0 USB VID/PID 04D8/FFEE CAN_ID FFFFFFFF (All Accepted) CAN BaudRate 1000 kbps CAN Param 00/00/00 RS232 BaudRate 115200 bps Error Warning 0 Rx/Tx Warning 0/0 Rx/Tx Bus passive 0/0 Bus off 0 Overrun 0(HW):0(RX FIFO):0(TX FIFO) Error Count 0(RX)/0(TX) Extend ID mode 0 Fifo Overrun USB(RX:0/TX:0), UART(RX:0/TX:0) Mask1,2 00000000,00000000 Filter1-2 00000000,00000000 Filter3-6 00000000,00000000,00000000,00000000 IP Address 192.168.10.100 Subnet Mask 255.255.255.0 Gateway 192.168.10.1 MAC Address 00-04-A3-14-6E-1C Port Number D431 IP mode Static CAN Time Stamp Enable >>_ 4.3.10 CLR (Clear CAN Error) Copyright 2001-2011 44

CAN Error가 발생한 경우 본 명령으로 Clear할 수 있다. 4.3.11 SIP (Set IP Address) TCP/IP의 IP 주소를 설정하는 명령으로 SIP 를 입력하면 다음과 같은 화면이 표시된다. (CAN-USB는 해 당없음) >>SIP FORMAT Example (Decimal) : 192.168.1.1?192.168.10.100 값의 입력형식은 십집수를. 으로 구분하여 4자리를 입력한다. 본 명령은 Telnet이나 C2E 가 연결된 경우 는 다음과 같이 표시되면서 설정되지 않기 때문에 반드시 Telnet이나 C2E를 접속하지 않은 상태에서 RS232C나 USB로만 설정해야 한다. >>SIP You cannot change IP address when telnet or c2e is connected! >>_ 4.3.12 SSM (Set Subnet Mask) TCP/IP의 Subnet Mask를 설정하는 명령으로 SIP 명령과 동일한 형식 취하므로 SIP 명령을 참고한다. (CAN-USB는 해당없음) 4.3.13 SGW (Set Gateway Address) TCP/IP의 Gateway Address를 설정하는 명령으로 SIP 명령과 동일한 형식 취하므로 SIP 명령을 참고한 다. (CAN-USB는 해당없음) 4.3.14 SMA (Set MAC Address) Analyzer의 MAC Address를 설정하는 명령으로 SMA 를 입력하면 다음과 같은 화면이 표시된다. (CANUSB는 해당없음) >>SMA FORMAT (Hexa code) : XX.XX.XX.XX.XX.XX? 00.1A.00.00.00.00 OK >>_ Copyright 2001-2011 45

MAC Address는 모두 16진수로 입력하며 각 필드는. 으로 구분하여 6자리를 입력한다. MAC Address의 첫번째 바이트는 특별한 의미가 있으므로 가급적이면 0x00으로만 설정한다. 4.3.15 SIM (Set IP Mode) IP모드를 설정하는 명령으로 SIM 을 입력하면 다음과 같은 선택화면을 볼수 있으며 0-2사이 값을 입력 할 수 있다. (CAN-USB는 해당없음) >>SIM 0. Static IP mode 1. Dynamic IP mode(dhcp) 2. DHCP Server (IP=192.168.10.100)? Static IP모드는 고정 IP로 SIP 등의 명령으로 입력된 IP를 사용하며, Dynamic IP모드는 Network에 존재하 는 DHCP server로부터 IP를 할당받는다. DHCP Server모드는 Analyzer에 내장된 DHCP server에 의해 Analyzer가 아 닌 PC와 같은 다른 장치들의 IP를 할당해 준다. 이 모드는 주로 PC와 Analyzer가 직접 연결된 경우나, 네트웍 상에 DHCP서버가 없는 경우에 사용될 수 있다. DHCP Server모드에서 Analyzer의 IP주소는 SIP 명령으로 지정된 IP가 사용되며 위 화면 처럼 2. DHCP Server (IP=Analyzer Ip주소) 형식으로 표시 된다. 4.3.16 SPT (Set C2E TCP Port No) C2E 프로토콜을 사용하는 경우 사용될 TCP Port번호를 설정하는 명령으로 SPT 포트번호 형식으로 입력 한다. 포트번호는 반드시 4자리 16진수로 입력해야 한다. 다음은 입력 예이다. (CAN-USB는 해당없음) >>SPT D431 OK >>_ 4.3.17 CPW (Change Telnet Password) Telnet의 비밀번호를 변경하는 명령이다. 초기값은 can2eth 임 CPW 를 입력하면 다음과 같은 화면이 표시되고 최대 8자리의 비밀번호 문자열을 입력한다. (CAN-USB는 해당없음) >>CPW New password (Max 8 characters)? ******* OK >>_ Copyright 2001-2011 46

본 터미널에서는 입력된 비밀번호를 재확인 하지 않으므로 입력시 주의를 요한다. 4.3.18 DTS (Display Time Stamp) RCV 명령에 의해 CAN 메시지가 수신될 때 Time Stamp를 표시할지를 결정하는 명령으로 DTS 1 형식 으로 입력한다. 입력 인자가 1인 경우는 표시하고, 0인 경우는 표시하지 않는다. 4.3.19 VID (Change USB Vendor ID) PC에서 인식되는 USB장치의 VID를 변경한다. VID를 변경해야 하는 특별한 경우만 사용하고 그외에는 절대 변경하지 않는다. VID나 PID를 변경하는 경우는 드라이버 설치파일중 mchpusb.inf 파일의 내용중에 다음 부분을 변경해야 한다. 파일은 텍스트 편집기같은 notepad.exe 등으로 편집할 수 있다. [DeviceList] %DESCRIPTION%=DriverInstall, USB\VID_04D8&PID_FFEE [DeviceList.ntamd64] %DESCRIPTION%=DriverInstall64, USB\VID_04D8&PID_FFEE 위 내용중 VID_ 다음과 PID_ 다음의 16진수 4자리 숫자를 변경하려는 값으로 수정해야 한다. 4.3.20 PID (Change USB Prodict ID) PC에서 인식되는 USB장치의 PID를 변경한다. PID를 변경해야 하는 특별한 경우만 사용하고 그외에는 절대 변경하지 않는다. 드라이버 관련 변경 사항은 4.3.19 절을 참고한다. 4.3.21 EXT (Exit Terminal) 터미널 모드를 종료하는 명령이다. 터미널 모드를 종료하지 않으면 패킷모드로 동작되지 않으므로 반드 시 터미널 사용이 완료되면 종료해야 한다. Copyright 2001-2011 47

5 Protocol Analyzer Application (CANTALKER) 5.1 Overview Figure 7: Protocol Analyzer Application Multi-CAN Protocol Analyzer의 기능을 최대한 이용할 수 있는 응용프로그램으로 Figure 7 과 같은 화면을 볼 수 있다. 본 CANTALKER는 Windows전용으로 다른 OS는 지원하지 않으며 USB인터페이스를 이용하는 경우 는 반드시 사용전 USB드라이버가 설치되어 있어야 한다. CANTALKER는 기본적인 CAN 메시지의 송수신 기능 이외에 CAN 상위 프로토콜인 CANopen / DeviceNet / OBD-II 같은 프로토콜 분석까지 지원하며 향후 J1939까지 지원할 예정이다. 추가적으로 메시지 수신조건을 결정할 수 있는 Filter와 Trigger기능과 CAN Bus 통계 및 모니터 링을 지원한다. CANTALKER는 Analyzer가 지원하는 모든 인터페이스를 지원하여 휴대성 및 장치 접근성이 매우 용이 하 다. Window는 크게 [Menu], [Tool Bar], [Status Bar], [메시지 리스트]로 구성되어 있으며 다음 절부터 설명된다. 5.2 CAN Message List Copyright 2001-2011 48

리스트는 다음과 같은 항목으로 구성되어 있다. 각 항목별 의미는 다음과 같다. 1. No : 1씩 자동 증가하는 숫자이다. 앞에 표시되는 아이콘은 메지시의 방향을 표시한다. 2. Time Stamp : 메시지가 송수신 될때의 ms 단위의 Time값을 의미 하며 0.01ms 해상도를 갖는다. 3. CAN ID : 송수신 되는 CAN ID를 표시 한다. 4. 2.0B : 29비트 CAN ID인 경우 v 포 표시 된다. 5. RTR : Remote Frame 메시지인 경우 v 로 표시 된다. 6. DLC : CAN메시지의 Data 길이를 의미 한다. 7. DATA : CAN메시지의 Data를 표시 한다. 8. CANopen/OBD-II/... : 선택된 프로토콜로 해석된 내용이 표시된다. (CAN-USB는 해당없음) 5.3 Menu CANTALKER에서 지원하는 Menu는 위와 같으며 다음절 부터 하위 메뉴에 대해 설명된다. 5.3.1 File 1. 2. 3. Open mca 확장명을 갖는 저장된 CAN메시지를 읽어온다. [CTRL+O] 키입력으로 동일한 기능을 수행한다. Save 현재 표시되고 있는 수신된 CAN 메시지를 확장명 mca 로 저장한다. [CTRL+S] 키 입력으로도 동일한 기능을 수행한다. Save As 4. 새로운 이름을 지정하여 Save 메뉴를 수행한다. Export Text파일 형식으로 저장한다. 저장형식은 다음과 같다. No TimeStamp DIR CAN_ID 2B RTR DLC DATA CANopen ----------------------------------------------------------------------------------------------------- Copyright 2001-2011 49

00000 00001 00002 00003 6368575.86 6368576.98 6368577.94 6368578.94 5. -> -> -> -> 00000000 00000001 00000002 00000003 8 8 8 8 00 08 10 18 01 09 11 19 02 0A 12 1A 03 0B 13 1B 04 0C 14 1C 05 0D 15 1D 06 0E 16 1E 07 0F 17 1F [NMT] [NMT] [NMT] [NMT] Unknown Unknown Unknown Unknown Service(CS=0)(Node ID=1) Service(CS=8)(Node ID=9) Service(CS=16)(Node ID=17) Service(CS=24)(Node ID=25) Protocol 이 선택된 경우에는 관련 정보도 추가로 표시된다. Exit CANTALKER를 종료한다. 5.3.2 Edit 1. 2. Copy CAN메시지 리스트에서 선택된 항목을 클립보드로 복사 한다. [CTRL+C] 키입력으로 동일한 기능을 수행한다. 복사되는 형식은 Export 메뉴의 저장 형식과 동일 하다. Find 아래와 같은 창이 표시되면서 수신 메시지 리스트에서 CAN_ID를 기준으로 또는 Data를 기준으로 검 색할 수 있다. 데이터는 메시지의 일부만 입력해도 되며 모든 값은 16진수로 입력해야 한다. 3. Direction에 따라 검색 방향이 변경된다. [CTRL+F]키로 동일한 기능을 수행한다. Filter 수신되는 메시지에 대해 필터링 기능을 제공한다. 본 Filter는 CAN 설정에 있는 Filter & Mask와는 다 른 개념으로 Filter & Mask를 통해 하드웨어적으로 1차 필터링된 모든 메시지에 대해 소프트웨어적으 로 필터링을 수행한다. 따라서 가급적 Analyzer로 사용하는 경우는 CAN의 HW필터 기능을 사용하지 않고 모든 메시지를 수신하게 한다. 본 기능은 이미 수신된 메시지에는 적용되지 않고 설정된 이후 부터 적용된다. 메뉴를 선택하면 아 래와 같은 창이 표시 된다. Copyright 2001-2011 50

필터링할 수 있는 필드는 그림과 같으며 각 항목은 OR 조건으로 필터링 되며 [Filter On]이 체크 되 어야 필터가 적용된다. 4. [CTRL+L] 키입력으로 동일한 기능이 수행된다. Clear Display 메시지 리스트에 표시되는 모든 내용을 지운다. [CTRL+X] 키입력으로 동일한 기능이 수행된다. 5.3.3 Protocol 메시지 수신 리스트에 표시되는 항목과 관련된 해석될 프로토콜을 선택하는 메뉴 이다. 1. CAN Raw Data 2. 항상 선택되기 때문에 리스트에도 CAN 데이터는 항상 표시된다. OBD-II 수신된 메시지를 OBD-II 프로토콜로 해석하여 리스트의 마지막 컬럼에 표시한다. 본 메뉴를 선택하면 다음과 같은 창이 표시된다. ECU로 전달할 폴링 아이템을 선택하고 [Polling Start]버튼을 클릭하면 ECU로 정해진 주기데로 CAN 메시지를 송신한다. 수신 메시지는 다음과 같이 메시지 리스트에 표시된다. Copyright 2001-2011 51

3. 4. Polling 주기는 100ms에서 10000ms 사이의 값으로 설정할 수 있다. (CAN-USB는 해당없음) CANopen 수신된 메시지를 CANopen 프로토콜로 해석하여 메시지 리스트의 마지막 컬럼에 표시한다. 다음은 수신예 이다. (CAN-USB는 해당없음) CAN Send Message CAN메시지를 이미 입력된 패턴에 맞게 전송하기 위한 기능을 제공한다. 메뉴를 선택하면 다음과 같은 창이 표시 된다. Task Type에 맞게 작업내용을 기록한 후 Copyright 2001-2011 (Add)버튼을 클릭하여 작업 리스트에 추가한다. Task Type 52

은 CAN메시지 전송을 위한 [TX], 대기를 위한 [WAIT], 반복을 위한 [LOOP], 특정 위치로 이동하기 위 한 [GOTO]가 있으며 각 Type에 따라 정보내용과 입력 방법이 달라진다. 1. [TX] 보내려는 메시지의 정보를 입력하고 [Add]버튼을 클릭하면 리스트에 주가 된다. 여기서 [Repeat]는 1회를 초과한 추가로 반복전송할 횟수를 의미하고, [Interval]은 반복 전송시 메시지 의 시간간격을 의미 한다. 시간 단위는 millisecond 이다. 2. [WAIT] 3. Wait Time 시간 동안 대기한다. 시간 단위는 millisecond 이다. [LOOP]. 4. CAN ID와 DATA는 모두 16진수로 입력한다. Start Index (No) 위치에서 Loop가 있는 위치까지 Loop Count만큼 반복 수행한다. [GOTO] Goto Index (No) 위치로 무조건 이동하여 수행한다. (Modify)는 현재 작업리스트에서 더블클릭으로 선택된 항목에 대해 수정한 내용을 반영한다. (Insert)버튼은 특정 위치에 메시지를 끼워넣을 때 사용하며 특정 위치는 리스트에서 마우스로 선택 한다. (Remove)는 리스트에서 선택된 항목을 삭제 한다. (Remove All)은 모든 리스트 내용을 삭제 한다. (Load) / (Import)는 CAN 메시지 로그 파일인 *.mca 파일을 읽어 RX 메시지만 읽어와 리스트에 추가한다. (Save)는 확장명이 csm 인 Send Message 리스트파일을 저장하거나 읽어 올때 사용된다. 이 기능은 캡춰된 CAN 버스 메시지 흐름을 그대로 시뮬레이션 하여 출력할 때 유용하다. (Go)는 리스트에서 프로그래밍 된대로 전송을 수행한다. CANTALKER와 같이 제공되는 파일중 obd_query.csm 파일은 OBD-II Query명령에 대해 프로그램된 Copyright 2001-2011 53

것이므로 참고한다. 이것과 연관되어 OBD-II Monitor 파일인 obd_ii.mon 파일도 있으므로 Monitor CAN ID & Data 툴에서 읽어 같이 사용하면 ECU모니터링에 효과적이다. 5. Monitor CAN ID & Data 특정 CAN ID에 대해 데이터를 모니터링 하는 기능으로 데이터의 가공까지 가능하다. 메뉴를 선택하면 Figure 8 과 같은 모니터 화면을 볼 수 있다. [Monitor Condition] 은 모든 수신되는 CAN메시지로부터 모니터링 하고자 하는 CAN ID와 데이터의 일 부가 원하는 형태가 되는 메시지에 대해 데이터 중 어떤부분을 이용하여 어떻게 가공할 것인지를 결 정한 후 리스트에 추가하기 위한 프레임이다. [Item Title]은 모니터링 하고자 하는 정보에 대한 이름을 입력한다. [CAN ID to monitor] 는 모니터링하고자 하는 CAN ID를 16진수로 입력한다. [CAN2.0B] 체크 박스는 29비트 CAN ID를 사용하는 경우 체크 한다. Figure 8: Monitor CAN ID & Data [Data Mask]와 [Compare]는 수신되는 데이터에 대해 [Data Mask]로 비트 AND를 취하고, 그 결과가 [Compare]와 맞는 경우의 데이터를 취한다. Mask와 Compare는 반드시 8바이트 16진수 형태로 입력해 야 한다. 만약에 수신된 CAN메시지 데이터의 첫번째 바이트 중에 상위 4비트 값이 4인 경우를 모니 터링하고자 한다면 [Data Mask]는 F0 00 00 00 00 00 00 00 이고, Compare는 40 00 00 00 00 00 00 00 이 된다. 개념적인 식으로 표현하면 다음과 같다 [CAN Data] & [Data Mask] == [Compare] [Logging]이 체크된 경우 CALTalker가 실행중인 디렉토리에 [Item Title]을 이름으로 하고 확장명이 Copyright 2001-2011 54

log 인 Item Title.log 형식의 파일로 Time Stamp와 최종 계산되는 Data가 기록 저장되어 진다. 로그 파일은 (Monitor Start)버튼이 클릭되면 새롭게 생성되어지므로 주의해야 한다. [Offset]은 최대 8바이트를 갖는 데이터에서 몇번째 바이트위치부터 데이터를 사용할 것인지를 의미하 는 값으로 0~7 범위의 값을 갖는다. [Length]는 [Offset] 떨어진 위치로부터 몇개의 바이트 데이터를 사용할지를 의미하는 값으로 [Offset+Length]는 8을 초과해서는 안된다. [Big Endian]은 [Offset]에서 [Length] 만큼 얻은 바이트 배열을 Big Endian(좌->우)형식으로 인식할지, Little Endian(우->좌)으로 인식할지를 결정하는 것으로 체크되면 Big Endian으로 인식된다. 이렇게 얻 어진 최종 값을 [X]라 한다. Multiply는 [X]에 대해 곱해지는 값을 의미하고, Add는 더해지는 값이된다. 따라서 [Scaled] 가 붙는 [Display Data Format]이 선택된 경우 [Y = X * Multuply + Add] 와 같은 계산을 거쳐 최종 [Y]값이 사용 되어 진다. [Display Data Format]은 다음과 같은 종류가 있다. 1. All Data : 데이터를 아무런 가공없이 한바이트씩 띄어서 표시됨 2. Hex : [X]를 16진수로 표시 3. Binary : [X]를 2진수로 표시 4. Scaled Integer : [Y]를 정수형으로 표시 5. Scaled Double : [Y]를 부동소수로 표시 [Display Type]은 다음과 같은 종류가 있다. 1. Number ; [Display Data Format]에서 지정된 형태의 숫자로 표시 2. Bar ; Display Data Format이 [Scaled xx]형식인 경우 Bar 형태로 표시(향후지원) 3. Graph ; Display Data Format이 [Scaled xx]형식인 경우 Graph 형태로 표시 4. Gauge : Display Data Format이 [Scaled xx]형식인 경우 Gauge 형태로 표시(향후지원) [Auto Scale]은 Graph/Gauge/Bar 형태일 때 Min/Max 입력값에 상관없이 실시간으로 표시되는 값의 최 대/최소값에 맞춰 좌표축의 최대/최소값이 자동으로 갱신되는 기능이다. [Min] [Max]는 Graph/Gauge/Bar 형태일 때 좌표축에 대한 최소/최대값을 나타낸다. (Add)는 [Monitor Condition]에 입력된 값을 리스트에 추가하는 버튼이다. (Modify)는 리스트에서 더블클릭으로 선택된 항목에 대해 수정한 내용을 적용하는 버튼이다. (Remove)는 현재 리스트에서 선택된 항목을 삭제하는 버튼이다. (Load)는 저장된 Monitor Condition리스트를 읽어오는 버튼이다. Copyright 2001-2011 55

(Save)는 현재 리스트에 등록된 Monitor Condition을 저장하는 버튼이다. (Monitoring Start) 또는 (Stop)버튼은 수신되는 CAN메시지로부터 모니터링을 시작하거나 중지하는 버튼이다. (Realtime)이 체크된 경우는 실시간으로 수신되는 메시지에 대해 처리하여 실시간으로 표시 및 로그 파일로 저장하며, 체크되지 않은 경우는, 이미 수신되거나 Main Toolbar에서 (Load) 버튼으로 Load 된 mca 파일의 데이터에 대해 후처리하여 표시 및 로그파일로 저장한다. 이미 Monitoring이 시작된 경우는 [RealTime]을 변경할 수 없다. (View Editor)는 Item을 추가/삭제/변경하기 위한 편집창을 보여주는 버튼이다. 체크된 경우는 편집 창이 보이고, 그렇지 않은 경우는 Item리스트만 보인다. 6. CAN Bus Statistics CAN Bus에 송수신 되는 모든 메시지들의 CAN ID 분포와 그것의 메시지 갯수등 버스의 통계정보가 아래와 같이 표시되며, 1초 단위로 갱신된다. 표시 항목으로 CAN ID, 각 CAN ID에 대한 수신 메시지수 및 전체 수신량(bytes), 그리고 전체 메시지 수신량에 대한 상대 비율 (Load) 이 있다. 표시 내용은 마우스나 키보드로 선택할 수 있고 [CTRL+C] 키를 입력하면 클릭보드로 복사되며, 텍스트 편집기 등에서 [CTRL+V] 를 입력하여 복사한 내용을 붙 여넣기 할 수 있다. 5.3.4 Interface 1. Connect 선택된 인터페이스로 접속을 시도한다. 접속이 원할하지 않거나 사용중 인터페이스 컨넥터나 플러그 를 제거하면 다음과 같은 창이 표시된다. USB인 경우는 오른쪽 창이 표시된다. LAN선을 꼽은 후 즉시 [Connect]를 클릭하는 경우는 PC에서 Ethernet라인을 확인중에 있기 때문에 연 Copyright 2001-2011 56

결이 안될 수 있다. 따라서 LAN선을 꼽고 10초 정도 지난후에 [Connect]하는게 바람직 하다. CANTALKER는 Analyzer H/W와 초기 접속시에 CANTALKER와 Analyzer에 대해 각각 인증을 수행하 는데 두가지 인증에 성공해야지 정상적으로 CANTALKER를 사용할 수 있다. 따라서 전용 H/W가 아 닌 경우 CANTALKER동작이 불가능하며, 향후 H/W 모델에 따라 S/W의 동작이 달라지거나 동작하지 않을 수 있다. 이러한 경우는 H/W에 맞는 SW버전을 사용해야 한다. 2. 인증에 실패하는 경우는 다음과 같은 창을 볼수 있다. Disconnect 접속을 해제 한다. 사용중 사용자가 접속을 해제 하지 않은 상태에서 인터페이스 플러그 또는 컨넥터 를 제거하여도 팝업 메시지와 함께 자동으로 접속이 해제된다. 3. Terminal CANTALKER내에서 Terminal 기능을 사용 할 수 있고 메뉴가 선택되면 다음과 같은 화면이 표시된다. 단 Ethernet인터페이스를 사용하는 경우는 지원하지 않으며 Telnet을 이용해서 Terminal을 사용할 수 가 있다. Terminal모드와 Packet모드가 동시사용할 수 없는 이유 때문에 CANTALKER에서 Terminal기능을 사 용하게 되면 다른 기능은 전혀 사용할 수 없으므로 CANTALKER의 모든 기능을 사용하기 위해서는 반드시 Terminal에서 ext 와 [Enter] 키를 입력하거나 [CTRL+C]나 [ESC] 키를 입력하여 빠져 나와야 한다. 4. Interface Type Copyright 2001-2011 57

USB / Ethernet / RS232C 중에 하나를 선택할 수 있다. Ethernet이나 RS232C인 경우는 [Connect]를 수행하기 전에 [Configuration] 메뉴에서 관련된 설정이 선 행 되어야 한다. 접속이 잘되지 않는 경우 각 인터페이스별로 다음을 참고한다. USB : 드라이버가 정상적으로 설치되었는지, USB plug가 정상적으로 꼽아 있는지, 그리고 [장치관 리자] 에서 드라이버가 정상적으로 보이는 지 확인한다. Ethernet : LAN선이 정상적으로 꼽아져 LAN소켓의 녹색LED가 켜져 있는지, TCP/IP설정이 정상적 으로 맞는지, Analyzer에서는 Static IP(고정IP)모드로 되어 있는 경우 PC도 고정 IP로 설정되어 있 는지 (자동할당(DHCP) IP 아님) 확인한다. RS232C : 1:1 RS232C케이블을 연결한것인지, 통신 속도를 서로 맞췄는지, 그리고 Analyzer에서 가 능한 통신속도인지 확인한다. 5. Configuration CAN / RS232C / Ethernet 인터페이스를 설정하는 기능이다. Connect이전에는 CAN을 설정할 수 없고, RS232C는 Analyzer와 연결할 통신포트와 속도를 결정하고, Ethernet인 경우는 C2E프로토콜로 연결할 Analyzer의 IP주소와 TCP포트를 결정할 수 있다. Connect이후에는 다음과 같은 화면을 볼수 있으며 CAN통신 설정을 할수 있으며 RS232C의 경우는 Baud Rate가 Analyzer의 통신 속도를 의미한다. Copyright 2001-2011 58

Ethernet인터페이스로 연결된 경우는 Ethernet 설정값을 변경 할 수 없다. RS232C 인터페이스로 연결된 경우는 RS232C 설정값을 변경 할 수 없다. 5.3.5 Trigger 1. Trigger On Trigger Setup에서 설정된 환경으로 Trigger를 시작한다. 모든 송수신 메시지는 Trigger조건이 맞기 전 까지 Drop한다. 2. Trigger Setup 필터와 동일한 형식을 취하며 모든 조건은 OR 로 비교되기 때문에 조건중 하나만 맞아도 조건은 성 립한다. 여기서 설정된 조건은 [Trigger On] 메뉴가 선택되어야 Trigger기능이 비로소 수행된다. 5.3.6 Option 1. CAN H/W Time Stamp Analyzer의 CAN 컨트롤러에서 관리되고 있는 0.01ms 단위 Time Stamp의 사용 유무를 결정한다. 이 기 능이 사용되지 않으면 Time Stamp는 Windows의 1ms 단위 멀티미디어 Timer값을 이용한다. 2. CAN Initialize 3. CAN Error Clear 4. CAN 컨트롤러를 초기화 한다. CAN Error가 발생한 경우 초기화 한다. CAN Status Copyright 2001-2011 59

5. 현재 CAN 컨트롤러의 상태를 표시하며 다음과 같은 창이 표시 된다. CAN Error가 있으면 관련 정보가 구체적으로 보이며 Tx와 Rx에 대한 Error Count값도 표시 된다. Auto Scroll 메시지 리스트의 자동 스크롤 조건을 선택한다. 선택된 경우는 가장 마지막으로 송수신 되는 메시지 가 표시되도록 스크롤 된다. 5.3.7 Help 1. About 다음과 같이 CANTALKER와 Analyzer의 기본정보를 표시 한다. 5.4 Tool Bar Open Save Disconnect Connect Clear All Auto Screoll Terminal Configuration Trigger Filter Send Message Bus Monitor Bus Statistics Find 각 버튼 별 의미 하는 내용은 위 그림과 같고 실제 기능은 관련된 메뉴를 참고한다. 5.5 Status Bar Copyright 2001-2011 60

Status Bar에는 현재 16진수 CAN Status값과 송수신 메시지의 총 갯수가 1초주기로 표시 된다. 총 메시지 수는 [Clear All]이 수행되면 0으로 리셋된다. Copyright 2001-2011 61

6 Firmware Upgrade 6.1 Overview 본 Analyzer 및 CANTalker Windows응용 프로그램은 기능 향상을 위해 지속적으로 업그레이드될 예정이 다. 이를 위해 사용자가 직접 업그레이드 할 수 있는 방법 및 기능이 지원된다. 최신 매뉴얼 및 CANTalker 는 다 음 링크에서 최신버전을 받을 수 있다. 1. 최신매뉴얼 링크 : http://ascbbs.mchol.com/can/mca_100_manual.pdf 2. 최신 CANTalker링크 : http://ascbbs.mchol.com/can/cantalker.zip 펌웨어는 CANTalker내에 내장되어 있으므로 CANTalker만 받으면 최신 펌웨어로 업그레이드 할 수 있다. 6.2 Preparations 펌웨어업그레이드는 RS232C 인터페이스만 지원하기 때문에 반드시 사전에 RS232C 케이블 연결은 되어 있어야 한다. 통신속도는 115,200 bps이기 때문에 사용자는 CANTalker의 [Interface] [Configurations] 메뉴를 선 택하여 [RS232C]에서 통신 포트와 통신속도를 정확하게 설정한다. 이때 CANTalker뿐만 아니라 Analyzer의 RS232C 통신속도도 115,200 bps으로 설정되어 있어야 하므로 USB나 Ethernet인터페이스로 연결하여 RS232C통신 속도를 변경해 놓는다. Analyzer의 Error LED가 전원 인가시에 점멸하는 경우는 펌웨어에 문제가 있거나 없는 경우이기 때문에 사용자는 반드시 펌웨어업그레이드를 수행해야 한다. 모든 준비가 끝났으면 다음절의 절차에 따라 펌웨어 업그레이드를 수행한다. 6.3 Procedure 1. CANTalker를 실행하고 준비가 된 상태에서 [Help] 메뉴의 하위 메뉴인 [Firmware Upgrade]를 선택한다. 이 때 가급적 Analyzer와는 [Connect] 되어 있지 않는것이 바람직 하다. 메뉴를 선택하면 무조건 업그레이드 가 진행되므로 주의 깊게 선택해야 한다. 선택되면 다음과 같은 창이 표시되며 준비가 완료되었으면 [확 인] 버튼을 클릭한다. Copyright 2001-2011 62

2. 펌웨어 업그레이드가 시작되면 Device와 동기를 맞추기 위한 작업이 수행되며 아래와 같은 창이 표시된 다. 3. 동기가 맞으면 Flash를 지우는 작업이 수행되며 다음과 같은 창이 표시된다. 4. Flash 지움이 완료되면 Flash에 쓰기를 시작하며 progress바가 0부터 100까지 변경된다 5. 정상적으로 Write가 완료되면 Verify를 수행하고 문제가 없으면 아래와 같은 창이 표시된다. 만약 오류가 있으면 Verify Failed 가 표시 된다. 6. 모든 작업이 완료되면 Analyzer는 리셋되어 다운받은 펌웨어로 부팅한다. 7. 다운로드 중 전원이 없어지거나 비정상적으로 종료되는 경우 펌웨어가 비정상이 된다. 이 경우는 Analyzer의 전원을 껏다 키고 Error LED가 점멸할 때 다시 처음 과정을 반복한다. Copyright 2001-2011 63

7 Appendix1. Multi-CAN Analyzer를 이용한 차량 ECU 모니터링 7.1 들어가며 CAN (Controller Area Network)은 멀티마스터(Multi-Master) 브로드케스트 시리얼(Broadcast Serial) 버스 표 준으로 실시간 제어 응용시스템 내에 있는 센서나 기동장치 등과 같은 주변장치들을 서로 연결해 주는 메시지 통 신방식으로 마이크로 제어기용 네트웍을 가리킨다. CAN에서는 이더넷 등에서 사용되는 것과 같은 주소 지정 개 념은 사용되지 않으며, 메시지는 해당 네트웍에서의 고유한 식별자를 사용하여 네트웍 내에 있는 모든 노드들에 게 동시에 뿌려진다. 개개의 노드들은 이 식별자에 기반하여 해당 메시지를 처리할 것인지의 여부를 결정하며. 버 스 접근 순서 역시 경쟁원리에 따라 메시지 우선순위가 배정되어 충돌이 없어 중단 없는 데이터 전송이 가능하다. 또한 differential twisted pair방식을 사용하여 노이즈에 매우 강한 특성이 있다. 보다 자세한 CAN에 대한 역사나 기 술적인 내용은 본고에서는 생략하기로 하고 참고자료를 참고한다. 위와 같은 CAN 특성으로 최근 매우 안정성을 요구 하는 차량의 내부 네트워크로 CAN 통신을 사용하고 있는 추세 다. 즉 주제어기인 ECU (Electronic Control Units) 끼리의 통신이나 각종 센서 및 작동기 등과 안정적인 통신을 위 해 CAN이 사용되고 있는 것 이다. 따라서 CAN 통신을 이용하여 ECU가 이해할 수 있는 프로토콜로 통신을 하게 되면 차량 네트워크로부터 차량의 다양한 정보를 얻어 낼 수 있게 된다. 본고에서는 CAN 메시지를 송수신하고 메시지로부터 프로토콜을 해석할 수 있는 Analyzer를 소개하고, 그것을 통 해 실제 차량 ECU로부터 다양한 정보를 모니터링 하는 방법에 대해 소개한다. 7.2 Multi-CAN Analyzer 소개 마을소프트웨어는 반도체 및 LED 생산설비 제조 전문 업체로 그간 산업용 제어 분야의 경험을 기반으로 다양한 CAN 제품을 출시하였다. CAN 경험이 없는 일반 사용자들을 위해 보다 쉽게 접근할 수 있는 CAN2RS232 컨버터와, 인터넷을 통 한 원격 제어를 위한 CAN2Ethernet 게이트웨이 등이 그것이 다. 이 제품들은 주로 제어기 용도로 개발되었기 때문에 필 터 설정을 통해 필요로 하는 메시지들만 CAN 버스로부터 수신 하고 전송하는 제품으로 컨버터나 게이트웨이가 처리할 수 있 는 용량 이상으로 CAN버스 메시지를 모두 처리 할 수는 없었다. 또한 절연되지 않아 현장 상황에 따라 컨버 터가 파손되는 경우도 있었다. 이런 이유로 Analyzer 용도로는 적합하지 못해 High-End급 고성능 절연 CAN- Copyright 2001-2011 64

USB Analyzer 와 Multi-CAN Analyzer를 개발 출시 하게 되었다. 본고에서 소개될 Multi-CAN Analyzer는 이름에서 유추 할 수 있듯이 동시에 여러 인터페이스 방식을 사용 할 수 있는데, 그것은 RS232C, USB 그리고 Ethernet 이다. 따라서 어떠한 환경이나 조건에도 쉽게 Analyzer를 쓸 수 있는 장점이 있다. RS232C는 최대 460800bps의 속도 까지 사용할 수 있으며 인터페이스가 UART밖에 없는 소형 제어기와도 쉽게 연결된다. USB는 PC와 외부 전원 없이 연결할 수 있기 때문에 노트북으로 현장에서 디버깅하는 데 매우 유용하다. Ethernet은 현장에 설치된 CAN버스의 문제점을 원격지 사무실에서 모니터링 하는데 매우 적합 하다. 본 Analyzer는 제공되는 전용 프로토콜을 통해 직접 Analyzer를 제어기 들과 연결하여 고성능 컨버터 처럼 사용할 수도 있지만, Windows 응용프로그램으로 제공되는 전용 분석기인 CANTALKER를 통해 추가적인 소프트 웨어 개발 없이 고수준의 CAN 프로토콜을 분석할 수 있다. 기본적으로 제공되는 표준 프로토콜로는 OBD-II, CANopen 그리고 DeviceNet이 있으며 향후 J1939 등이 지원될 예정이다. 그림 1 CANTALKER Windows Application 그 밖에 CANTALKER가 지원하는 주요 기능은 다음과 같다. 10us 단위 Timestamp CAN 송신 메시지 프로그래밍 CAN 송수신 메시지 읽기 및 저장 (텍스트 파일로 export지원) 특정 CAN 메시지 모니터링 및 산술 계산 / 그래픽 표시 / 로깅(실시간/비실시간 지원) CAN 수신 메시지 소프트웨어 필터링 / 트리거 CAN 송수신 메시지에서 특정 메시지 찾기 / 복사 CAN 버스 통계자료 제공 Copyright 2001-2011 65

CAN 컨트롤러 상태 확인 및 제어 터미널 펌웨어 업그레이드 본고에서 ECU모니터링에 사용될 장비와 프로그램은 Multi-CAN Analyzer와 CANTALKER 이다. 7.3 ECU 모니터링 CAN통신을 지원하는 차량의 대부분은 OBD-II PID 프로토콜을 지원한다. ECU와 통신하기 위해서는이 프 로토콜을 반드시 숙지 해야 하는데 그다지 복잡하기 않기 때문에 쉽게 구현될 수 있다. 그럼 OBD-II PID가 무엇인 지 다음절에서 알아 본다. 7.3.1 OBD-II PID란? OBD-II PID는 On Board Diagnostics Parameter ID의 약자로 정확하게 말하면 프로토콜이 아니라 코드 를 의미 하며 SAE J1979 표준의 한 부분으로 1996년부터 북미의 모든 차량에 구현되었다. 이 코드는 고장진단 장치가 차량으로부터 데이터를 얻는데 사용되는데 데이터를 요청할 때 OBD-II PID 코드를 정해진 프로토콜을 이 용하여 차량으로 요청하여 응답을 얻는다. 중요 PID종류와 관련 응답 데이터 형식은 표 6과 같다. 모든 PID는 모 든 차량에서 지원하는 것은 아닌데, 지원여부는 PID 00의 응답 값으로부터 알 수 있다. 표 6 의 공식에서 사용되고 있는 알파벳 A,B,C,D 등은 수신된 데이터의 바이트 순서와 일치한다. 즉 첫번째 바이 트는 A, 두번째는 B, 세번째는 C, 그리고 네번째는 D이다. 표 6. PID 목록 및 설명 Mode 00 PID 수신 설명 00 크기 4 PID Supported [01-20] Min Max 단위 공식 Bit encoded [A7..D0]==[PID 01 01 01 01 04 05 0C 0D 1 1 2 1 Calculated engine load value Engine Coolant Temperature Engine RPM Vehicle speed Copyright 2001-2011 0-40 0 0 100 215 16383.75 255 % C rpm km/h 0x01..PID 0x20] A*100/255 A-40 ((A*256)+B)/4 A 66

01 0E 1 Timing Advance -64 63.5 relative A/2-64 to #1 cylinder 01 01 01 0F 10 11 1 2 1 Intake air Temperature MAF air flow rate Throttle Position -40 0 0 215 655.35 100 C g/s % A-40 ((A*256)+B)/100 A*100/255 표 6의 Mode는 각 숫자별로 의미하는 내용은 표 7에서 알 수 있다. ECU의 각종 정보 데이터를 얻는 경우 는 대부분 현재 데이터 표시용 Mode 0x01만 이용하면 되며, 차량의 고장진단 코드를 얻고자 하는 경우는 Mode 0x03를 사용한다. 표 7. Mode 별 설명 Mode 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 설명 Show current data Show freeze frame data Show stored Diagnostic Trouble Codes Clear Diagnostic Trouble Codes and stored values Test results, oxygen sensor monitoring (non CAN only) Test results, other component/system monitoring (Test results, oxygen sensor monitoring for CAN only) Show pending Diagnostic Trouble Codes (detected during current or last driving cycle) Control operation of on-board component/system Request vehicle information Permanent DTC's (Cleared DTC's) 차량으로부터 데이터를 얻기 위해 ECU로 PID를 전달하기 위한 질의 CAN 메시지 형태는 각 메시지 데이터 바이 트 별로 다음과 같은 형식을 갖는다. CAN ID는 11비트를 사용하는 경우 반드시 0x7DF로 해야 한다. Byte 0 추가데이터 바이트 수 Byte1 Mode 0x02 0x01=show current data Byte 2 PID Code Byte3 0x55 Byte4 0x55 Byte5 0x55 Byte6 0x55 Byte7 0x55 CAN메시지 전체 8바이트 중 첫번째 바이트(Byte0)는 몇 바이트의 정보가 오는지를 의미 하는 것으로 그 뒤로 Mode와 PID Code 가 각각 1바이트씩 2바이트가 오기 때문에 2가 되며, 세번째 바이트(Byte2)는 PID코드가 위 치하고 그 이상은 사용되지 않으므로 0x55로 채워진다. 이상과 같이 생성된 CAN 메시지를 ECU로 전송하면 ECU는 다음과 같은 형태의 CAN메시지로 응답한다. 이때 응답으로 오는 CAN ID는 주로 0x7E8이며, 0x7E9나 0x7EA가 될 수 도 있다. Copyright 2001-2011 67

Byte 0 추가데이터 Byte1 Custom Mode Byte 2 PID Byte3 Value0 Byte4 Value1 Byte5 Value2 Byte6 Value3 바이트 수 0x40+Mode Code (A) (B) (C) (D) 3~6 0x41=show current data (Option) (Option) (Option) Byte7 0x55 여기서 첫번째 바이트는 질의 메시지와 동일하게 이후에 올 추가 데이터의 크기이다. 두번째는 질의 메시 지에서 사용된 Mode값에 0x40을 더한값과 같다. 내번째 부터는 질의한 PID에 대한 응답데이터가 온다. 데이터 크기는 1바이트부터 4바이트까지만 갖을 수 있어 마지막 Byte7은 사용되지 않아 0x55로 채워진다. 응답데이터는 첫번째 바이트부터 A,B,C,D로 명명되고 PID 표의 공식 부분에서 참조된다. 7.3.2 ECU 모니터링을 위한 전송 메시지 설정 이제 ECU로 전달해야 할 CAN메시지 형식을 알게 되었기 때문에 Analyzer에서 질의 메시지를 작성하 여 보내 보고자 한다. 보낼 PID는 표 6 에 나와 있는 것으로 하고, 각 PID별로 보내는 시간 간격은 10ms로 한다. 모든 PID 를 모두 보내면 10ms 만큼 대기하고 다시 처음부터 PID전송을 반복 한다. 이것을 Analyzer 의 CAN Send Message Tool 에서 설정하는 방법은 다음과 같다. 1. Engine RPM 질의를 위한 CAN메시지 예는 다음과 같다. 1. 전송하므로 Task Type은 TX 2. 11비트 질의이므로 CAN ID는 0x7DF, 2.0B와 RTR은 설정하지 않음 3. DATA는 02 01 0C 55 55 55 55 55 로 함, 여기서 0x0C Engine RPM 질의 PID임. 4. 추가 반복하지 않으므로 Repeat는 0 5. 10ms이후에 다음 메시지 전송하므로 Interval은 10 2. 위와 같은 형식으로 나머지 PID에 대해서 모두 추가 한다. 3. 모든 PID가 전송된 후 10ms대기를 위해 Task Type이 WAIT, Wait Time을 10으로 설정한다. Copyright 2001-2011 68

4. 다시 처음부터 반복 전송을 위해 Task Type을 GOTO, Goto Index는 0 으로 설정한다. 이렇게 모두 입력되면 CAN Send Message Tool 창은 다음과 같이 보여지며 전송준비는 완료되며 버튼을 클릭하면 CAN메시지가 전송되기 시작한다. (GO) 이때 대부분 차량내에 사용되는 CAN통신 속도는 500kbps 이므로 사전에 CAN통신 속도는 맞춰져 있어야 한다. 그렇지 않은 경우는 Analyzer의 Error LED가 켜질 것 이다. 7.3.3 ECU 모니터링을 위한 수신 메시지 설정 7.3.1절에서 OBD-II PID 가 포함된 질의 메시지에 대한 ECU 응답 메시지에 대한 형식을 알아 봤다. 이 정보를 토대로 CANTALKER에서 지원하는 Monitor CAN ID & Data 기능을 이용하여 응답 메시지로부터 실제 물리적인 값들을 추출하여 그래프로 표시하여 보자. 응답 메시지 형식과 표 6 의 공식 부분을 참고 하여 Monitor Condition 을 작성하여 보자. Engine RPM 작성예를 보면 다음 과 같다. Item Title은 제목인 Engine RPM 을 기록한다. CAN ID To Monitor 는 모니터링 하고자 하는 CAN ID를 의미 하므로 0x7E8이 된다. Engine RPM 의 경우 PID가 0x0C인데, CAN메시지 8바이트 중 세번째 바이트가 PID이므로 이 값이 0x0C인 메시지를 찾기 위해 Mask와 Compare는 다음과 같이 설정한다. Mask는 세번째 바이트만 관심 대상이므로 0xFF로 설정하고, Compare값의 세번째 바이트를 0x0C로 설정 Copyright 2001-2011 69

한다. 이유는 MSG & Mask == Compare 공식에 의해 각 바이트에 대해 모두 참이 되면 수신 메시지를 사용하게 된다. 이렇게 수신 조건에 의해 걸러진 Engine PRM 메시지에서 Engine PRM에 관련된 데이터를 추출하기 위 해 다음과 같이 설정한다. Engine RPM값은 CAN 메시지 8바이트 중 4번째 바이트부터 2바이트 크기를 갖기 때문에 Offset 은 3, Length 는 2가 된다. 추출된 2바이트에서 첫번째가 상위 두번째가 하위 바이트가 되는 Big Endian형식이 므로 Big Endian 에 채크한다. 또한 공식에 의해 2바이트 값을 4로 나누거나 또는 0.25로 곱해야 하므로 Multiply 에 0.25를 입력한다. 최종 생성되는 값은 산술 계산된 정수형이므로 Display Data Format 을 Scaled Integer 로 선택한다. 결과적으로 생성된 물리값은 그래프로 표시하고 싶으므로 Display Type 을 Graph 로 선택하고 최대 최 소값을 각각 0과 6000으로 한다. 그 밖의 다른 Item들도 위와 같은 형식에 의해 공식을 참고하여 비슷한 형식으로 아래 그림과 같이 모두 입력한다. 7.3.4 실차량에서 모니터링 수행 7.3.2절에서 전송할 메시지들를 생성하고 7.3.3절에서 추출할 수신메시지 형식과 표시형식을 모두 Copyright 2001-2011 70

설정하였으므로 실제차량에서 ECU에서 정보가 실제로 오는지 확인해 보자. 되는 차량을 준비해야 한다. 먼저 CAN 방식의 OBD-II가 지원 대부분 최근에 생산된 차량은 거의 CAN 버스와 OBD-II를 지원하고 있다. 혹 CAN은 지원하는데 OBD-II PID메시지에 대해 무응답하는 차량도 있으니 미리 확인해야 한다. 간 Analyzer를 차량의 OBD-II단자에 연결하기 위해서는 OBD-II단자를 핀배열을 확인한 후 CAN 컨넥터와 맞게 케이블을 다 음과 같이 제작해야 한다. OBD-II컨넥터는 디바이스마트에서 쉽게 구매할 수 있다. 위 그림에서 OBD-II Male Connector의 PIN6은 CAN_H, PIN14는 CAN_L 이므로 Analyzer DB9 Connector의 PIN7번과 PIN2번에 각각 연결한다. CAN_H와 CAN_L은 잘못 연결되어서는 절대 안되므로 주의 깊게 작업해야 한다. 커넥터 작업이 완료되면, Analyzer를 차량의 OBD-II단자에 연결한다. 차량에 전원이 들어가거나 시동이 걸려있어야 CAN 통신이 되므로 사전에 전원을 넣거나 시동을 걸어 놓는다. 만약 컨넥터를 연결하자 마자 Analyzer의 Error LED가 점등 된다면, (1) 500kbps 속도 설정이 제대로 안되었거나, (2) CAN_H, CAN_L라인 결선에 문제가 있거나 (3) 종단저항 연결이 ON되어 있는 경우일 수 있으므로 다시 한번 확인해 본다. 모든 준비가 완료되면, CAN Send Message Tool 에서 를 전송시킨다. (Go)버튼을 클릭하여 ECU에 질의 메시지 그러면 아래와 같이 질의에 해당하는 응답이 수신되면서 그 값과 그래프가 표시된다. Copyright 2001-2011 71