CCP/XCP 프로토콜입문 배경 CCP (CAN Calibration Protocol) 는, 이름에서알수있듯이, 전자제어유닛 (ECU) 에서데이터를수집하고교정하기위한프로토콜입니다. 이프로토콜은일찍이 ASAP (Arbeitskreis zur Standardisierung

Similar documents
<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - CANopen_05

ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - release note-VRRP_Korean.doc

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft Word - How to make a ZigBee Network_kr

오토 2, 3월호 내지최종

ADP-2480

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

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

Tablespace On-Offline 테이블스페이스 온라인/오프라인

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

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - o8.pptx

View Licenses and Services (customer)

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

DBMS & SQL Server Installation Database Laboratory

SRC PLUS 제어기 MANUAL

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Contents 01. 안전을 위한 주의 사항 터치형 멀티 조절기 각부 명칭 터치형 각방 조절기 각부 명칭 조절기 난방/정지 하기 조절기 외출 /해제하기 조절기 반복난방 하기 조절기 예약난방 /

SBR-100S User Manual

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

Frama-C/JESSIS 사용법 소개

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

Mango220 Android How to compile and Transfer image to Target

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

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

King's Page 2 CAN ID 배정, CAN Kingdom 필수 King's Page 12 Repetition Rate 와 Open Window Setup Page. 다음의페이지들은비록 J1939 를 map 하는데실제로필요하지는않더라도, CAN Kingdom 사

1 안전 기준

네트워크 설정

Microsoft Word - Armjtag_문서1.doc

Install stm32cubemx and st-link utility

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

Microsoft PowerPoint - 04-UDP Programming.ppt

vRealize Automation용 VMware Remote Console - VMware

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft Word doc

MF5900 Series MF Driver Installation Guide

IRISCard Anywhere 5

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft PowerPoint _TCP_IP

untitled

PRO1_09E [읽기 전용]

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

ProfibusDP샘플

오토 10/11월호 내지

RealDSP UT 프로그램 메뉴얼

설계란 무엇인가?

Chapter ...

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

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

슬라이드 1

TCP.IP.ppt

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

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

PowerPoint 프레젠테이션

2 노드

Motor Control Solution

Chapter 4. LISTS


ThinkVantage Fingerprint Software

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

T100MD+

DSP_MON 프로그램 메뉴얼

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

리눅스 프로세스 관리

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

API 매뉴얼

Microsoft Word - AC20 Com_Korean_.doc

Tcl의 문법

슬라이드 1

<4D F736F F F696E74202D FB5A5C0CCC5CDC5EBBDC5B0FA20B3D7C6AEBFF6C5A9205BC8A3C8AF20B8F0B5E55D>

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - CSharp-10-예외처리

6주차.key

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

소프트웨어 융합 개론

PRO1_16E [읽기 전용]

Windows Server 2012

Smart Power Scope Release Informations.pages

PRO1_04E [읽기 전용]

왜곡보정버전업그레이드순서 - Windows 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는왜곡보정의버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트도받고있으므로사용하시는환경등으로펌웨어를업데이트할수없는사용자는이용하여주십시오. 사용하시는카메라사용법

hd1300_k_v1r2_Final_.PDF

BY-FDP-4-70.hwp

개요

슬라이드 1

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

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

오토10. 8/9월호 내지8/5

SMB_ICMP_UDP(huichang).PDF

Microsoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]

vi 사용법

Lab 3. 실습문제 (Single linked list)_해답.hwp

Transcription:

CCP/XCP 프로토콜입문 배경 CCP (CAN Calibration Protocol) 는, 이름에서알수있듯이, 전자제어유닛 (ECU) 에서데이터를수집하고교정하기위한프로토콜입니다. 이프로토콜은일찍이 ASAP (Arbeitskreis zur Standardisierung von Applikationssystemen) 로알려졌던, ASAM (Association for Standarisation of Automation- and Measuring Systems) 에의해정의되었습니다. 이것은 Audi, BMW, VW 같은여러주요자동차제조업체들로구성된국제적인기구입니다. 과거에는서로다른방법의기술들이 ECU 하드웨어와소프트웨어의개발, 교정, 생산과서비스에사용되어왔었습니다. CCP의목표는모든단계의 ECU 개발을위한공통툴을만들고다른종류의하드웨어그리고소프트웨어들과도호환되도록하는것입니다. ASAM 그룹은많은표준들을정의합니다. CCP 와 XCP 표준은 subsection AE (Automotive Electronics) 에서 찾아보실수있으며일명 AE MCD 1 이라불리는것으로분류됩니다. CCP 규격의현재버전은 2.1 이며, 이 것은 1999 년 2 월에발표된것입니다. 사용분야 가장흔히사용되는영역은 CAN 이자주사용되는, 자동차산업이지만, 그이외의다른분야에서도 CAN 은 사용됩니다. 사용이가능한영역들은다음과같습니다. ECU 개발 ECU의기능과환경테스트를위한시스템 연소기관, 변속장치또는실내온도조절기를위한테스트벤치. 사전제작차량에서의측정과교정 자동차산업이외의일반적인 CAN 애플리케이션

요약 CCP 는 CAN 2.0B (11- or 29-bit CAN id) 의애플리케이션계층입니다. 이프로토콜은 OSI 모델에따른최상계층 (layer 7) 으로, 이것은프로토콜이비트와바이트가어떻게생성되는지를서술하는것이아니라 CAN 2.0B protocol physical, data link 와네트워크계층이어떻게사용되는지를서술하는것입니다. CCP 는다음기능들을지원합니다 : ECU 메모리에읽기 (Read) 와쓰기 (Write). ECU로부터동기적으로순환데이터취득. CAN 버스에서다중노드처리. 플래시프로그래밍. 플러그앤플레이. 자원보호 ( 데이터취득과교정 ). CCP 의세부사항 CCP 는명령을슬래이브노드로보내어 CCP 마스터가통신을시작하는 master/slave 애플리케이션에기초합니다. CAN 버스에연결된슬래이브노드는여러개가될수있습니다. CCP는교정을위한간단한메모리처리와데이터획득과관련하여일반명령을사용합니다. 이러한두개의자원들은독립적이며따라서동시에사용될수있습니다. 그림 1: CCP 버스연결. CCP는고성능 ECU와소형 8비트마이크로컨트롤러모두의제약과요구를처리하도록설계되었습니다. ECU 에는추가하드웨어가전혀연결되지않습니다. CCP 드라이버는소프트웨어에서완벽하게구현됩니다. CCP 의간소한구현은오직이용가능한램, 롬, 그리고실행을위한 CPU 시간의작은부분만이필요합니다. 간소한구현은단지두개의 CAN 메시지식별자만을필요로하며, 이것은통상적인트래픽을방해하지않는낮은순위로설정될수있습니다. CCP가일반 PC에서사용되어야한다면, 마이크로컨트롤러에서사용되는것과마찬가지로간단하고저렴한비용의 CAN 인터페이스가사용될수있습니다.

일반적인명령 CCP 는슬래이브노드에서서로다른기능들을수행하기위해, 노드에한정된것이아닌, 일반명령들을사용합니다. 명령들이일반적이기때문에모든노드는개별적인위치어드레스를갖고있어야합니다. 마스터와슬래이브간의논리적연결은어떤명령이든전송되기전에설정되어야합니다. 이연결은마스터가다른슬래이브노드와연결하기로결정할때까지또는마스터가 disconnect 명령을보낼때까지지속됩니다. 연결후에는마스터가마스터와슬래이브사이의모든통신을제어합니다. 마스터로부터의모든메시지는데이터또는에러코드를포함하고있는슬래이브로부터의응답메시지가이어집니다. CCP- 특정 CAN 메시지 CCP는 CAN 2.0B 프로토콜을기초로합니다. 모든메시지들은 8 바이트길이입니다. CAN 메시지의단두종류만을필요로합니다, CRO 와 DTO, 각방향으로하나씩. CRO (Command Receive Object) 메시지는마스터로부터슬래이브로전송되며제어명령을포함하고있습니다. DTO (Data Transmission Object) 메시지는슬래이브에서마스터로전송됩니다. 슬래이브가 CRO 메시지를수신했을때이것은주어진지시를수행하고그런다음 CRM (Command Return Message) 를포함하고있는 DTO 메시지로응답합니다. CRM 코드는해당제어명령이계획대로수행되었는지아닌지를마스터에알려줍니다. 그림 2: CRO 와 DTO 메시지 CRO와 DTO 메시지에사용되는 CAN 식별자들은마스터를구성하는데사용되는 configuration file ("A2L file", defined by the ASAM MCD 2MC/ASAP2 standard) 에의해결정됩니다. 이구성파일은데이터취득과교정에유용한슬래이브메모리조직에관한정보도포함할수있습니다. CAN 식별자가메시지의우선순위를결정하므로이것은버스에서통상적인트래픽을방해하지않는방식으로선택됩니다. CCP는일반데이터전송에서사용되는바이트순서 (Motorola 또는인텔 ) 를결정하지않습니다. 예외는있는데마스터와슬래이브간의연결시사용되는 station 주소의바이트순서는 Intel (LSB 우선 ) 이되어야합니다.

CRO 메시지의서술 CRO 메시지는마스터에서슬래이브로전송되며지시사항들을포함합니다. 첫번째바이트는 command code (CMD) 로메시지의목적을서술합니다. 두번째바이트는 command counter (CTR) 로통신의추적을유지하기위해사용됩니다. 또한명령카운터는슬래이브에서 DTO 메시지의리턴시전송될것입니다. 바이트 2-7은명령코드에따라데이터파라매터들을위해유보됩니다. 메시지는항상 8 바이트길이이며정의되지않은바이트들은 개의치않는것 으로간주됩니다. 그림 3: CRO 메시지의구조. DTO 메시지의서술 DTO 메시지는수신된 CRO 메시지를받을때슬래이브에의해전송되며데이터취득을위해서도사용됩니 다. 메시지에서의첫번째바이트는 PID (Packet ID) 라불립니다. PID 의값은메시지유형을서술합니다. 메 시지에는세가지유형들이있습니다 : 0xFF, command return message (CRM), DTO가 CRO 메시지수신으로전송되는경우 0xFE, event message, DTO가오류복구또는다른서비스를불러내기위하여내부슬래이브상태변경을보고하는경우 0-0xFD, data acquisition message (DAQ). 이 PID는나중에서술되는, ODT (Object Descriptor Table) 의값을가집니다 그림 4: DTO 메시지의구조

데이터취득 (DAQ) 그림 5: ODT 리스트의구조 마스터디바이스가초기화하여슬래이브디바이스로부터데이터취득을시작할수있습니다. 데이터는특수 DAQ-DTO와함께슬래이브에서전송됩니다. 데이터바이트는수많은 ODT 리스트로구성되어있는 DAQ 리스트에서조직됩니다. ODT 리스트는데이터가저장되는 ECU에메모리어드레스에대한최대 7개의포인터들을포함합니다. 메모리어드레스에대한포인터외에, ODT-list는주소확장과보내질바이트수를포함할수있습니다. 모든슬래이브디바이스들은 1 바이트이상의데이터요소를처리하지않으며마스터가데이터를단일바이트로쪼개어이작업을해결할수있습니다. DAQ-DTO 는 ODT 리스트의메모리포인터가가리키는데이터요소들과 PID 로구성됩니다. PID 번호 ( 일반 적으로 ODT 리스트와동일 ) 는 0 에서 253 사이의값을가지며이는 254 개의 ODT 리스트만이동시에있을 수있다는것을의미합니다. 그림 6: DAQ 리스트의구조

CCP 규격은여러개의 DAQ 리스트를허용하며, 이것은동시에활성화될수있습니다. DAQ 리스트의전송은 START_STOP 명령을통해마스터에의해시작됩니다. ODT 리스트의데이터바이트는슬래이브디바이스에서샘플화되어 DAQ-DTO의 CAN 버스로보내집니다. 새로운 START_STOP 명령이진행중인 DAQ 사이클이완료되기전에슬래이브에의해수신된다면, 두가지방식으로반응합니다. 새로운 DAQ 명령이시작되고진행중인것이종결되거나진행중인사이클이완료되고새로운것은무시됩니다. 양쪽방식에는장점과단점이있으며 CCP 규격은어떤것을선택할지정하지않습니다. 명령 (Command) 아래명령들이 CCP 규격에포함되어있습니다. ( 그림 7). 교정성능이필요하지않다면모든명령들이구현될필요는없으며따라서아래테이블표에서옵션으로표기됩니다 ( 그림 7). GET_DAQ_SIZE, SET_DAQ_PTR, WRITE_DAQ, START_STOP ( 그리고 START_STOP_ALL) 는 DAQ 특성이며이자원들이사용되지않는한구현될필요는없습니다. GET_SEED 와 UNLOCK 은 key( 암호 ) 로보호된다면데이터취득과교정같은 CCP 자원들을해체하는데사용되며, 이것은선택사항입니다. 그림 7: 명령

오류처리 슬래이브에서의오류코드와그것이얼마나중요한가에따라, 마스터는그림 8 에서술되어있는여러가지 활동들을실행합니다 그림 8: 오류처리 Error C0은경고이며아무행동도취하지않습니다. 에러 C1이발생한다면통신오류이거나분주한노드전송에서의오류입니다. 에러 C1에서마스터는그림 7에서서술된 ACK 시간을기다려야만하며그런후메시지를재전송하려시도해야합니다. 이것은 2배가될것입니다. 에러 C2는일시적전력손실이될수있으며재초기화로해결될수있습니다. 에러 C3은해결될수없으며마스터는실행세션을종결시켜야합니다. Cold Start 는마스터와슬래이브사이에새로운논리연결이 CONNECT 명령과어떤후속초기화로성립됨을뜻합니다. 순차의예 예제들에는마스터로서, 기본 CCP 통신을위하여, 사용할명령들이설명되어있습니다. 로그인세션 (Cold Start) 마스터와슬래이브사이의전형적인연결은마스터에서의 CONNECT 명령을포함하는 CRO로시작합니다. 슬래이브는이에해당하는 DTO로응답해야합니다. 마스터와슬래이브모두동일한 언어 로대화하는것을확실히하기위하여 GET_CCP_VERSION 명령이예상했던버전번호와같이마스터에서전송됩니다. 만약슬래이브에서반송되어전달된그버전번호가일치한다면, 통신이진행될수있습니다. 플러그앤플레이 호환노드들을위해 EXCHANGE_ID 명령이스테이션주소에따라, 자동세션구성을위해사용될수있습니다.

GET_SEED 명령에서슬래이브노드는자원 (DAQ or Calibration) 의보호상태 (locked/unlocked) 에관한정보를응답합니다. 만약, 어떤이유로, 자원이 lock 된다면이것은사용되기전에 unlock되어야합니다. 자원을해제 (unlock) 하기위해서는 UNLOCK 명령이, GET_SEED DTO에서수신받은 KEY 와함께마스터로부터전송되어야합니다. 로그인세션이끝나기전에 Status 비트의초기화가권장되는데, 이는 SET_S_STATUS 명령으로실행됩니다. 교정초기화세션 (Calibration init session) 이세션설명은로그인절차가수행되었다는것을가정합니다. 그런다음첫번째는 SET_S_STATUS 명령을이용하여교정에대한세션상태비트를 off 로설정하는것이될것입니다. 그후교환할데이터를포함하는메모리주소가 SET_MTA 명령으로선택됩니다. 이메모리주소가이용가능하다는것을확실히하기위해 BUILD_CHKSUM 명령이전송되고이를확인하는슬래이브노드로부터의응답이예정됩니다. 그러면데이터바이트를선택된주소로다운로드할수있습니다. 먼저 DOWNLOAD 명령이데이터바이트의수와각바이트의값과더불어전송됩니다. 데이터교환을실제로수행하기위해서 SELECT_CAL_PAGE 가전송됩니다. 교정이시작되었다는것을지시하기위해서교정을위한세션상태비트가 SET_S_STATUS 명령으로 on 으로설정됩니다. DAQ init 세션이세션설명은로그인절차가수행되었다는것을가정합니다. DAQ의세션상태비트는 SET_S_STATUS 로 off 로설정됩니다. DAQ 리스트는 GET_DAQ_SIZE 로선택되며슬래이브는사용가능한 ODT의수로응답합니다. SET_DAQ_POINTER 명령은어떤 DAQ 리스트에, ODT의 element 와 ODT 테이블이기록되어야하는지를선택합니다. 그러면 WRITE_DAQ 명령은데이터파라매터의메모리주소를이전에선택된 element에할당합니다. 모든 DAQ 리스트들이원하는대로채워지면 DAQ의세션상태비트가 SET_S_STATUS 를사용하여 on 으로설정됩니다. DAQ 리스트의전송은 START_STOP 명령으로시작됩니다. 여러 DAQ 리스트들이동시에시작되어야하고동기적으로전송되어야한다면 START_STOP_ALL 명령이사용됩니다.