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

Similar documents
untitled

untitled

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

BY-FDP-4-70.hwp

hd1300_k_v1r2_Final_.PDF

Mango-E-Toi Board Developer Manual

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

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

SRC PLUS 제어기 MANUAL

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

DSP_MON 프로그램 메뉴얼

슬라이드 제목 없음

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

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

(SW3704) Gingerbread Source Build & Working Guide

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc


DSP_MON 프로그램 메뉴얼

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

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

슬라이드 제목 없음

Multi-CAN Analyzer & Converter User’s Manual

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

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

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

ISP and CodeVisionAVR C Compiler.hwp

개요

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

Install stm32cubemx and st-link utility

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

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

슬라이드 1

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

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 (

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

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

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

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

untitled

PowerPoint Template

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

슬라이드 1

Microsoft Word - Armjtag_문서1.doc

bn2019_2

(MHT-SB112\273\347\276\347\274\255.hwp)

VZ94-한글매뉴얼

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

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

USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB

Windows 8에서 BioStar 1 설치하기

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

TCP.IP.ppt

Subnet Address Internet Network G Network Network class B networ

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft Word - src.doc

DVI-CL01 매뉴얼

Nordic Chipset BLE Test Application Note

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

T100MD+

Microsoft Word MetOne237Bmanual

chapter4

10X56_NWG_KOR.indd

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

CPX-E-EC_BES_C_ _ k1

게시판 스팸 실시간 차단 시스템

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

MR-3000A-MAN.hwp

Sena Device Server Serial/IP TM Version

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

ICM-ETHi/User Guide

歯메뉴얼v2.04.doc

UI TASK & KEY EVENT

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

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

API 매뉴얼

1. 제품규격및특징 구분 규격및특징 입력전압 DC 12~30V 모터구동방식 Bipolar 방식 최대모터전류 Max 3.0A 초기설정정지전류 :4(0.46A), 구동전류 :18(1.75A) 분주비 0(x256), 1(x128), 2(x64), 3(x32), 4(x16),

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

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

The Pocket Guide to TCP/IP Sockets: C Version

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

MicrocontrollerAcademy_Lab_ST_040709

Remote UI Guide

Microsoft PowerPoint - polling.pptx

CAN 통신

ATmega128

네트워크연결매뉴얼 SRP-Q300/302 감열식프린터 Rev

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

System Recovery 사용자 매뉴얼

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

SBR-100S User Manual

SMB_ICMP_UDP(huichang).PDF

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

Microsoft Word - ZIO-AP1500N-Manual.doc

2주차: 입출력 제어 복습

Transcription:

http://www.dnkict.com admin@dnkict.com 2013-01-22 070-7011-4469 rev.2.0 Controller Area Network(CAN) to Ethernet Gateway 사용자매뉴얼 HW Rev.1.0 Firmware ver. 2.4 Utility ver. 1.0 Library ver. 1.0 1

목 차 CAN 을왜사용하는가? 3 1. CAN to Ethernet Gateway 의개요 5 2. 패킷모드통신 12 3. Microchip Bit Timing calculator(mbtc) 사용설명서 19 4. 터미널모드사용법 22 4.1 CAN2RS232 컨버터모드터미널 22 4.2 CAN2Ethernet Gateway 터미널 25 5. Utility 사용법 30 5.1 CAN2RS232 컨버터테스트프로그램 30 5.2 CAN to Ethernet Gateway 테스트프로그램 32 6. Acceptance Mask 와 Filter 설정법 34 7. ActiveX control 사용법 36 8. 문제해결 41 2

CAN 을왜사용해야만하는가? 1. 노이즈에매우강하다. 레벨은다르지만 RS485 와비슷하게 twist pair 2 선을사용하여전기적 Differential 통신을하여전기적인노이즈에매우강하다 2. Multi Master 통신을한다. 통신버스를공유하고있는 CAN컨트롤러들은모두가 Master역할을하여언제든지버스를사용하고싶을때사용할수있다. RS485 의경우는 Master의요청이있을때만 Slave가수동적으로반응하므로단한개의 Master만존재하나 CAN은그렇지않다. 문제가발생한 CAN 노드는자동으로 CAN버스에서이탈되어다른노드에영향을주지않는다. LAN 통신과유사한면이많다. 3. 한개의버스라인에최대 110 개까지노드를연결할수있다. 4. 하드웨어적인오류보정이있다. 데이터프레임에는 15 비트 CRC 가 HW 적으로생성되서붙기때문에오류검출이가능하고만약오류가발생하더라도 HW 적으로알아서재전송하기때문에사용자는이에대해고려할필요가없다. 5. 하드웨어적으로설정된 ID만을골라수신받을수있다. CAN에는수신필터가있어필터를어떻게설정하느냐에따라정해진 ID, 특정그룹또는전체수신을할수있다. 예를들어 ID 10번만받을수도있고, 0x40~0x4F까지의 ID에대해서도수신가능하게할수있다. 6. 실시간메시지통신을할수있다. 한번에 8바이트의데이터를전송하는 HW패킷을제공한다. 보통 RS232/RS485통신에서는패킷통신을위해사용자가일일이패킷형식을만들어주고수신시에도그런해석이필요하지만 CAN은 8바이트데이터를담는 HW패킷통신을기본으로한다. 따라서사용자는데이터버퍼에데이터를쓰고전송만하면그외모든처리는 HW 가알아서한다. 분산제어분야적용이용이하다. 7. 통신속도가빠르다. 최대 1 Mbps 까지사용할수있다. 8. 먼거리를통신할수있다. 최대 1000 m 까지도 50 kbps 로통신할수있다. 9. 우선순위가있다. 컨트롤러의 ID를어떻게설정하느냐에따라 ID가낮을수록버스를사용할수있는우선순위가높아진다즉버스를 ID 1, ID2 가동시에쓰려고시도할때 id1이먼저데이터를쓰고 id2가다음으로쓸수있다. 우선순위로인해데이터전송이안되거나오랫동안지연되지않고하드웨어적으로중재처리되기때문에데이터의손실이나지연에대해고려할필요가없다. S/W 는단순전송만하면된다. 10. 사용되는전선의양을획기적으로줄일수있다. 데이지체인방식으로한선에추가적으로컨트롤러를연결만하여사용할수있다. 2 선만을사용하기때문에많은컨트롤러들이버스를공유하더라도추가되는선의양이거의없다. 11. PLUG & PLAY 를제공한다. 3

언제든지 CAN 컨트롤러를버스에연결하고끊을수있다. 12. 사용분야산업자동화분야 - 제어유닛, 센서, 액츄에이터, 기계제어, 물류의료분야 - 토모그라피, X 레이, 치과의자, 휠체어빌딩자동화 - 난방, 에어콘, 전등, 엘리베이터, 에스컬레이터집자동화 - 식기세척기, 세탁기, 커피포트... 사무자동화 - 복사기 * CAN 버스의안정성 * SIMENS 사의자료를보게되면 1 년에 2000 시간사용하고속도는 500 kbps로하고 25% 의버스로드를줄때 --> 1000 년에 1 회확인되지않는오류가발생한다. 4

1. CAN to Ethernet Gateway 개요 일반적으로 CAN은멀티마스터버스통신으로자동차산업이나기타실시간분산제어를요하는분야에자주이용되곤한다. 요즘은유비쿼터스시대로언제어디서고원하는데이터를실시간관찰및모니터링하기위한방법들이모색되고그러한경향으로흘러가고있다. 또한자동차에서도 CAN통신뿐만아니라다양한컨텐츠를자동차에적용하기위해다양한네트웍방식이사용되고있다. 이러한트랜드에발맞추어 CAN통신을인터넷과연결하는방법이필요하게되었다. 인터넷과직접적으로연결하기위해서는 CAN 통신자체로는프로토콜이전혀다르므로다른형식의네트웍간프로토콜체계를변환하여주는 Gateway역할의장치가필요하게되어본장치가개발되었다. 1.1 특징 1) 40 MHz로동작하는마이크로프로세서가내장 2) Dsub 9pin형식의 CAN 포트, Dsub 9pin RS232포트및 RJ45 이더넷포트한개씩내장 3) 82C250( 또는 MCP2551) CAN 트랜시버를사용 4) 최대 RS232 통신속도 230400 bps / 최대 Ethernet 통신속도 10Mbps 5) 최대 CAN통신속도 1 Mbps 6) S/W적으로 CAN / RS232 / Ethernet 파라메터변경가능 7) CAN H/W Rx버퍼 8개, Tx버퍼 3개 8) 최대 1000m의 CAN 통신거리 (CAN spec. 에의함 ) 9) CAN2.0A, CAN2.0B 지원 (Active 모드는지원 ) 10) Standard(11bit) / Extended(29bit) ID mode 지원 11) CAN 터미네이터 (120 ohm) 점퍼내장 12) HW 공장초기화점퍼내장 13) Power / CAN Rx / CAN Tx/ Error / Status LED 내장 14) EEPROM 내장으로설정값보관 15) CAN to RS232 converter 와 CAN to Ethernet Gateway의기능이모두내장되어있으며슬라이드스위치로전환가능 16) IP / ARP / ICMP / UDP / TCP / DHCP / TELNET / C2E 프로토콜내장 TELNET 및 C2E에대해각각 1개만의동시접속을지원 17) 외부의전기적열악한환경에의해발생하는 CPU의오동작을피하기위한 watchdog 내장 18) 동작온도 : -25 to +75 19) 보관온도 : -40 to +80 1.2 H/W 구성품 1) CAN2Ethernet Gateway 2) DC 5V power supply (Option) 3) RS232 Dsub 9pin Cable(1:1) (Option) 4) PC 연결용 Cross LAN 케이블 (Option) 1.3 S/W 구성품 1) CAN bus Baud rate 및 Parameter 설정 Utility 2) CAN 통신예제 (VC++, Visual Basic) 3) 통신용 ActiveX 컨트롤 5

1.4 CAN to Ethernet Gateway Block Diagram CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E 1.5 Dsub 컨넥터 PIN 구성 1) RS232 컨넥터 Pin 2 : Pin 3 : Pin 5 : Rx Tx Ground 2) CAN 컨넥터 Pin 2 : Pin 7 : CAN_L CAN_H CAN 컨넥터 RS232 컨넥터 1.5 CAN2RS232 컨버터보드설명 6

SW1 CAN RS232 D7 D8 LAN + Power HW Rev.0 J1 DC5V 입력 ( 극성은위의그림을참조할것 ) J2 RJ45 LAN 연결소켓 J3 5V TTL level RS232 포트 JP1 CAN 터미네이터점퍼 JP2 공장초기화점퍼 JP3 반드시삽입되어있어야함 SW1 CAN2RS232 / CAN2Ethernet 모두선택스위치 D2 CAN Tx LED D3 CAN Rx LED D4 Ethernet Status D5 전원 LED D6 에러 LED D7 Ethernet Link ( 녹색 ) D8 Ethernet Rx/Tx ( 노랑 ) 7 80 mm

80 mm J1 J3 J2 LD3 LD4 LD5 LD2 74 mm + HW Rev.1 3mm J1 CAN 종단저항사용 J2 Open (Can2Ethernet모드) / Short (Can2Rs232모드) J3 공장초기화 1) 공장초기화점퍼 CAN2Ethernet 셋팅을완전초기화할때점퍼를삽입하고전원을입력하면다음과같은값으로초기화 8

된다. RS232 Baud rate 115200 bps CAN Baud rate 1000 kbps CAN ID 0xFFFFFFFF IP Address 192.168.10.100 Gateway 192.168.10.1 Subnet Mask 255.255.255.0 IP mode Static MAC Address 00-23-45-67-89-AB Port Number 54321 2) 터미네이터점퍼 CAN통신의 spec상최종끝단에는 120ohm 의저항을반드시연결해야한다. 따라서본컨버터가만약 CAN 버스의끝단에놓이게되면터미네이터점퍼를삽입한다. 3) DC 5V 전원 전원은외부전원 DC5V를사용하며되도록함께포함된전원아답터를이용하고그렇지못한경우라도정전압 500mA이상 DC5V출력이나오는아답터를사용하길권장한다. 가끔아답터불량으로충분한전류가공급되지않아이더넷통신이끊기는등오동작이발생되는경우가있으므로주의해야한다. 실수로극성 (+/-) 를반대로연결하지않도록연결전반드시확인한다. 만약반대로연결하거나 5V이상의고전압을연결하는경우컨버터가치명적인손상을입을수있다. CAN버스를공유하는장치들의 DC 전원 GND는반드시연결해야하며그렇지않은경우 CAN통신불량이나, CAN Tranceiver칩이손상될수있다. 4) SW1 CAN2RS232 컨버터와 CAN2Ethernet Gateway 기능을선택할때사용되는슬라이드스위치로초기전원인가시에만인식하며동작중에는스위치가전환되도적용되지않는다. RS232 쪽으로슬라이드를이동하면 CAN2RS232컨버터모드로되며, 그반대로이동하면 (ETH) CAN2Ethernet Gateway모드가가된다. CAN2RS232컨버터로선택되어사용되는경우 Ethernet 은전혀사용되지않으며 Ethernet 상태를표시하고있는 Status LED 도점등되지않는다. 반면 CAN2Ethernet Gateway로선택된경우엔 CAN2RS232 컨버터기능을사용할수없다. 따라서각모드별로매뉴얼을참조하여운영에착오가없도록해야한다. Rev1 HW에서는 J2점퍼가동일한기능을수행하고점퍼가삽입되어있지않은상태가 CAN2Ethernet 모드이다. 5) LED POWER LED : 전원이입력되면점등된다. TX/RX LED : CAN 버스를통해데이터가전송될때점멸된다. ERROR LED : CAN 통신시에러가발생되면점등된다. STATUS LED : CAN2Ethernet 모드에서만사용되며, Dynamic IP 모드에서 DHCP 로 IP 를가져올때점멸되며 IP 할당이완료되거나 Static IP 모드에서는항시점등되어있다. Ethernet Link : LAN 케이블이연결되어네트웍에연결되면점등된다. 9

Ethernet Rx/Tx : Ethernet 통신이되고있는경우점멸된다. 1.6 CAN2Ethernet Gateway 사용법 Serial Port CAN Port Ethernet Port LAN 허브 장치 #1 장치 #2 장치 #3 장치 #4 1.6.1 공통사항 1) Gateway 의전원을인가하지않은상태에서컨버터의 RS232 포트와 PC 의시리얼포트에 NULL Modem 케이블 (1:1) 을이용하여연결하고, RJ45 소켓에는 1:1 LAN 케이블을 LAN 허브에연결하거나 cross 케이블로직접 PC 의 LAN 포트와연결할수있다. 2) 데이지체인형식으로연결된 CAN 버스라인을 CAN port 와연결한다. CAN port 연결시에는 1.5 절에서제시한 DSUB9 핀맵을확인하여착오없이연결한다. 3) 전원을연결한다. 최초에사용하는경우는공장초기화점퍼를삽입한상태에서전원을인가한다. 4) Windows 의시작메뉴에서다음과같이하이퍼터미널을실행한다. [ 시작 ]->[ 보조프로그램 ]->[ 통신 ]-> 하이퍼터미널 하이퍼터미널대신사용자가편리한통신터미널프로그램이있다면그것으로사용해도상관없다. 가끔하이퍼터미널은 HW 적으로는문제가없지만통신이안되는경우가종종발생한다. 이러한문제는통신에뮬레이터중 ' 이야기멀티 ' 를이용하면발생하지않는듯하다. 5) RS232 포트를설정한다. 컨버터가연결될 COM 포트를확인하여정확하게포트번호를입력하여주고 ( 예, COM1), 통신속도는 115200bps, 데이터비트느 8비트, 패리티는없음, 정지비트는 1비트, 흐름제어는없음으로선택하여설정하여준다. 1.6.2 CAN2RS232 컨버터모드사용법 1) 현재 CAN 버스에데이터의송수신이있다면화면에무언가깨지는문자들이보일것이다. 이때터미널에서스페이스바를 5번연속으로입력하게되면터미널모드로진입하여사용명령어리스트가화면에출력된다. 2) 즉시 CAN 버스의데이터를확인하고자한다면 "RCV" 를입력하고 Enter 키를치면화면에수신되는데이터들이계속표시된다. 3) 그밖에설정은 4 장의터미널모드사용설명서를참조하여할수있다. 10

1.6.3 CAN2Ethernet Gateway 모드사용법 1) 가장먼저 'SIM' 명령으로 IP Mode 를선택한다. 고정 IP 를사용하는경우는 Static, 동적 IP 를사용시엔 Dynamic 을선택한다. Static 모드에서는 IP address, Gateway, Subnetmask 등을설정해야한다 2) 공장초기화시에설정된 MAC address 가기존네트웍에서이미사용중인경우는적절히변경한다. 3) 모든네트웍설정이종료되면공장초기화점퍼를빼고전원을뺏다가다시인가한다. Dynamic IP 모드인경우는 IP 를 DHCP 서버로부터가져오는동안 Status LED 가정멸하고 IP 설정이완료되면점등되어있게된다. 이때 RS232 터미널창에는 DHCP 서버로부터할당받은주소가표시되므로이값들은기억해둔다. Static IP 모드인경우는이런절차가생략되고즉시 LED 는점등된다. IP Address 192.168.10.5 Subnet Mask 255.255.255.0 Gateway 192.168.10.1 MAC Address 00-23-45-67-89-AB 4) Status가점등되어있는상태에서 DOS창을실행하고컴맨드라인에서 "telnet 192.168.10.5" 와같은형식으로 3) 에서할당된주소로 telnet 연결하고 ID와 Password를입력하면 CAN2RS232컨버터의터미널창과같은화면을볼수있으며 "RCV" 명령으로 CAN 수신데이터를볼수있게된다. 5) 30 초이상아무런입출력이없으면자동으로끊기고, "EXT" 명령이아닌비정상적으로 telnet 을종료한경우는재접속하려면최소 30 초이상을기다려야한다. 좀더자세한내용은 4 장의 C2E 터미널모드를참조하라. 1.7. CAN2RS232 컨버터로사용시의제한 본컨버터의 CAN속도는최대 1Mbps이지만 RS232통신속도는이보다작기때문에 CAN버스대역폭을모두사용하는, 다시말해 CAN버스에데이터가끊임없이송수신된다면 RS232로전송되는양은 RS232 통신속도이상이될수없기때문에그이외의데이터는소실된다. 내부적으로 SW적인 Rx FIFO 와 Tx FIFO가있어 RS232통신으로데이터를보내고있는와중에도 CAN으로데이터가수신되더라도 FIFO크기만큼패킷을안전하게보관하여전송할수있지만그이상으로들어오는데이터는 RS232 로송신대기상태에있는데이터를소멸시키게된다. 이런경우상태비트중 overrun비트가셋팅된다. 또한순간적으로너무많은 CAN메시지가몰리는경우 HW적으로받을수있는 CAN 버퍼는몇개안되기때문에 CAN메시지간간격은가급적 1ms이상으로유지하는것이좋다. overrun이자주일어나는즉 CAN버스사용부하가매우큰경우는 CAN2USB를사용하면해결될수있다. USB는 CAN보다도속도가빠르기때문에이러한문제는발생할수없다. 1.8 기타주의사항 1) 동작중 CAN 설정값을변경하면되도록전원을뺏다가재인가하는식으로시스템을재시작하는것이바람직하며, 그렇지않은경우는내부에러가발생할수있다. 2) 공장초기화점퍼는모든셋팅이끝나면되도록빼놓아야부팅시마다설정값이원래대로돌아가는문제를막을수있으며, 설정값도결국 EEPRPOM 에저장되므로쓰는횟수의한계가있으므로되도록매번부팅시마다불필요하게다시설정되는일이없도록주의한다. 11

3) 요즘판매되는 USB2Serial 케이블은반이중만을지원하거나아예한방향통신만지원하는비정상적인제품들이있으므로케이블구매에주의해야한다. 본제품은반드시전이중 (Full-Duplex) 통신이가능한 Serial포트나 USB2Serial케이블을사용해야한다. 1.9 CAN 버스라인길이에따른권장통신속도 SIMENS 사의자료를보게되면다음과같이 CAN 버스라인길이와그에따른 Bitrate 의상관관계그래프를볼수있다. 사용자는되도록아래의그래프에맞게통신속도를지정하여사용하는것이바람직하며, 이보다더높은속도로통신할때데이터를보증할수없다. 아래그래프는 twisted pair 선을사용했을때의조건이있다. 12

2. 패킷모드 (Packet Mode) 통신 PC와 CAN2Ethernet Gateway( 이후부터 C2E로칭함 ) RS232나 TCP/IP통신으로데이터를주고받을때크게두가지형식이있다. 첫번째는바이너리통신방식인패킷방식인데이방식은유효한데이터만최적으로송수신하기때문에통신속도를최대한활용할수있으나프로그램으로만가능하고, 두번째로 ASCII통신방식인터미널방식으로사용자가하이퍼터미널과같은툴로쉽게대화형으로키보드와모니터를이용해데이터의흐름을확인할수있고또한제어할수있다. 본장에서는패킷방식에대해알아보고터미널방식에대해서는 4장에서기술하였다. C2E 는 CAN2RS232 컨버터모드로사용될때다음과같은형식의패킷을사용하며, CAN2Ethernet Gateway 로사용시에는 SYNC 와 End Mark 가생략된다. SYNC PID Length Data Checksum End Mark <-- CAN2RS232 컨버터모드시 PID Length Data Checksum <-- CAN2Ethernet Gateway 모드시 1) SYNC 필드 (1byte) 모든패킷은 SYNC 필드로시작하며값은 0xF0 으로고정되어있다. CAN2Ethernet Gateway 모드에서는생략된다. 2) PID 필드 (1byte) 패킷 ID를의미하며 SYNC필드다음으로전송된다. 패킷 ID라하면패킷별특수한기능을수행하기위해부여된특별한코드이다. 3) Length 필드 (1byte) 데이터의 byte 단위길이를의미한다. 4) Data 필드데이터필드의크기범위는 0~255 byte 이내이다. 만약데이터필드의값이 word (2byte) 나 double (4byte) 형식이면하위바이트가먼저전송된다. 5) Checksum 필드 (1byte) Checksum 필드는 PID 필드부터 Data 필드까지의합이 1byte 로지정된다. 6) End Mark (1byte) 패킷의끝을의미하며 0xE0으로고정되어있다. CAN2Ethernet Gateway 모드에서는생략된다. 2.1 기본사용방법 CAN2RS2323 컨버터모드에서는 RS232 포트로패킷형식을갖춰직접보내기만하면되지만 CAN2Ethernet Gateway모드에서는 C2E포트로접속을먼저한후소켓통신을해야한다. C2E포트는초기값이십진수 54321이며이값은 RS232터미널에서만 SPT명령어로변경될수있다. 주의할점으로, 패킷통신을위한동시연결은 1개만지원하므로이미연결된상태에서다시연결을시도하면연결되지않는다. 13

2.2 PID 종류 다음테이블은 PID 의종류와그에대한간략한설명을나타낸다. 번호 PID 설 명 길이 (byte) 방향 (To) 1 0x80 CAN 컨트롤러초기화 0 C2E 2 0x81 CAN 컨트롤러 ID를설정 5 C2E 3 0x82 CAN 통신속도를설정 1 C2E 4 0x83 RS232 의통신속도를설정 1 C2E 5 0x84 CAN으로데이터를송신 4~12 C2E 6 0x85 CAN으로부터데이터를수신 4~12 PC 7 0x86 CAN의상태를요구 0 C2E 8 0x87 CAN의상태를수신 6 PC 9 0x88 CAN통신오류를수신 1 PC 10 0x89 CAN의 Bit Timing설정 3 C2E 11 0x8A CAN 에러를 clear 한다. 0 C2E 12 0x8B CAN Acceptance Filter & Mask설정 32 C2E 13 0x8C Firmware 버전요청 0 C2E 14 0x8D Firmware 버전응답 2 PC 15 0x90 C2E접속종료 0 C2E 16 0x91 CAN Filter & Mask 요청 0 CAN 17 0x92 CAN Filter & Mask 응답 32 PC 18 0xA4 CAN Error Count 요청 0 CAN 19 0xA5 CAN Error Count 응답 2 PC 20 0xC0 패킷통신이정상적으로이루어졌음을알림 0 PC 21 0xD0 패킷통신에오류가발생했음을알림 1 PC 2.3 각패킷별형식 다음은각 PID 별패킷형식을자세히설명하였다. 1) CAN 컨트롤러초기화 PC -> C2E 0xF0 0x80 0x00 Checksum 0xE0 CAN 초기화는사용초기에사용하거나에러가발생한경우에사용될수있다. CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK는설정이정상적으로완료되면보내고, NACK는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. 2) CAN 컨트롤러 ID 설정 PC -> C2E 0xF0 0x81 0x05 Ext. ID ID (4) Checksum 0xE0 CAN 컨트롤러가메시지를수신받을 ID 를설정한다. 즉 CAN 라인에서메시지의목적지 ID 가설정된 ID 와동일한메시지만걸러서수신하게된다. 모든메시지를수신하고자하면 ID 를 [0xFFFFFFFF] 로설정하면된다. Ext.ID 가 0 인경우는 Standard ID Mode 로 11 비트 ID 를지원하고, 1 인경우는 Extended ID mode 로 29 비트 ID 를지원한다. 14

CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK 는설정이정상적으로완료되면보내고, NACK 는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. 3) CAN 컨트롤러통신속도설정 PC -> C2E 0xF0 0x82 0x01 brate Checksum 0xE0 Baudrate의값에따라다음과같은속도를지정할수있다. 사용자지정을하는경우는 [0x89] 패킷을이용하여통신속도설정파라메터값을설정해야한다. 0 : 125 kbps 1 : 250 kbps 2 : 500 kbps 3 : 1 Mbps 4 : User 만약 4. 사용자지정을선택한경우는 [0x87] 명령으로설정된 Bit Timing 값으로설정되어사용자가지정하는임의의속도를사용할수있다. CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK는설정이정상적으로완료되면보내고, NACK는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. 4) RS232 통신속도지정 PC -> C2E 0xF0 0x83 0x01 brate Checksum 0xE0 Baudrate 의값에따라다음과같은속도를지정할수있다. 0 : 9600 bps 1 : 19200 bps 2 : 38400 bps 패리티 없음 3 : 57600 bps 데이터 8비트 4 : 115200 bps 흐름제어 없음 5 : 230400 bps CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK 는설정이정상적으로완료되면보내고, NACK 는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. * 참조 : 230400bps 는 PC 자체에서는지원이안되며 usb2serial 컨버터를이용하면사용할수있다. PC 에따라서 usb2serial 컨버터를사용하는경우통신이안되는경우도있다. 5) CAN 데이터송신 PC -> C2E 15

0xF0 0x84 4~12 ID(4) Data(0~8) Checksum 0xE0 ID 는메시지를보내고자하는목적지 ID 를의미한다. Data 는전혀없을수도있고최대 8 개까지갖을수있다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 6) CAN 데이터수신 C2E -> PC 0xF0 0x85 4~12 ID(4) Data(0~8) Checksum 0xE0 ID 는목적지 ID 를의미하며 CAN 컨트롤러의 ID 가설정되어있는경우그 ID 와동일한값이되나, [0xFFFFFFFF] 로컨트롤러 ID 가설정되어있는경우는모든메시지를수신하기때문에 ID 가일정한값이아닐수있다. Data 는전혀없을수도있고최대 8 개까지갖을수있다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 7) CAN 상태요구 PC -> C2E 0xF0 0x86 0x00 Checksum 0xE0 CAN컨트롤러의현재상태를요구한다. 응답으로 CAN컨트롤러는 [0x87] 패킷을전송한다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 8) CAN 상태수신 C2E -> PC 0xF0 0x87 0x08 Status CAN ID(4) BRGCON1 BRGCON2 BRGCON3 Checksum 0xE0 CAN 컨트롤러의현재상태와 ID를수신받는다. Status의각비트는다음과같은의미를갖는다. Bit 0 : Buffer Overrun Bit 1 : CAN Error Warning Bit 2 : CAN Receiver Warning Bit 3 : CAN Transmitter Warning Bit 4 : CAN Receiver Bus Passive Bit 5 : CAN Transmitter Bus Passive Bit 6 : CAN Transmitter Bus Off Bit 7 : Standard ID Mode(0) / Extended ID Mode(1) CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. BRGCON1~3에대한자세한내용은 10) 항의 CAN통신파라에터설정에기술되어있다. 위에설명된내용중 Error, Passive, Bus Off등은다음과같이 Rx,Tx에서각각발생한에러수를카운팅하여그숫자에따라상태가변경된다. 16

즉, Rx또는 Tx의에러수가 127보다작으면 Error Active가되고, 그이상이되면 Error Passive가된다. Error Passive상태에서또 Tx에러수가 255를넘어서게되면 Bus Off가된다. Bus off상태에서는연속적인 11개의 ressesive비트가 128회발생하면 (Bus off회복시퀀스 ) Bus off 상태를회복하여다시 Error Active 상태로된다. 9) CAN 오류수신 C2E -> PC 0xF0 0x88 0x01 Status Checksum 0xE0 0x86 과동일한 Status 값을갖지만이패킷은 CAN 통신의 H/W 적인오류가발생할때 CAN 컨트롤러가 PC로전송하는패킷이다. Error가 Clear되기전까지 1회만전송한다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. * 현재버전에서는지원하지않는다 10) CAN Bit Timing 설정 PC -> C2E 0xF0 0x89 0x03 BRGCON1 BRGCON2 BRGCON3 Checksum 0xE0 CAN의통신속도를사용자지정으로한경우직접통신속도에대한각파라메터를설정한다. 설정값 BRGCON1~3는 Microchip CAN Bit Timing Calculator에서출력된결과값이다. 그것의사용법은다음장에서다룬다. CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK 는설정이정상적으로완료되면보내고, NACK 는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. 각파라메터의필드내용은다음과같다. BRGCON1 BRGCON2 BRGCON3 Bit 0 Bit 0 Bit 0 Bit 1 Bit 1 prseg Bit 1 seg2ph Bit 2 Bit 2 Bit 2 brp Bit 3 Bit 3 Bit 3 0 Bit 4 Bit 4 seglph Bit 4 0 Bit 5 Bit 5 Bit 5 0 Bit 6 Bit 6 sam Bit 6 wakfil sjw Bit 7 Bit 7 segphts Bit 7 0 17

* 약어설명 BRP baud rate prescalar SJW synchronized jump width PRSEG propagation time select SEGLPH phase segment 1 SAM sample of the can bus line SEGPHTS phase segment 2 time select SEG2PH phase segment 2 time select WAKFIL selects can bus line filter for wake-up * 다음은위파라메터가적절히표시된 Bit Timing Diagram 예이다. 11) CAN 에러 clear PC -> C2E 0xF0 0x8A 0x00 Checksum 0xE0 CAN통신시발생한에러에대해 Clear 를해준다. Clear되기전까지 CAN컨트롤러는에러에대한패킷 [0x88] 을재전송하지않는다. CAN 컨트롤러는응답으로 ACK[0xC0] / NACK[0xD0] 을전송한다. ACK는설정이정상적으로완료되면보내고, NACK는패킷에오류가있거나설정시에러가발생한경우다. CAN2Ethernet Gateway모드에서는 F0과 E0은생략된다. 12) CAN Acceptance Mask & Filter 설정 PC -> C2E 0xF0 0x8B 32 Mask1(4) Mask2(4) Filter1(4)Filter2(4) Filter4(3)Filter4(4)Filter5(4)Filter6(4) Checksum 0xE0 사용자가임의로 Acceptance Filter 와 Mask 를변경하기위해서는먼저 CAN ID 를 [0xFFFFFFFE] 로변경하고상위의패킷명령을전송하면된다. Mask 와 Filter 설정에대한자세한내용은 6 장에기술되어있다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 13) Firmware 버전요청 PC ->C2E 0xF0 0x8C 0x00 Checksum 0xE0 현재 CAN to RS232 컨버터에내장된펌웨어의버전을요청한다. 이에대한응답패킷은 [0x8D] 이다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 18

14) Firmware 버전응답 C2E -> PC 0xF0 0x8D 0x02 Ver.Major Ver.Minor Checksum 0xE0 [0x8C] 패킷에대한응답패킷으로 Major 와 Minor 버전을전송한다. 두버전의표시형식은 Major.Minor 이다. 예를들어 Major 가 1 이고, Minor 가 0 이면실제버전은 1.0 이된다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 15) TCP/IP 접속연결종료 PC ->C2E 0x90 0 Checksum 데이터를수신하고있지않거나아무런명령이전달되지않고 30초이상경과되면자동으로연결이종료되기도하며즉시연결을종료하고자하는경우는이명령어를사용한다. 그런데비정상적으로프로그램을종료하면 C2E는아직연결되어있는것으로인식하므로재접속하기위해서는 30초이상대기해야한다. 이패킷명령은 CAN2RS232 컨버터모드에서는무시된다. 16) CAN Acceptance Filter & Mask 값요청 PC -> CAN 0xF0 0x91 0x00 Checksum 0xE0 현재 Converter 에설정된 Filter 와 Mask 값을요청한다. 이에대한응답패킷은 [0x92] 이다. 17) CAN Acceptance Filter & Mask 값응답 CAN -> PC 0xF0 0x92 32 Mask1(4) Mask2(4) Filter1(4) Filter2(4) Filter4(3) Filter4(4) Filter5(4) Filter6(4) Checksum 0xE0 [0x91] 요청에대해현재 Converter 에설정된 Filter 와 Mask 값으로응답한다. 18) CAN Error Count 요청 PC -> CAN 0xF0 0xA4 0x00 Checksum 0xE0 현재 Converter 에발생된 CAN 에러카운트값을요청한다. 응답은 [0xA5] 로한다. 19) CAN Error Count 응답 CAN -> PC 0xF0 0xA5 0x02 Rx Cnt(1) Tx Cnt(1) Checksum 0xE0 [0xA4] 에대한응답으로현재 CAN 에러카운트값을응답한다. Rx 와 Tx 에대해각각 1 바이트크기를갖는다. 19

16) Acknowledge C2E -> PC 0xF0 0xC0 0x00 Checksum 0xE0 메시지를송수신하는것을제외하고 CAN 컨트롤러를설정하는경우명령전송후문제가없이처리되면이패킷을 PC 로전달한다. 만약 100 ms 이내에이패킷이수신되지않으면다시전송할필요가있다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. 17) Not Acknowledge C2E -> PC 0xF0 0xD0 0x01 Error Checksum 0xE0 메시지를송수신하는것을제외하고 CAN컨트롤러를설정하는경우명령전송후문제가발생하게되면이패킷을 PC로전달한다. 만약 100 ms이내에이패킷이수신되지않으면다시전송할필요가있다. CAN2Ethernet Gateway 모드에서는 F0 과 E0 은생략된다. Error = 0x01 Checksum 에러 0x02 0x03 0x04 0x05 잘못된 PID 기타잘못된 paramter 잘못된길이 20

3. Microchip Bit Timing calculator(mbtc) 사용설명서 MBTC 는사용자가원하는형식의 CAN 통신을하기위한 CAN 통신파라메터를계산해주는툴이다. 본실행파일은 http://www.intrepidcs.com 에서다운받을수있다. 먼저 MBTC 를설치하고 ics2510bittime.exe 를실행하면다음과같은화면을볼수있다. 그림 1 초기화면에서입력값이 OSC 주파수와 CAN 통신속도이다. OSC 주파수는 C2E 내부에사용하는 CPU clock 으로 40 Mhz 이다. CAN 통신속도는원하는값을입력하고 [>] 버튼을클릭하면다음화면으로진행된다. 그림 2 21

그림2에서는통신에러가 0% 가되는최적의파라메터값의리스트를보여준다. 이값은그냥참고만하고다음으로진행하기위해 [>] 버튼을클릭한다. 그림 3 그림 3 에서사용자는원하는파라메터를세밀하게변경할수있다. 그러나설정된파라메터로 Error 율이 0% 가되지않는다면 [Generate Report] 버튼이활성화되지않는다. 그런경우는파라메터를다시재조정한다. 모든설정이완료되었으면 [Generate Report] 버튼을클릭하여다음의 Report 를출력한다. 22

위의 report 에서이용하는값은맨마지막부분의 BRGCON1, BRGCON2, BRGCON3 이다. 위의예에서는각각 0x00, 0xBA, 0x07 로, 그값을설정하러면패킷 [0x89] 의파라메터로전송하면된다. 23

4. 터미널모드사용법 터미널모드는 CAN2RS232 와 CAN2Ethernet 와같은동작모드에따라접근방식과설정권한이약간씩다르므로다음에설명하는터미널모드에대해숙지해야한다. 4.1 CAN2RS232 컨버터모드에서의터미널 CAN2RS232 컨버터모드는 1.5 절에서설명된 SW1 을 RS232 쪽으로설정되어있을때이다. 이모드에서터미널모드를사용하기위해서는쉽게윈도우에서제공하는하이퍼터미널로이용할수있다. 먼저하이퍼터미널을실행하고통신설정을하고시리얼포트를 open 한다. 터미널모드로진입하기위해서는터미널에서 space 키를연속해서 5 번입력한다. 그럼다음과같은화면이표시되면서터미널모드로진입하게된다. << CAN2RS232 CONVERTER 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 EXT Exit terminal mode +----------+--------------------------+ 다음은각명령에대한사용법을기술하였다 1) INI CAN 컨트롤러를초기화하면버퍼에있는모든데이터는클리어한다. 성공하면 OK, 그렇지않으면 ERROR 가표시된다. 2) EID Standard ID(11 비트 ) 모드를사용할지 Extended ID(29 비트 ) 모드를사용할지선택하는명령이다. 명령을실행하면다음과같은메시지가화면에표시되며 0 또는 1 을선택할수있다. 0: Standard ID(11bit) mode 1: Extended ID(29bit) mode 3) SID CAN 의 ID 를설정하는것으로 'SID 0000001A' 형식으로입력한다. 여기서 ID 는 32 비트 16 진수이다. 24

[FFFFFFFF] 를입력하면모든데이터를받고, [FFFFFFFE] 를입력하면사용자가설정한 Acceptance Mask 와 Filter 를사용할수있다. 성공하면 OK, 그렇지않으면 ERROR 가표시된다. 4) CBR CAN 의통신속도를선택하는명령어로 CBR 을입력하면다음과같이화면에출력되며원하는속도에해당하는번호 (0~4) 를선택하여입력한다. 0 : 125 kbps 1 : 250 kbps 2 : 500 kbps 3 : 1000 kbps 4 : User Press the No.[0-4]? 성공하면 OK, 그렇지않으면 ERROR 가표시된다. * 주의사항 : 이명령을사용하기위해서는 CAN 라인에데이터가수신되지않아야하며수신되고있는경우에는 ERROR 가표시될수있다. 그러한경우는 CAN 컨트롤러의전원을껏다켜주면설정된값으로동작한다. 5) SCP CAN 통신속도설정이 User 모드로되어있는경우속도를결정하는 parameter 인 BRGCON1/BRGCON2 BRGCON3 의값을설정하는명령이다. User 모드가아닌경우는변경하더라도즉시적용되지않고 User 모드로변경되이후에적용된다. SCP 를터미널에서입력하면다음과같은메시지가출력되며사용자는 16 진수두자리숫자를공백으로분리하여 3 개를입력해야한다. BRGCON1(2) BRGCON2(2) BRGCON3(2)? [ 예제 ] >> BRGCON1(2) BRGCON2(2) BRGCON3(2)? 81 E0 42 6) RBR RS232 의통신속도를선택하는명령어로 RBR 을입력하면다음과같이화면에출력되며원하는속도에해당하는번호 (0~5) 를선택하여입력한다. 0 : 9600 bps 1 : 19200 bps 2 : 38400 bps 3 : 57600 bps 4 : 115200 bps 5 : 230400 bps Press the No.[0-5]? 성공하면 OK, 그렇지않으면 ERROR 가표시된다. 25

7) RCV CAN 데이터를수신하기시작하면서화면에다음과같은형식으로데이터를출력한다. 아무키나누르게되면수신을중지한다. CAN_ID DATA0 DATA1 DATA7 * 알림 : CAN 데이터량이 RS232 속도로처리할수있는정도라도데이터를 Binary( 패킷형식 ) 가아닌 ASCII형식으로출력하기때문에시간이많이소요됨에따라데이터를수신하는 Rx FIFO가 Overrun되어데이터를소실할수있다. 8) SND CAN 버스에데이터를다음과같은형식으로입력된데이터를전송한다. SND CAN_ID DATA0 DATA1 DATA2 DATA3 [example] SND 0000001A 15 3F 4E 8A 모든데이터는 16진수로입력하고 ID는 8자리, DATA는 2자리로입력하고각필드사이는 space 로 띄워준다. 단데이터수는 CAN spec상최대 8개까지밖에입력할수없다. 9) STS 현재의상태를요청하는명령으로다음과같은출력을 CAN 컨트롤러가보여준다. Version 2.2 CAN_ID FFFFFFFF (All Accepted) CAN BaudRate 1000 kbps CAN Param 00/BA/07 RS232 BaudRate 115200 bps Error Warning 0 Rx/Tx Warning 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) Extended ID mode 0 UART Overrun RX:0/TX:0 Mask1,2 00000000,00000000 Filter1-3 00000000,00000000,00000000 Filter4-6 00000000,00000000,00000000 10) CLR 현재에러비트들을클리어한다. 경우에따라치명적인것들에대해서는에러비트가클리어되지않기때문에 CAN 컨트롤러의전원을껏다켜준다. 정상동작후에 OK 를표시한다. 11) EXT 26

터미널모드를종료하고패킷모드로전환한다. 4.2 CAN2Ethernet Gateway 터미널 CAN2Ethernet Gateway 모드는 1.5절에서설명된 SW1을 ETH 쪽으로설정되어있을때이다. 이모드에서는터미널에접근하기위해 2가지방법을제공한다. 하나는기존 CAN2RS232컨버터에서이미설명했던방식과비슷하게 RS232포트와하이퍼터미널로접근하는방법이고, 다른방법은 telnet 을이용하는방법이다. 첫번째방법은 CAN2RS232에서처럼스페이스바를 5번누르지않고 RS232 케이블을연결즉시사용할수있다. 두번째방법은 C2E보드에할당된 IP주소로 telnet 접속을하고 ID와 Password를입력하여 login하는방법이다. 초기 login ID와 password는 "root", "can2eth" 이다. 보다자세한내용은다음에서설명한다. 4.2.1 RS232 터미널 C2E모드로설정하였을때 RS232케이블을연결하고터미널을띄워놓고 C2E보드에전원을인가하면부팅과동시에각종정보들이터미널창에보여진다. 동적 IP모드인경우는 DHCP서버로부터할당받은 IP주소등을볼수도있다. 이터미널은 CAN2RS232컨버터처럼터미널진입을위한절차가전혀필요없으며즉시명령어를입력하거나 help 화면등을볼수있다. 전원이인가되면초기다음과같은화면을터미널창에서볼수있다. system init ok TCP/IP parameter loaded ok TCP/IP protocol stack init ok CAN2ETHER Gateway Started (V2.2) <-- 여기까지는정적IP모드인경우 IP Address 192.168.10.5 Subnet Mask 255.255.255.0 Gateway 192.168.10.1 MAC Address 00-23-45-67-89-AB <-- 동적 IP모드인경우는 DHCP로부터 IP를할당받으면표시된다. 시스템이부팅된후엔터키를치면 ">>" 와같은컴맨드라인이표시된다. 사용자는아무문자를입력하고엔터키를치면다음과같은 help 화면이표시된다. << CAN2Ethernet Gateway 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 27

SMA Set MAC Address SIM Set IP Mode SPT [hex4] Set Port CPW Change Password +----------+--------------------------+ 위의명령리스트중 INI~CLR 명령 (STS 제외 ) 까지는 CAN2RS232 컨버터에서이미설명한내용과동일하므로여기서는생략하겠다. 나머지명령들에대해내용은다음과같다. 1) SIP IP 주소를설정하는명령어이다. 이명령은정적 (Static) IP 모드에서만사용해야한다. SIP 를입력하면다음과같은내용이표시된다. FORMAT Example (Decimal) : 192.168.1.1? 사용자는 0~255 사이의십진수숫자 4 개를.( 점 ) 으로구분하여위의예처럼입력해야한다. 입력이제대로되었으면 "OK" 가표시되고아니면 "ERROR" 가표시된다. 공장초기화값은 192.168.10.100 이다. 2) SSM Subnet mask 를설정하는명령으며, 이명령도정적 IP 모드에서만사용해야하며 SIP 와입력방식은동일하다. 공장초기화값은 255.255.255.0 이다 3) SGW Gateway 주소를설정하는명령이며, 이명령도정적 IP 모드에서만사용해야하며 SIP 와입력방식은동일하다. 공장초기화값은 192.168.10.1 이다. 4) SMA Ethernet 고유의 MAC 주소를설정하는명령어이다. 이명령은이미동일한 MAC 주소를소유하고있는장치가있을경우장치가충돌이발생하므로, 그런경우임의의다른숫자로변경하여준다. SMA 명령어를입력하면다음과같은내용이표시된다. FORMAT (Hexa code) : XX.XX.XX.XX.XX.XX? 입력하는방식은 16 진수 2 자릴숫자를 6 개입력하되각숫자끼리는.( 점 ) 으로구분하여입력한다. 여기서반드시첫번째숫자는 00 으로입력해야한다. 첫번째숫자의첫번째비트가 Multicast 를의미하기때문이다. 예를들어다음과같은형식으로입력한다. 28

00.45.89.AB.DF.5F 공장초기값은 00-12-34-56-78-9A 이다. 5) SIM IP모드를설정하는명령이다. IP모드라하면사용자가지정한 IP정보를사용하는 Static모드와 DHCP 서버로부터 IP 정보를할당받는 Dynamic 모드가있다. SIM 명령어를입력하면다음과같은내용이표시된다. 0. Static IP mode 1. Dynamic IP mode(dhcp)? 사용환경에맞게 0 또는 1 숫자를입력한다. 1 번을입력하여 Dynamic 모드로변경하는경우는전원을뺏다가다시인가하여 IP를할당받아야한다. IP할당이제대로이루어지지않으면다음과같은메시지가표시되고계속재시도한다. Sending DHCP requests... Timeout!! 언제든지 LAN 선이뽑혔다가재연결되면위의과정이반복되고 IP 를재할당받는다. 계속할당받지못하는경우 DHCP서버가정상동작한다면 C2E보드의공장초기화점퍼를삽입한상태에서전원을인가하고 SIM명령어로 Dynamic 모드로전환한후공장초기화점퍼를빼고전원을재인가해본다. 결국 IP를할당받으면다음과같은메시지를볼수있다. Sending DHCP requests... IP Address 192.168.1.3 Subnet Mask 255.255.255.0 Gateway 192.168.1.1 MAC Address 00-04-A3-00-00-00 6) SPT TCP/IP 를이용해바이너리소켓통신을할때 C2E 보드가 Listen 하기위한 Port 번호를설정하는명령어이다. 입력방법은다음과같은형식을취하며숫자는 16진수 4자리를입력한다. SPT D431 포트번호는십진수로 0~50000까지는할당되어사용되는경우가많기때문에 50000 이상의숫자에서골라야한다. 입력할때는반드시 16진수로변환하여입력하는것을잊지않는다. 공장초기값은 16 진수 D431 이다. 7) STS 현재의 CAN2Ethernet Gateway 의상태와설정값들을보여주는명령어로 CAN2RS232 컨버터에서보여주는내용에 TCP/IP 설정정보까지추가로보여준다. 내용은다음과같다. 29

Version 2.2 CAN_ID FFFFFFFF (All Accepted) CAN BaudRate 1000 kbps CAN Param 00/BA/07 RS232 BaudRate 115200 bps Error Warning 0 Rx/Tx Warning 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) Extended ID mode 0 UART Overrun RX:0/TX:0 Mask1,2 00000000,00000000 Filter1-3 00000000,00000000,00000000 Filter4-6 00000000,00000000,00000000 IP Address 192.168.1.3 Subnet Mask 255.255.255.0 Gateway 192.168.1.1 MAC Address 00-04-A3-00-00-00 Port Number D431 IP mode Dynamic (DHCP) 8) CPW Telnet login시에사용되는 Password를변경하는명령어로공장초기화값은 "can2eth" 이다. 대소문자를구분하며, 최대 8문자까지만인정된다. 8문자이상입력하여도 8문자이후로는무시되므로주의해야한다. 변경방법은 CPW 명령을입력하고입력메시지가표시되면비밀문자를입력하고재입력요구메시지가표시되면다시동일하게입력하면된다. 만약 2회에걸쳐입력된문자열이서로다른경우는 "ERROR" 가표시되고같은경우는 "OK" 가표시된다. 다음은예이다. New password (Max 8 characters)? ******* Retry input password? ******* OK * 참고로 Login ID 는 "root" 로변경불가능하다. 4.2.2 telnet 터미널 RS232터미널과유사하지만접속하는방법이 telnet을이용하는것이다. Telnet은쉽게 dos창을띄우고 "telnet 192.168.1.3" 과같은형식으로명령어를입력하면된다. 여기서 192.168.1.3 은 C2E 에할당된 IP주소이다. 일단접속이되면다음과같은내용이표시된다. [ Welcome to CAN2Ethernet Telnet Service ] login ID : ID 는 "root" 로입력하고엔터를치면 "login password :" 가표시된다. Password 는초기값 "can2eth" 을 30

입력하면터미널모드로진입할수잇다. 사용자가 password를변경한경우는변경된값을입력한다. 모든입력이정상적이면다음과같은내용이표시되면서 telnet 터미널모드로진입한다. [ Welcome to CAN2Ethernet Telnet Service ] login ID : root login password : ******* << CAN2Ethernet Gateway 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 EXT Exit terminal mode +----------+--------------------------+ 이터미널모드에서는 RS232터미널과달리수행되지않는명령어가추가된명령어가있으며내용은다음과같다. 참고로 telnet 터미널에서는아무런입출력없이 30초이상경과되면자동으로연결이종료되므로종료되지않기위해서는 30초이내에뭔가입력을하거나화면에표시되게해야한다. 또한글자를입력했을때입력된글자가두번씩표시되면 telnet 연결시터미널설정이제대로되지않은경우이므로, 이런경우는수동으로터미널설정중에자국반향 (echo) 기능을꺼둬야한다. 또한동시연결은한개만지원하므로한번연결된이후에다시연결을시도하면연결되지않는다. 1) INI~CLR RS232 터미널모드와기능이동일하므로 RS232 터미널모드를참조한다. 2) SIP~SPT 이명령어들은 telnet 터미널모드에서사용될수없으며만약사용시다음과같은오류메시지가표시된다. You cannot change IP address in telnet!! Only changable in RS232 terminal. 31

각명령어에맞게 IP Address 부분의내용은약간씩다른다. 이명령이사용되지않는이유는이미네트웍을지정된 IP환경에맞게사용하고있는데그설정값을변경하면통신중에문제가발생하기때문이다. 3) EXT telnet 접속을종료할때사용하는명령어이다. Telnet 접속은반드시이명령을사용하여종료해야하며그렇지않고비정상적인종료를했을때에는재접속시까지 30초이상시간이지나야한다. 32

5. Utility 사용법 PC 에서쉽게 CAN 버스의상태를확인하고 CAN2RS232 컨버터의설정을변경하고자하는경우에사용할수있다. 프로그램은크게 Monitor 와 Setup 부문으로나눠져있으며 Monitor 에서는 CAN 버스의데이터흐름을실시간으로관찰할수있으며, Setup 에서는컨버터의각종설정갑을변경할수있다. 5.1 CAN2RS232 컨버터테스트프로그램 5.1.1 초기작업 1) 컨버터를 PC에 RS232케이블을이용하여연결하고 SW1을 'RS232' 로설정하여 CAN2RS232컨버터모드로부팅할수있게하고, 컨버터의전원을인가한다. 2) Tester 프로그램을실행하고 RS232 케이블을연결한 COM 포트를확인하여 [Setup] 에서 Port 를설정한다. 3) [Connect] 버튼을눌려컨버터와연결한다. 그러면 [Monitor] 탭이활성화된다. 5.1.2 설정작업 [Setup] 1) 모든설정작업은 [Setup] 탭에서할수있다. 이탭에서할수있는작업은다음과같다. - RS232 Port 와속도및 CAN 통신속도변경 - CAN ID 및표준 / 확장 ID 모드설정 33

- 비트타이밍및 Acceptance 필터와마스크설정 2) 모든설정값을변경한후 [Set] 버튼을클릭해야컨버터에실제적으로적용되며적용결과상태는 [Information] 창에서확인할수있다. 3) 만약 [Set] 버튼을눌러설정하려할때 [Information] 창에 Timeout 에러가출력되면다음과같은원인과해결방법이있다. - RS232 포트또는속도설정이잘못되었을경우 COM 포트변호를변경하거나 [Auto Detect] 버튼으로을클릭하여속도를찾는다. - 컨버터의전원이제대로인가되지않아전원 LED가켜져있지않을때는전원을연결한다. - 컨버터가터미널모드로되어있는경우는패킷모드로전환할때까지패킷모드명령을무시하므로컨버터의전원을껏다다시켜거나하이퍼터미널에서패킷모드로전환하는명령어인 'EXT' 를입력하여패킷모드로전환한다. - 위의작업이안되면공장초기화점퍼를삽입한상태에서전원을인가하여본다. 5.1.3 모니터링 1) [Status] 버튼 현재의 CAN ID, Status Code 그리고 CAN 파라메터값들을표시하여준다. 숫자는 16 진수로표시된다. 2) [Clear] 버튼 Information 창아래에있는버튼은 Information 창에기록된내용을모두지울때사용하고화면의하단에있는버튼은 [Received Data] 창에있는수신데이터기록을삭제할때사용한다. 3) [Receive] 체크박스 수신되는데이터를화면에표시하여준다. 실제데이터가수신되더라도이박스를체크하지않는다면데이터는보여지지않는다. 4) [Auto Snd] 버튼 데이터전송을테스트할때사용하는기능으로 CAN ID는 0부터 0x7FF까지순차적으로증가하고각ID 에대해 0 부터 255 까지순환하면서증가하는데이터값 8 개를갖는패킷을전송한다. 즉, CAN ID Data 0 00 01 02 03 04 05 06 07 1 08 09 0A 0B 0C 0D 0E 0F 2 10 11 12 13 14 15 16 17 3 18 19 1A 1B 1C 1D 1E 1F : 7FF F8 F9 FA FB FC FD FE FF 5) [Send] 버튼 한개의패킷을임의로생성해서전송하고자하는경우사용되는버튼이다. Send Packet 프레임내에 34

있는 Dest.ID에목적지의 ID를입력하고, 전송할바이트값을 (0~8 사이값 ) Len에입력하며, D0~D7 데이터를입력한다. 모든입력이끝난후 [Send] 버튼을클릭하면입력된형식으로패킷이생성되어전송된다. 5.1.4 주의사항 1) User Filter 를사용하는경우는 CAN ID 가반드시 FFFFFFFE 이어야하며 User Filters 를선택한경우에는자동적으로 CAN ID가 FFFFFFFE로변경되고수정할수없는상태가된다. 2) RS232 통신속도를모르는경우에는 [Auto Detect RS232] 버튼을클릭하여쉽게알아낼수있다. 3) 사용자가설정한 Bit Timing 값을사용하기위해서는 CAN Baud Rate 가 [User] 모드로되어있어야한다. 그렇지않은경우는컨버터 EEPROM 에값만저장되고적용되지않는다. 4) CAN 버스패킷데이터를수신하기위해서는 [Monitor] 탭의 [receive] 를체크한다. Received Data 에표시되는내용중 Time Stamp 는프로그램이패킷을수신한시간을 milisecond 로표시한것이다. 5.2 CAN2Ethernet Gateway 테스트프로그램 본프로그램은 C2E 에서제공하는 TCP/IP 바이너리소켓통신모드를이용하고있다. 5.2.1 초기작업 35

1) C2E에 RS232케이블과 LAN케이블을연결하고전원을인가한다. SW1은 'ETH' 로설정하여 C2E모드로부팅할수있게한다. 이때 RS232 통신데이터를모니터링하기위해하이퍼터미널과같은통신에뮬레이터도미리실행한다. 2) 만약 Dynamic IP 모드인경우는 RS232 터미널창에서표시되는 DHCP 서버로부터할당된 IP 주소를기억하여둔다. 3) 본프로그램을실행하고 IP Address와 Port No가 C2E에지정된것과동일한지확인하고만약다르다면 C2E 보드에설정된값으로수정하고 [Connect] 버튼을클릭한다. 4) 연결이되면 [Information] 창에 "Connected.." 가표시되며 [Monitor] 탭이활성화된다. 5.2.2 설정작업 [Setup] 5.1.2 절에이미설명한 CAN2RS232 컨버터와사용방법은동일하며, 단지 RS232 설정부분만생략되며, TCP/IP 설정부분이더추가되어있다. 5.2.3 모니터링 [Monitor] 탭을클릭하면사용할수있는기능으로 5.1.3에이미설명한내용과사용법은동일하다. 추가적으로 [Version] 버튼이있는데이버튼을클릭하면다음과같은형식으로 C2E 의버전정보를 [Information] 창에표시하여준다. Req Firmware Version Version = 1.0 5.2.4 주의사항 1) 일반적인주의사항은 5.1.4 에이미설명한내용과동일하다. 2) C2E 소켓통신모드에서는주고받는데이터가 30초동안없을때자동으로연결이끊기는데이는정상적인동작으로사용자는이에대해인지하고있어야한다. 만약 C2E소켓통신모드로통신하는프로그램을사용자가직접작성할때자동으로끊기는것을막으려면 30 초이내에주기적으로아무데이터또는버전요청과같은명령을보내줌으로써해결할수있다. 36

6. Acceptance Mask 와 Filter 설정법 Acceptance Mask와 Filter의용도는 CAN수신버퍼로들어오는다양한메시지데이터에대해서원하는특정 ID나또는특정범위또는특정패턴의 ID에대해서만수신가능하도록하기위해 ID와 Mask와 Filter간에정해진비트조작을하여얻어진결과물이모두참이되는경우수신하도록하는메커니즘에사용된다. 본컨버터에서는 2개의 Mask를제공하고각 Mask별로각각 2개와 4개의 Filter를제공한다. 기본적으로 Mask, Filter 그리고메시지 ID 간상관관계에따른 acceptance 에대한진리표는 [ 표 1] 과같다. 표1. Filter & Mask 진리표 Mask bit n Filter bit n MSG ID bit n Accept bit n 0 x x Accept 1 0 0 Accept 1 0 1 Reject 1 1 0 Reject 1 1 1 Accept x : don t care 수식과디지털논리회로로표현하면다음과같다. Accept? = not Mask or not(filter xor ID) 즉좀더쉽게풀어서설명하면 Mask 비트가 0 이면 ID 가어떤값이와도 Accept 를하고, 1 인경우는필터비트와 ID 비트값이동일한경우 Accept 를하게되고다르면 Reject 한다. 위와같은방법으로 11 또는 29 비트각각의비트계산을하고각비트모두가 1 이되는경우 Accept 하게된다. 이해를돕기위해 Standard ID 모드 (11 비트 ) 에서몇개의예를들어보자. 예1) Mask = 0x000, Filter = 0x7FF 모든 mask비트가 0이기때문에 filter값에상관없이모든 ID에대해모두 Accept한다. Mask 00000000000 Filter 11111111111 ID xxxxxxxxxxx 계산값 11111111111 예 2) Mask = 0x7F0, Filter = 0x080 37

mask가 0x7F0이므로상위 7비트에대해서만고려하고, filter의상위 7비트와동일한상위 7 비트를같는모든 ID 를수신하게된다. 즉수신 ID의범위는 0x080~0x08F 이다. Mask 11111110000 Filter 00010000000 ID 0001000xxxx 계산값 11111111111 고려되는비트 (Mask 가 1 인부분 ) 이런식으로 Mask 과 Filter 는관련성이있고, 1 개의 Mask 에몇개의 Filter 가있는이유는좀더세밀하게수신 ID 를설정하기위함으로, filter 를좀더많이사용하면분산된여러범위의 ID 에대해서수신하게할수있다. 38

7. ActiveX control 사용법 CAN2RS232 컨버터모드에서패킷모드를좀더편리하게사용하기위해 ActiveX 컨트롤을제공한다. 이것은 Visual Basic 나 VC++ 에서 RS232 통신에대한프로그래밍기술이없어도단순히컨트롤을추가하고몇가지설정만함으로써간단히컨버터와통신을할수있게도와준다. 아래그림은 ActiveX 컨트롤을이용한 Visual Basic 예제프로그램이다. 7.1 ActiveX 컨트롤 Visual Basic 에등록방법 1) CTRL+T 키를누르면 Component 리스트를다음과같이볼수있다. 2 1 39

위그림에서 (1) 의 [Browse..] 키를눌러 can2rs232.ocx 파일을찾아선택하여준다. 그럼 (2) 와같이 CAN2RS232 ActiveX control module이추가되며그림과같이체크하여선택한다. 작업을완료하면 [ 확인 ] 버튼을클릭하고종료하면 Visual Basic 의컴포넌트창에와같은아이콘이생성된다. 7.2 메소드함수 메소드함수는컨버터의초기화, 설정변경및상태요구등을하기위한명령들의의미한다. 다음은각메소드들에대해함수의원형및매개변수와리턴값에대해기술하였다. 1) boolean Initialize (short port, long brate) 컨버터와연결을위해시리얼포트를초기화한다. port : 시리얼포트를의미함, COM1 인경우숫자 1 을입력 40

brate : baud rate를의미함, 9600,19200,38400,57600,115200,230400 리턴값 : 초기화가실패하거나포트또는 baud rate 가잘못된경우는 false 를 리턴 2) void SetCanBaudRate (short baudrate) CAN baud rate 를설정한다. baudrate : 0 (125k), 1(250k), 2(500k), 3(1Mbps), 4 (User Bit Timing) 3) boolean SetRs232BaudRate (long baudrate) 시리얼포트의 baud rate 를설정한다. baudrate : baud rate 를의미함, 9600,19200,38400,57600,115200,230400 리턴값 : 설정에성공하면 true를리턴함 4) boolean SetCanID (boolean extmode, long canid) CAN ID 를설정한다. extmode canid 리턴값 : Extended ID를사용하려면 true, Standard ID를사용하려면 false : 설정할 ID숫자를입력, standard ID모드인경우값을 0x7FF 이하로설정 : 설정에실패하거나 CAN ID 범위가잘못된경우 false를리턴 5) void SetBitTiming (short BRGCON1, short BRGCON2, short BRGCON3) User baud rate 에사용할 Bit Timing 값을설정한다. BRGCON1 BRGCON2 BRGCON3 : MBTC 의출력결과값 : MBTC 의출력결과값 : MBTC 의출력결과값 6) void SetAcceptacneFilter(long mask1, long mask2, long filter1, long filter2, long filter3, long filter4, long filter5, long filter6) CAN의 Acceptance에대한 Mask와 Filter값을설정한다. filter1~2 까지는 Mask1 과한쌍이고, filter3~6 가지는 Mask2 와한쌍이다. 7) void ReqCanStatus() CAN 의상태값을요청한다. 결과값은 RspCanStauts 이벤트로받을수있다. 41

8) void Close() 시리얼포트를닫는다. 8)boolean SendMessage (long canid, short len, short data0, short data1, short data2, short data3, short data4, short data5, short data6, short data7) 지정된목적지 ID 에길이 len 의데이터 (data0~8) 를전송한다. canid : 목적지 CAN ID len : 메시지데이터의길이 (0~8) data0~7 : 메시지데이터 7.3 이벤트함수 이벤트함수는컨버터가데이터를수신하거나, 명령작업을완료하거나, 기타요구에응답하는등, 특정한상황에인터럽트처럼호출되는함수이다. 1) void PacketReceived(long canid, short length, short data0, short data1, short data2, short data3, short data4, short data5, short data6, short data7) 본이벤트함수는 CAN 버스로부터데이터를수신한경우호출된다. canid : 수신한데이터의목적지 ID 를의미함. length : 데이터의길이로 0~8사이값을갖음 data0~7 : 수신데이터 2) void ProtocolAcknowlegde (boolean iserror, short ErrCode) Set~ 형태의메소드에대한결과를알려주는이벤트함수이다. iserror ErrCode : 설정한명령이제대로수행완료되었는가를의미 : iserror가 true인경우다음과같은값을갖음 1 : Checksum 에러 2 : 잘못된 PID 3 : 기타오류 3) void RspCanStauts(short status, long canid, short BRGCON1, short BRGCON2, short BRGCON3) ReqCanStatus 메소드명령에대한응답이벤트함수이다. 42

status canid BRGCON1 BRGCON2 BRGCON3 : 현재컨버터의상태를나타냄, 자세한내용은 [0x87] 패킷내용을참조 : 설정된 CAN ID값 : Bit Timing값 : Bit Timing값 : Bit Timing값 43

8. 문제해결 본 C2E 를사용하는중에발생할수있는문제점과해결방법에대해기술하였다. 기술방법은질문과그에대한답변형식으로한다. Q1. 설정을변경했는데전원을껏다가다시켜도설정값이변경되지않는다. A. 공장초기화점퍼가삽입된상태에서전원이인가되면이전에설정된값을무시하고초기출하시의설정값으로재설정되므로, 변경된설정값을유지하고싶으면공장초기화점퍼를빼놔야한다. Q2. 설정을잘한것같은데 CAN 통신이전혀안된다. A. CAN 라인이연결되어있는여러컨트롤러중에양쪽끝의컨트롤러에터미네이터점퍼를제대로삽입하였는가확인하고, CAN_H, CAN_L 라인연결이제대로되어있는지확인하다. 또한 RS232 연결선을사용자가임으로제작하여사용하거나구매한경우 Rx, Tx 라인이 1:1 로연결되어있는지도확인한다. Q3. CAN2RS232 컨버터모드사용시패킷모드로프로그램에서아무리명령을줘도아무런응답을하지않는다. A. 간혹터미널모드로작업하다가 EXT명령으로종료하지않은상태에서다른패킷모드프로그램을실행하는경우가있는데이때프로그램은아무런응답을하지않게된다. 이런경우는다시터미널프로그램을실행하고 'EXT' 명령을실행하고패킷모드로전환한다음작업을한다. Q4. 터미널모드에서 RS232 통신속도를변경했는데그이후부터컨버터가아무런동작을하지않는다. A. 예를들어, 115200bps 에서작업중에 RBR 명령으로 9600bps 로변경하게되면컨버터의통신속도는 9600bps로바뀌지만, 터미널프로그램의통신속도는 115200 bps이기때문에당연히터미널에서입력하는것에반응하지않는다. 따라서컨버터의통신속도를변경할때터미널의통신속도도같게변경해주어야한다. Q5. 어떤조취를취해도컨버터가아무런반응을하지않는다. A. 컨버터는내부적으로 RS232 TX/RX 선이 Cross 되어있기때문에 PC 와연결하고자하는경우반드시 1:1 시리얼케이블또는널모뎀케이블을사용해야한다. 시중에는 TX/RX 가서로 Cross 되어있는 FX 케이블과 Tx/Rx 가 1:1 로연결된널모뎀케이블등, 2 종류를판매하고있기때문에구매시필히확인해야한다. 만약 FX 케이블을사용하게된다면컨버터는전혀반응을하지않게된다. 또한 1:1 케이블을사용하였는데도통신이안된다면케이블의 2,3,5 번핀끼리연결이되어있는지테스터로확인하여케이블의이상유무를확인한다. Q6. Dynamic IP 모드인데 DHCP 서버로부터계속 IP 를할당받지못하고계속재시도만한다. A. MAC address 의첫번째숫자가 00 인지확인한다. 00 이아니면통신을제대로할수없으므로반드시 00 으로셋팅되야한다. 다음으로초취할수있는방법은공장초기화점퍼를삽입한상태에서부팅하고다시 Dynamic 모드로전환한뒤공장초기화점퍼를빼고전원을재인가하여본다. 44

그래도안된다면 DHCP 서버가제대로동작하고있는지확인해본다. Q7. telnet 접속하거나 C2E 테스트프로그램을사용하는데종료도하지않았는데자꾸연결이끊긴다. A. C2E에사용된 TCP/IP 프로토콜스택은자동연결해제를위한 Timeout 기능이내장되어있습니다. 그시간은현재 30초로설정되어있으며, 아무런데이터가오고가지않고 30초가지나게되면자동으로연결이끊기게됩니다. 이를막으려면데이터가없을시 30초이내에아무런데이터나명령을전송하면된다. Q8. telnet 이나 C3E 테스트프로그램을종료하고다시접속하려고하는데 C2E 보드가반응을하지않는다. A. C2E는항상연결을종료할때 telnet에서는 EXT명령으로, C2E소켓통신에서는 0x90명령으로정상종료시켜야한다. 만약정상종료하지않고단순히프로그램만종료하게되면 C2E 는연결이종료된지인지하지못하기때문에 30초 Timeout 시간을기다려야한다. 따라서비정상종료후에는 30초이후에다시연결을시도하여본다. Q9. 모든세팅과연결이제대로되어있지만, telnet 이나소켓연결이되지않고아무런반응이없다. A. C2E 는 telnet 및소켓통신에대해각각한개만의동시 connection 을제공하기때문에한번연결이이루어진이후에동시에다시접속하려하면연결되지않는다. 이는제어및통신하는대상이한개이므로동시에여러곳에서제어및통신을못하게방지하기위함이다. Q10. 소켓통신에서 CAN 데이터를고속으로전송하였는데데이터전송이잘되지않고 NACK 패킷이 C2E 로부터전송된다. A. C2E 에사용된 Main Processor 는 10MIPS 의성능을지닌 MCU 로서수행할수있는능력에는한계가있다. 이때패킷데이터를고속으로 C2E 에전송하게되면 C2E 가수행할수있는한계를넘어서수신될수있다. 이런경우모든패킷을해석하지못해데이터를전송하지못하고 PC 로에러를전송하게된다. 최소패킷데이터전송간시간간격은 1ms 이상을유지하여주는게안정적인동작을위해필요하다. Q11. 이더넷통신이동작중불안정하게끊기는현상이있거나 DHCP 할당이불안정하게잘되지않는다. A. C2E 에공급되는전류는항상 500mA 이상이안정적으로공급되어야하는데값이싸거나기능에이상이발생되어아답터의가능전류보다낮게전류가공급되어 Gateway 가불안정한전원으로리셋되는경우발생될수있다. 이것은시리얼포트를연결하여시리얼터미널을모니터링하면리셋되는경우부팅시표시되는문자열이표시되는것으로확인가능하다. 45