Professional Documents
Culture Documents
XCP ReferenceBook V2.0 KO
XCP ReferenceBook V2.0 KO
표준 프로토콜
본 책자에 실린 정보는 저작권이나 특허권에 의해 보호되었을 수 있다. 본 책자에서 사용한 소프트웨어나 하드웨어,
기타 제품의 이름은 등록 브랜드로 확인되지 않은 경우에도 등록된 브랜드이거나 기타 브랜드 관련 법에 의해
보호되었을 수 있다.
XCP -
ECU 개발을 위한
표준 프로토콜
기초 및 응용 분야
1 XCP 프로토콜의 기초 13
1.2 CTO 교환 22
1.2.1 XCP 명령어 구조 22
1.2.2 CMD 25
1.2.3 RES 28
1.2.4 ERR 28
1.2.5 EV 29
1.2.6 SERV 29
1.2.7 슬레이브의 캘리브레이션 파라미터 29
3 캘리브레이션 개념 73
4 XCP의 어플리케이션 영역 85
5 XCP 구현 사례 99
5.1 함수 설명 102
5.2 드라이버에 대한 파라미터 생성 104
저자 106
약어 표 108
참고자료 109
웹주소 109
그림 목차 110
Appendix - 벡터의 XCP 솔루션 112
색인 114
서론 7
서론
최적화된 ECU의 파라미터화(캘리브레이션)에서는 시스템 런타임 도중 파라미터값을 캘리
브레이션하고 동시에 측정한 신호를 얻는다. 개발 툴과 ECU 사이의 물리적 접속은 측정/
캘리브레이션 프로토콜을 통해 이루어지며 XCP가 이러한 표준으로 자리 잡았다.
먼저, XCP의 기초와 메커니즘에 대해 간단하게 설명한 다음, 적용 분야 및 캘리브레이션
추가 값에 대해 논의해 보기로 한다.
Runtime Environment
Application
Communication
PC Tool 그림 1:
Operating System 런타임 환경을 이용한
기초 통신
Upper Level
Automation System
XCP Driver
ECU 그림 2:
ASAM의 인터페이스
모델
Master
Bus
그림 3:
XCP 마스터는 여러
Slave Slave Slave Slave 개의 슬레이브와 동시에
통신을 할 수 있다.
1 XCP 프로토콜의 기초
14 1 XCP 프로토콜의 기초
Simulink
Slave
Prototype or
ECU Hardware
Slave
Measurement/
XCP Calibration
Master Slave Hardware*
PC
EXE/DLL
Slave
그림 5:
HIL/SIL Systems
XCP 슬레이브는
Slave 다양한 런타임
환경에서 사용할
* Debug Interfaces, Memory Emulator, ...
수 있다.
16 1 XCP 프로토콜의 기초
메모리 기초
// Pseudo-code representation
a = 5;
b = 2;
y = a * x + b;
XCP 기초 요약
0xFD EV
0xC0 0xFC SERV
0xBF 0xFB
absolute or absolute or
relative relative
....
....
그림 7: XCP 패킷 식별자(PID) 개요
20 1 XCP 프로토콜의 기초
XCP Master
XCP Driver
CTO DTO
CMD RES ERR EV SERV DAQ STIM
1.1.1 식별 필드
XCP Packet
Identification Field 그림 9:
메시지 식별
CTO를 전송할 때 PID 필드는 CMD나 RES 또는 다른 CTO 패킷을 식별하기에 충분하다.
그림 7은 마스터에서 슬레이브로 보내는 명령이 0xC0~0xFF의 PID를 이용하고 있는 것을
보여 준다. XCP 슬레이브는 마스터에게 0xFC~0xFF의 PID를 이용해 응답하거나 통지를
보낸다. 이에 따라 개별적으로 보낸 CTO에도 고유 PID를 할당할 수 있게 된다.
DTO를 전송할 때에는 식별 필드의 다른 요소들도 사용된다. (제1.3.4절 "DAQ와 STIM에
대한 XCP 패킷 주소 지정" 참조)
1.1.2 타임스탬프
XCP Packet
1.1.3 데이터 필드
XCP Packet
마지막으로, XCP 패킷에는 데이터 필드에 저장된 데이터도 들어 있다. CTO 패킷의
경우, 데이터 필드에는 상이한 명령어에 대한 특정 파라미터가 들어 있다. DTO 패킷에는
슬레이브에서 보낸 측정값과 마스터에서 이 값을 보낸 시점이 들어 있다.
1.2 CTO 교환
CTO는 마스터에서 슬레이브로 명령을 보내거나 슬레이브에서 마스터로 응답을 보낼 때
사용한다.
명령어(CMD):
위치 종류 설명
0 BYTE Command Packet Code CMD
1..MAX_CTO-1 BYTE Command specific Parameters
긍정적 응답:
위치 종류 설명
0 BYTE Command Positive Response Packet Code = RES 0xFF
1..MAX_CTO-1 BYTE Command specific Parameters
1.2 CTO 교환 23
부정적 응답:
위치 종류 설명
0 BYTE Error Packet Code = 0xFE
1 BYTE Error code
2..MAX_CTO-1 BYTE Command specific Parameters
마스터 à 슬레이브: 접속
슬레이브 à 마스터: 긍정적 응답
접속 명령어:
위치 종류 설명
0 BYTE Command Code = 0xFF
1 BYTE Mode
00 = Normal
01 = user defined
Response k MAX_BS
Response k
1.2.2 CMD
PID DATA
Data Field
Identification Field
Timestamp Field
empty for CTO
그림 13: CTO 패킷 구조의 개요
또한, XCP 는 구현하는 데 확장성이 높아서 모든 명령어를 구현할 필요가 없다. A2L
파일에는 XCP IF_DATA라는 CMD들이 열거되어 있다. A2L 파일의 정의와 슬레이브에
서 구현된 내용에 차이가 있는 경우, 마스터는 슬레이브의 반응에 따라 슬레이브가 해당
명령어를 지원하는지를 확인할 수 있다. 마스터가 슬레이브에서 구현하지 않은 명령어
를 보낸 경우에는 슬레이브가 ERR_CMD_UNKNOWN을 보내 확인하고 더 이상의 조치를
하지 않는다. 이에 따라 마스터는 해당 슬레이브에서 선택사항인 명령어가 구현되지 않았
음을 신속하게 알 수 있다.
명령어에는 다른 파라미터도 포함되어 있다. 프로토콜 레이어의 규격에 대한 상세한 내용은
ASAM XCP 파트 2 프로토콜 레이어 규격에서 확인할 수 있다.
표준 명령어:
명령어 PID 옵션
CONNECT 0xFF No
DISCONNECT 0xFE No
GET_STATUS 0xFD No
SYNCH 0xFC No
GET_COMM_MODE_INFO 0xFB Yes
GET_ID 0xFA Yes
SET_REQUEST 0xF9 Yes
GET_SEED 0xF8 Yes
UNLOCK 0xF7 Yes
SET_MTA 0xF6 Yes
UPLOAD 0xF5 Yes
SHORT_UPLOAD 0xF4 Yes
BUILD_CHECKSUM 0xF3 Yes
TRANSPORT_LAYER_CMD 0xF2 Yes
USER_CMD 0xF1 Yes
캘리브레이션 명령어:
명령어 PID 옵션
DOWNLOAD 0xF0 No
DOWNLOAD_NEXT 0xEF Yes
DOWNLOAD_MAX 0xEE Yes
SHORT_DOWNLOAD 0xED Yes
MODIFY_BITS 0xEC Yes
페이지 스와핑:
명령어 PID 옵션
SET_CAL_PAGE 0xEB No
GET_CAL_PAGE 0xEA No
GET_PAG_PROCESSOR_INFO 0xE9 Yes
GET_SEGMENT_INFO 0xE8 Yes
GET_PAGE_INFO 0xE7 Yes
SET_SEGMENT_MODE 0xE6 Yes
GET_SEGMENT_MODE 0xE5 Yes
COPY_CAL_PAGE 0xE4 Yes
1.2 CTO 교환 27
플래시 프로그래밍:
명령어 PID 옵션
PROGRAM_START 0xD2 No
PROGRAM_CLEAR 0xD1 No
PROGRAM 0xD0 No
PROGRAM_RESET 0xCF No
GET_PGM_PROCESSOR_INFO 0xCE Yes
GET_SECTOR_INFO 0xCD Yes
PROGRAM_PREPARE 0xCC Yes
PROGRAM_FORMAT 0xCB Yes
PROGRAM_NEXT 0xCA Yes
PROGRAM_MAX 0xC9 Yes
PROGRAM_VERIFY 0xC8 Yes
1.2.3 RES
위치 종류 설명
0 BYTE Packet Identifier = RES 0xFF
1..MAX_CTO-1 BYTE Command response data
1.2.4 ERR
위치 종류 설명
0 BYTE Packet Identifier = ERR 0xFE
1 BYTE Error code
2..MAX_CTO-1 BYTE Optional error information data
1.2.5 EV
위치 종류 설명
0 BYTE Packet Identifier = EV 0xFD
1 BYTE Event code
2..MAX_CTO-1 BYTE Optional event information data
1.2.6 SERV
위치 종류 설명
0 BYTE Packet Identifier = SERV 0xFC
1 BYTE Service request code
2..MAX_CTO-1 BYTE Optional service request data
A) 파라미터를 ECU에 저장
RAM에 있는 변경된 데이터는 예를 들어 ECU의 EEPROM에 저장할 수 있다. 이 작업은
ECU를 램프 다운(ramping down)할 때 자동으로 또는 사용자에 의해 수동으로 저장할 수
있다. 여기서 전제조건은 데이터를 슬레이브의 비휘발성 메모리에 저장할 수 있어야 한다.
ECU에는 이에 상응하는 것으로 EEPROM이나 플래시가 있다. 그러나 수천 개의 파라미터
를 가진 ECU에서는 사용하지 않는 EEPROM 메모리 공간을 제공하기 힘들어서 이 방법은
거의 사용되지 않는다.
그림 17:
A2L 파일에서 구한
"Triangle" 파라미터의
주소 정보
1.3.2 DAQ 측정 방법
10
8
6
X 4
2
0
10
8
6
Y 4
2
0
E1 E1 E1
그림 19:
Read sensor X Calculate Y = X
ECU 내의 이벤트
그림 20:
A2L의 이벤트 정의
36 1 XCP 프로토콜의 기초
그림 21:
A2L내의 가능한
이벤트에 "Triangle" 할당
그림 21은 "Triangle" 파라미터를 원칙적으로 1 ms, 10 ms, 100 ms의 이벤트에서 측정할
수 있다는 것을 보여주고 있다. 기본 설정 값은 10 ms이다.
그림 22: 각 측정
파라미터에 대한 이벤트
(측정 모드) 선택
측정한 신호를 구성한 후에 사용자는 측정을 시작한다. XCP 마스터는 원하는 측정 파라미
터를 DAQ 리스트로 알려진 리스트에 열거한다. 이 리스트에는 측정한 신호가 선택된 이벤
트에 각각 할당되어 있다. 이 구성 정보는 측정을 실제로 시작하기 전에 슬레이브로 보낸
다. 그러면 해당 슬레이브는 어떤 이벤트가 발생했을 때 어떤 주소에서 데이터를 읽어 전
송해야 하는지 알게 된다. 측정 작업을 이와 같이 구성 단계와 측정 단계로 배분하는 것
은 이 장을 시작할 때 이미 언급한 바 있다.
이제 ECU의 메모리 구조의 관점에서 이 문제를 보기로 하자. 사용자는 신호를 선택하
고 이를 측정하고자 한다. 그래서 신호 값을 보내는 것은 메시지 전체를 사용할 필요가
없으므로 슬레이브에서 나온 신호는 메시지 패킷으로 결합한다. 슬레이브는 이 결합의
정의를 독립적으로 생성하지 않는데, 그렇지 않을 경우 마스터는 메시지를 수신할 때 데이터를
해석할 수 없을 것이다. 그러므로 슬레이브는 이 값을 메시지에 어떻게 배분해야 하는지에
대한 지시를 마스터로부터 받는다.
RAM Cells
ODT
0 address, length
1 address, length
2 address, length
3 address, length
...
PID 0 1 2 3 ...
그림 24:
ODT: DAQ DTO로
RAM 주소 할당
ODT는 XCP 프로토콜의 DAQ 리스트에 결합한다. 각 DAQ 리스트에는 다수의 ODT가
포함되며, 이는 하나의 이벤트에 배정된다.
정적인 DAQ 리스트에서는 이 정의가 ECU 코드에 설정되어 있으며, A2L에 기술되어 있다.
그림 26은 정적인 DAQ 리스트가 정의되어 있는 A2L 파일의 발췌본을 보여주고 있다.
그림 26:
정적인 DAQ 리스트
A2L 파일은 ECU의 내용에 정합한다. 정적인 DAQ 리스트의 경우, DAQ 리스트의 수와 이들
각각이 싣고 있는 ODT 리스트는 ECU에 어플리케이션을 다운로드하여 정의한다. 만약
사용자가 한 이벤트에서 할당된 DAQ 리스트에 실린 것보다 많은 수의 신호를 측정하려고
시도한다면, ECU의 슬레이브는 이 요구사항을 충족시킬 수 없으며, 이를 구성하려는 시도는
오류를 일으키게 될 것이다. 다른 DAQ 리스트가 아직 사용 가능해 실제로 전송 능력이
있는지는 상관이 없다.
MIN_DAQ + DAQ_COUNT
DAQ1
DAQ0
AQ
_D
OC
ALL
ALLOC_OD
T_ENTRY
ODT_ENTERIES_COUNT
ALLOC_ODT
GRANULARITY_ODT_ENTRY_SIZE_DAQ
그림 27:
ODT_COUNT
동적인 DAQ 리스트
XCP 캘리브레이션 방법에 대해서는 이미 CTO 교환에 대한 장에서 소개한 바 있다. 이러한
캘리브레이션 유형은 모든 XCP 드라이버에 존재하고 있으며, ECU의 캘리브레이션 객체에
대한 근간을 이루고 있다. 그러나 캘리브레이션 명령어를 보내는 일과 ECU내의 이벤트
사이에는 동기화가 이루어지지 않는다.
CTO를 전송하는 중에는 패킷을 식별하는 데 PID를 사용하는 것으로도 충분하다. 그러나
이 방식은 측정값을 전송하는 데에는 충분하지 않다. 다음 그림은 DTO 전송 시의 주소 지
정 방식에 대한 개요를 보여주고 있다.
PID
PID DAQ TS
PID DAQ TS
그림 29:
PID FILL DAQ TIMESTAMP DATA
DTO 전송을 위한
XCP 패킷의 구조
Identification Field
PID
그림 30:
절대 ODT값을 가진
absolute ODT number
식별 필드
Identification Field
PID DAQ
그림 31:
absolute DAQ List number 상대 ODT 수와
절대 DAQ 수를 갖는
relative ODT number
ID 필드(1바이트)
Identification Field
PID DAQ
그림 32:
absolute DAQ list number 상대 ODT 수와
relative ODT number 절대 DAQ 수를 갖는
ID 필드(2바이트)
44 1 XCP 프로토콜의 기초
Identification Field
1.4.1 CAN
Host Host
CAN Interface CAN Interface
Tx Rx Tx Rx
Buffer Buffer Buffer Buffer
Acceptance Acceptance
Test Test
CAN
Acceptance Acceptance
Test Test
Rx Tx Rx Tx
Buffer Buffer Buffer Buffer
CAN Interface CAN Interface
Host Host
그림 35:
CAN Node C CAN Node D
CAN 네트워크의 예
CANape Trace Window에서 발췌한 내용에서는 "ID"열에 사용한 CAN 식별자를 보여주고
있다. 이 예에서는 단지 2개의 다른 식별자가 사용되었다. 마스터에서 슬레이브로 보내는
(Tx 방향) 메시지의 ID로 554를 사용하고, 슬레이브에서 마스터로 보내는 (Rx방향) 메시지의
ID로 555를 사용했다.
1.4 XCP 전송 레이어 47
CAN 버스는 메시지당 최대 8바이트를 전송한다. 그러나 XCP의 경우에는 사용한 명령어나
발송한 응답에 대한 정보가 필요하다. 이 정보의 CAN 데이터의 첫 번째 바이트에 실리게
된다. 이 말은 데이터를 전송할 때 CAN 메시지당 7바이트를 사용할 수 있다는 뜻이다.
1.4.2 CAN FD
CAN FD(가변 데이터 전송속도를 지원하는 CAN)는 Robert Bosch사에서 개발한 CAN 프
로토콜의 확장 기능이다. 이 확장 기능은 유효 데이터의 크기를 8바이트에서 64바이트로
늘렸다는 점에서 CAN과 차이가 난다. CAN FD는 도한 유효 데이터를 보다 빠른 전송속
도로 보낼 수 있는 옵션을 제공한다. 중재 단계가 끝난 후에는, 데이터를 중재 단계 때보
다 빠른 속도로 전송할 수 있다. 이 때문에 CAN 개발에서 취득한 귀중한 경험을 그대로
살리면서도 자동차 네트워크에 보다 넓은 대역폭을 제공할 수 있다.
XCP-on-CAN-FD 규격은 XCP 표준 버전 1.2.0(2013년 6월)의 XCP-on-CAN 기술서에
정의되어 있다.
XCP on CAN FD를 사용할 때에는 A2L 파일에서 이차 전송속도를 유효 데이터로 정의한
경우를 가정한 것이다. 이런 작업은 사용자에게는 완전히 투명하며, 사용자는 A2L을 완전히
파라미터화 시키게 된다.
XCP 마스터의 측정방식을 설정할 때에는 패킷의 최대 길이를 고려해야 하며, 사용자는 다른
설정값은 건드릴 필요가 없다.
CAN FD는 CANape 버전 12.0 이상에서 지원한다. Vector 사의 CAN 하드웨어 중 "VN"으로
시작하는 제품은 모두 CAN FD 전송 프로토콜을 지원한다.
50 1 XCP 프로토콜의 기초
1.4.3 FlexRay
CH A
CH B
그림 39: 노드 K와 노드 L은 중복적으로 상호접속됨
그림 40: 슬롯 정의에 의한 통신
1.4 XCP 전송 레이어 51
스케줄링은 기술 파일에 통합되어 있다. 이 파일은 CAN의 경우처럼 DBC 파일은 아니고
FIBEX 파일이다. FIBEX는 "필드 버스 교환 포맷(Field Bus Exchange Format)"을 말하며,
다른 버스 시스템용으로도 사용할 수 있다. 그러나 현재 이 포맷의 사용은 실질적으로
FlexRay 버스 기술에 국한되어 있다. FIBEX는 XML 포맷이며, XCP on FlexRay 규격은
FIBEX 버전 1.1.5와 FlexRay 규격 버전 2.1에 연관되어 있다.
Cycles
Slot ECU Channel
0 1 2 3 4 5 6 ... 63
A b [rep : 1 ] b [rep : 1 ] b [rep : 1 ] b [rep : 1 ] b [rep : 1 ] b [rep : 1 ] b [rep : 1 ] b [rep : 1 ]
1 Node K
Static Segment
A
6
Node K B o [rep : 1 ] o [rep : 1 ] o [rep : 1 ] o [rep : 1 ] o [rep : 1 ] o [rep : 1 ] o [rep : 1 ] o [rep : 1 ]
Node M A t [rep : 2 ] p [rep : 4 ] t [rep : 2 ] t [rep : 2 ] p [rep : 4 ] t [rep : 2 ]
B
Node L A u [rep : 4 ] u [rep : 4 ]
7
Node L B v [rep : 8 ]
A
Node O B w [rep : 4 ] w [rep : 4 ]
LPDU_ID
... Channel A
Cycle ID
.. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
. . . . . . . . . .... . . . . .
..
.
... ...
... ...
...
그림 42:
Slot ID
FlexRay LPDU의 예
ECU 내부의 파라미터에 액세스하기 위해서는 A2L 기술 파일이 필요하다. ECU 내에서 주소를
가진 객체는 이 파일에서 정의된다. 또한, FIBEX 파일도 필요한데, 그래야 XCP 마스터가
어떤 LPDU를 보내야 하는지 또 XCP 슬레이브가 응답하면서 어떤 LPDU를 보내는지 알
수 있다. XCP 마스터와 XCP 슬레이브 사이의 통신은 두 개의 파일을 결합하는 경우, 즉
A2L 파일이 FIBEX 파일을 참조하도록 하는 경우에만 기능한다.
1.4 XCP 전송 레이어 53
...
/begin XCP_ON_FLX
...
"XCPsim.xml"
"Cluster_1"
...
XCP-dedicated LPDU_IDs
... Channel A
Cycle ID
.. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
. . . . . . . . . .... . . . . .
..
.
... ...
... ...
... 그림 43:
XCP 통신을
Slot ID
LPDU로 할당
1.4.4 Ethernet
1.4.5 SxI
Checksum (CS)
그림 45: XCP-on-SxI 패킷
1.4.6 USB
현재, XCP on USB는 실용적인 중요성을 지니지 못하고 있다. 그러므로, 이에 대해서는 별
도의 언급을 더는 하지 않을 것이다. 이에 대해서는 ASAM XCP onUSB 파트 3 전송 레이어
규격을 참고하도록 하라.
1.4.7 LIN
페이지 스와핑에 대한 XCP 명령어를 좀 더 이해하기 위해, 여기서 섹터와 세그먼트, 페이지의
개념을 다시 한 번 설명하겠다.
XCP access
Segmemt 1
ECU access
Segmemt 0
Segment 0
Page 0
Sector 1
Sector 0
address
그림 46:
메모리 예
1.5 XCP 서비스 57
그림 47:
플래시 영역의
드라이버 설정 예
1.5 XCP 서비스 59
플래싱은 "플래시 커널"이라고 부르는 것을 이용해 구현한다. 플래시 커널은 플래싱을 실제로
실행하기 전에 슬레이브의 RAM 영역에 보내는 실행 코드이다. 이 커널은 XCP 마스터와의
통신도 처리한다. 여기에는 플래시 메모리를 소거하는 알고리즘도 포함될 수 있다. 보안과
공간 상의 이유로 이 코드는 ECU의 플래시 메모리에 영구적으로 저장되지 않는 경우가
많다. 어떤 경우에는 예를 들어 체크섬 계산이나 기타 비슷한 계산을 해야 할 필요가
있을 때, 컨버터를 사용하기도 한다.
PROGRAM_START: 플래시 절차 시작
이 명령어는 플래시 프로세스의 시작을 나타낸다. ECU가 플래싱을 허용할 수 없는 상
태에 있다면(예: 차량 속도 > 0), XCP 슬레이브는 오류를 표시해야 한다. 실제 플래시
프로세스는 슬레이브가 PROGRAM_START의 성공 여부를 확인할 때까지 시작하지 않는다.
1.5.4 슬레이브 자동 탐지
GET_COMM_MODE_INFO
이 명령어에 대한 응답에서는 마스터에게 슬레이브의 다양한 통신 옵션에 대한 정보를
제공한다. 예를 들어, 슬레이브가 블록 전송이나 인터리브 모드를 지원하는지, 또는 마스터가
이러한 모드에서 요청을 할 때 최소 시간 간격이 어떻게 되는지 등의 정보를 제공한다.
GET_STATUS
이 요청에 대한 응답에서는 슬레이브의 현황 정보를 모두 제공한다. 어떤 자원을 지원하는가
(캘리브레이션, 플래싱, 측정 등)? 현재 진행 중인 메모리 활동은 무슨 유형인가(DAQ
리스트 구성 등)? DTO(DAQ, STIM)를 바로 교환할 수 있는가?
GET_DAQ_PROCESSOR_INFO
마스터는 슬레이브의 한계를 알 수 있는 사전정의된 DAQ 리스트의 수, 가용한 DAQ 리스트
및 이벤트 등 일반적인 정보를 얻게 된다.
GET_DAQ_RESOLUTION_INFO
이 명령어로 DAQ와 STIM에 대한 ODT의 최대 파라미터 수, ODT 입력 단위, 타임스탬프
전송시의 바이트 수 등, 슬레이브의 DAQ 능력에 대한 기타 정보를 교환한다.
GET_DAQ_EVENT_INFO
이 명령어를 사용할 때 ECU 이벤트당 1번씩 호출이 이루어진다. 여기서 전송되는 정보는
DAQ나 STIM, DAQ/STIM에 대해 이벤트를 사용할 수 있는지, 이벤트가 주기적으로 발생하
는지, 그렇다면 사이클 주기는 얼마인지 등에 관한 것이다.
1.5 XCP 서비스 61
1.5.5 업로드/다운로드/플래싱을 위한 블록 전송 모드
Master Slave
Request k
Part1
Part2
MIN_ST
Part3
MAX_BS
Response k
Request k+1
그림 48:
Time
블록 전송 모드 예
2 ECU 기술 파일 - A2L
66 2 ECU 기술 파일 - A2L
그림 49:
캘리브레이션 창
내의 파라미터
그림 50: 시간에 따른 신호 응답
/begin MEASUREMENT Shifter_B3 "Single bit signal (bit from a byte shifting)"
UBYTE HighLow 0 0 0 1
READ_WRITE
BIT_MASK 0x8
BYTE_ORDER MSB_LAST
ECU_ADDRESS 0x124C02
ECU_ADDRESS_EXTENSION 0x0
FORMAT "%.3"
/begin IF_DATA CANAPE_EXT
100
LINK_MAP "byteShift" 0x124C02 0x0 0 0x0 1 0x87 0x0
DISPLAY 0 0 20
/end IF_DATA
/end MEASUREMENT
/begin AXIS_DESCR
FIX_AXIS NO_INPUT_QUANTITY BitSlice.CONVERSION 8 0 7
EXTENDED_LIMITS 0 7
READ_ONLY
BYTE_ORDER MSB_LAST
FORMAT "%.0"
FIX_AXIS_PAR_DIST 0 1 8
/end AXIS_DESCR
/begin IF_DATA CANAPE_EXT
100
LINK_MAP "map3_8_8_uc" 0xE0338 0x0 0 0x0 1 0x87 0x0
DISPLAY 0 0 255
/end IF_DATA
FORMAT "%.3"
/end CHARACTERISTIC
ASCII 텍스트는 이해하기 쉽지 않다. ASCII 텍스트의 구조에 대한 설명은 제2장의 ASAM
XCP 파트 2 프로토콜 레이어 규격에서 찾을 수 있다.
다음에는 A2L 파일을 어떻게 생성하는지 설명하도록 하겠다. A2L의 실제 내용과 의미에
초점을 맞추도록 하며, A2L 기술언어의 세부 내용은 에디터에 맡기도록 하겠다. A2L 에디터는
여기서 사용하는 CANape와 함께 제공된다.
GET_DAQ_PROCESSOR_INFO
DAQ 리스트에 대한 일반 정보 확인: MAX_DAQ, MAX_EVENT_CHANNEL, MIN_DAQ
GET_DAQ_RESOLUTION_INFO
DAQ/STIM, 시간 간격 정보 등 ODT 입력값의 최대 파라미터
GET_DAQ_EVENT_INFO (EVENT_CHANNEL_NUMBER)
특정 시간 간격에 대한 정보 제공: 시간 간격의 명칭 및 해상도, 이 시간 간격에 배정될
수 있는 DAQ 리스트의 수 ....
GET_DAQ_LIST_INFO (DAQ_LIST_NUMBER)
선택한 DAQ 리스트에 대한 정보 제공: MAX_ODT, MAX_ODT_ENTRIES는 사전 정의된
DAQ 리스트로 존재 ...
72
3 캘리브레이션 개념 73
3 캘리브레이션 개념
74 3 캘리브레이션 개념
캘리브레이션 개념은 다음과 같은 질문과 관련이 있다. 파라미터가 초기에 플래시 메모리
에서 RAM으로 찾아갈 수 있을까? 마이크로컨트롤러가 RAM에 액세스하는 경로를 다시
설정할 수 있을까? RAM에 동시에 저장할 수 있는 양보다 많은 파라미터가 있을 경우에는
어떻게 해결해야 하는가? 파라미터를 플래시 메모리에 다시 복사하려면 어떻게 해야
하는가? 파라미터에 가한 변경은 지속적인가? 다시 말해 ECU를 끌 경우에는 보존되는가?
투명한 캘리브레이션 개념과 불투명한 캘리브레이션 개념에 대해 구분해 보자. 투명하다는
것은 특정 캘리브레이션 툴이 위의 질문들에 대해 관여할 필요가 없다는 것으로, 왜냐하면
모든 필요한 메커니즘이 ECU에 구현되어 있기 때문이다.
다음에 몇 가지 방법에 대해 간략하게 소개해 보겠다.
C 코드 예제:
C 코드 예제:
C 코드 예제:
여기서는 "인수" 파라미터를 초기값이 0.5인 RAM 변수로 정의했다. 코드를 컴파일하고
링크하는 도중에는 메모리 공간을 RAM에 "인수" 객체용으로 유보하고 관련 RAM 주소는
링커-맵 파일에 나타난다. 초기값 0.5는 플래시 메모리와 헥스 파일의 해당 위치에 저장
된다. 플래시 메모리에 든 초기값의 주소는 링커의 파라미터 생성과정에 의해 정의하지만,
이 값은 링커-맵 파일에 나타나지는 않는다.
FLASH RAM
Calibration RAM
그림 51:
RAM의 초기
Parameters
파라미터 설정
캘리브레이션용 RAM은 완전히 인접한 RAM 영역으로 구성할 필요가 없다. 캘리브레이션용
RAM은 여러 개의 영역에 분산시키거나 원하는 방법으로 분산시킬 수도 있다. 그러나 이
방법은 불과 몇 개의 인접하는 RAM 영역에서 파라미터를 구성하고 상태 변수나 중간 결과
등과 같은 기타 RAM 파라미터로부터 해당 파라미터를 격리하는데 큰 장점이 있다. 이는 캘
리브레이션용 RAM을 오프라인에서 헥스 파일로 캘리브레이션하도록 한 경우에 특히 중요
하다. 사용자의 요청에 따라 오프라인 캘리브레이션에서 온라인 캘리브레이션으로 전환
하는 동안, 캘리브레이션 툴은 오프라인에서 수정한 파라미터를 탑재할 수 있어야 한다.
3.2 RAM 파라미터 77
ECU에 접속 CONNECT
XCP 마스터를 RAM 페이지에 접속 SET_CAL_PAGE XCP to RAM
체크섬 계산 CALC_CHECKSUM
이 개념에서는 RAM 페이지와 플래시 페이지 사이의 페이지 스와핑도 무제한적으로 가능하다.
파라미터는 그 기능에 따라 플래시 메모리 내에 조직화시켜야 하며, 이에 따라 사용 가능한
RAM 블록은 가능한 한 효율적으로 사용할 수 있게 된다. 소프트웨어 개발자는 같은 주제를
갖는 파라미터가 인접한 메모리 영역에 놓이도록 지정한다. 파라미터들을 RAM에 복사한
후, 특정 기능을 위해 조율된 이 파라미터들은 사용 준비가 된다.
80 3 캘리브레이션 개념
3.5.1 단일 포인터 개념
Parameters 그림 52:
부팅 후 처음 상황
그림 53:
Parameters 포인터 변경과
RAM에 복사하기
예:
캘리브레이션용 RAM의 크기는 400바이트이다. 다음 파라미터로 소프트웨어에 4개의
구조를 정의한다.
A 구조: 250바이트
B 구조: 180바이트
C 구조: 120바이트
D 구조: 100바이트
3.5.2 이중 포인터 개념
FLASH RAM
Pointertable FLASH Pointertable RAM
그림 55:
Tablepointer
이중 포인터 개념
4 XCP의 어플리케이션 영역
86 4 XCP의 어플리케이션 영역
Simulink
Slave
Prototype or
ECU Hardware
Slave
Measurement/
XCP Calibration
Master Slave Hardware*
PC
EXE/DLL
Slave
HIL/SIL Systems
Slave 그림 56:
어플리케이션 영역과
* Debug Interfaces, Memory Emulator, ...
어플리케이션 사례
Manipulated Disturbance
Offset Variable Variable
자동차를 개발하는 상황에서 컨트롤러란 ECU를 말하고 플랜트는 전송장치, 엔진, 사이드
미러 등과 같이 제어가 가능한 물리적 시스템을 말한다.
Simulink
Simulink
그림 59:
Simulink 시뮬링크 모델의 측정/
XCP Server
A2L 캘리브레이션 툴로서의
CANape
Simulink
Code generation
Simulink
Code generation
Controller Model
A2L CANape Windows DLL
그림 61:
SIL 개발 플랫폼으로서의
CANape
4.3 HIL: Hardware in the Loop 89
Controller Model
HIL Platform
I/O
Plant Model
그림 62:
ECU
HIL 솔루션
XCP의 최적화는 또 하나의 ECU만 추가하면 되니까 사소한 것으로 보인다. 전체적인
시스템은 다음과 같다:
Controller Model
A2L
HIL Platform
I/O
CANape
Plant Model
그림 63:
HIL 측정/캘리브레이션
ECU
툴로서의 CANape
CANoe RT User PC
Ethernet
CANoe RT Server
CAN
LIN
Plant Model
MOST A2L
FlexRay
Digital I/O Analog I/O
XCP
CANape
그림 64:
HIL 시스템으로서의
ECU
CANoe
Ethernet
CANoe RT Server
CAN
LIN
Plant Model XCP
MOST
FlexRay
Digital I/O Analog I/O
그림 65:
CANoe를 HIL 시스템
으로 사용 시, ECU에
ECU
XCP로 액세스
여기서 플랜트 모델은 CANoe의 실시간 서버에서 구동된다. 동시에 ECU에 XCP로 액세스
하는 것도 CANoe에서 할 수 있다. 이러한 능력은 사용자에게 플랜트와 컨트롤러에 동시에
액세스할 수 있는 툴을 마련해 주는 것이다.
4.4 RCP: Rapid Control Prototyping 91
Controller Model
Plant
요약하자면, ECU 전체를 컨트롤러용 런타임 환경으로 사용하는 경우, 플랜트용 하드웨어와
소프트웨어 인프라가 존재한다는 점은 장점으로 작용하지만, 단점으로는 과도한 복잡성을
들 수 있다.
바이패싱 개념은 과도한 복잡성에 구애되지 않고 ECU 인프라의 장점을 최대한 활용하기
위해 개발되었다.
4.5 바이패싱
그림 68에서 ECU는 플랜트에 접속되어 있다. 필요한 I/O와 소프트웨어 컴포넌트는 ECU에
들어 있다. 바이패싱 하드웨어에서는 ECU의 버전 A에 있는 알고리즘 A1가 구동된다. A1은
이 알고리즘의 새로운 변형으로 실제 플랜트에서 시운전해 보아야 한다.
I/O
Controller Model
ECU Plant
그림 68: 바이패싱의 기본 원칙
4.5 바이패싱 93
Bypassing Hardware
Algorithm A1
2.
Bypassing
Coordinator
3.
1. XCP 4.
Algorithm A
ECU 그림 69:
바이패싱 흐름
XCP
I/O
Controller Model
ECU
Plant
Para- MDF
meter test drive
Application
2. Start Simulink/
CANape 3. Send test drive data DLL
4. Measurement data
Slave
그림 71:
New 가상 ECU로
MDF 캘리브레이션
사이클 단축
96 4 XCP의 어플리케이션 영역
Start Start
그림 72:
New software version 가상 ECU를 이용한
프로세스 흐름
5 XCP 구현 사례
100 5 XCP 구현 사례
Application
ApplXcpGetPointer
XcpBackground
XcpEvent
Layer Interface
XCP Protocol Layer
XcpSendCallback
XcpCommand
ApplXcpSend
Physical Layer
그림 73:
Bus ECU 코드에
XCP 슬레이브 결합
어플리케이션과 프로토콜 레이어 사이의 인터페이스는 4가지 함수를 가지고 구현할 수 있다.
>어
플리케이션은 XcpInit()를 이용해서 XCP 드라이버를 활성화한다. 이 기능은 시작 프로세스
도중 한 번 호출한다.
>어
플리케이션은 XcpEvent()를 이용해서 XCP 드라이버에게 특정 이벤트가 발생했음을
알린다. (예: "계산 사이클 끝에 도달했습니다" 등)
>X
cpBackground()를 호출하여 XCP 드라이버가 백그라운드에서 특정 활동을 실행하도록
한다. (예: 체크섬 계산하기 등)
>A
2L 파일의 주소는 항상 40비트 값으로 정의되므로(32 비트는 주소, 8비트는 주소 확장자),
XCP 드라이버는 A2L에 정합하는 주소에서 포인터를 얻기 위해 ApplXcpGetPointer()
함수를 사용한다.
5.1 함수 설명
과제:
XCP 드라이버를 초기화한다.
설명:
어플리케이션은 XCP 드라이버를 XcpInit()로 활성화시킨다. 이 명령어는 다른 XCP 드라이버
함수를 호출하기 전에 딱 한 번 실행해야 한다.
과제:
어플리케이션은 XCP 드라이버에게 어떤 이벤트가 발생했는지 통지한다. 여기서 각각의
이벤트에 대해 고유 이벤트 번호가 할당된다.
설명:
측정/캘리브레이션 툴의 측정 구성을 설정할 때 사용자는 어떤 측정값을 어떤 이벤트와
동기화시켜 획득할지를 선택한다. 측정값과 이벤트에 관한 정보는 A2L에서 가져온다. 원하는
측정 구성을 DAQ 리스트의 형태로 XCP 드라이버로 보낸다.
과제:
XCP 드라이버의 백그라운드 작업을 실행한다.
설명:
이 함수는 백그라운드 작업이나 유휴 작업으로 주기적으로 호출된다. 이 함수는 예를 들어
체크섬을 계산할 때 XCP 드라이버를 사용하는데, 왜냐하면 XcpCommand()의 긴 체크섬을
계산하는 데에는 엄청나게 오랜 시간이 소요되기 때문이다. XcpBackground()을 호출
할 때마다 256바이트씩 체크섬이 부분적으로 계산된다. 그러므로 체크섬 계산 시간은
XcpBackground()의 호출 빈도에 따라 결정된다. 호출 빈도나 주기에 대한 다른 요구사항은
없다. 반환 값 1은 현재 체크섬 계산이 진행 중임을 나타낸다.
5.1 함수 설명 103
과제:
XCP 명령어를 해석한다.
설명:
이 함수는 전송 레이어가 XCP 프레임을 수신할 때마다 호출해야 한다. 파라미터는 프레임에
대한 포인터이다.
과제:
전송 레이어에 보낼 프레임을 전송한다.
설명:
이 호출로 프로토콜 레이어는 마스터로 전송하기 위해 메시지를 전송 레이어로 보낸다.
XcpSendCallBack의 호출은 프로토콜과 전송 레이어 사이에 핸드세이크 방식으로 구현
된다.
과제:
프로토콜 레이어는 이 콜백(callback)을 사용해서 전송 레이어에 ApplXcpSend()로 전송한
마지막 메시지가 성공적으로 전달되었다고 통지한다.
설명:
이 프로토콜 레이어는 XcpSendCallBack()에서 이전 메시지가 성공적으로 전달되었다고
표시할 때까지 ApplXcpSend() 명령어를 호출하지 않는다. XcpSendCallBack()는 XCP
드라이버가 유휴 모드일 때는 0 값(FALSE)을 보낸다. 보낼 프레임이 더 있는 경우에는
XcpSendCallBack()에서 ApplXcpSend()를 직접 호출한다.
과제:
A2L에 정합하는 주소를 포인터로 전환한다.
설명:
이 기능은 XCP 마스터가 보낸 A2L에 정합하는 40비트 주소(32비트 주소 + 8비트 주소
확장자)를 유효한 포인터에 매핑한다. 주소 확장자는 예를 들어 다른 주소 영역이나 메모리
유형을 구분하는 데 사용할 수 있다.
104 5 XCP 구현 사례
/* Enable calibration */
#define XCP_ENABLE_CALIBRATION
#define XCP_ENABLE_SHORT_UPLOAD
저자
Andreas Patzer
Rainer Zaiser
약어 표
참고자료
XCP는 ASAM에서 규정했다.
이 프로토콜과 ASAM에 대한 자료는 www.asam.net에서 찾을 수 있다.
웹주소
표준화 위원회:
> ASAM, XCP 프로토콜 별 문서와 A2L 규격은 www.asam.net에서 찾을 수 있다.
개발 소프트웨어 공급업체:
> 매스웍스, 매트랩이나 시뮬링크 및 시뮬링크 코더에 대한 정보는
www. mathworks.com에서 찾을 수 있다.
> 벡터, CANape의 시험판, XCP 드라이버(기본버전)의 무료 다운로드, ECU
캘리브레이션에 관한 종합 정보, 시험 및 시뮬레이션에 대한 정보는
www.vector.com에서 찾을 수 있다.
110 그림 목차
그림 목차
그림 1: 런타임 환경을 이용한 기초 통신 8
그림 2: ASAM의 인터페이스 모델 9
그림 3: XCP 마스터는 여러 개의 슬레이브와 동시에 통신을 할 수 있다. 10
그림 4: XCP 프로토콜의 프로토콜 레이어와 전송 레이어 구분 14
그림 5: XCP 슬레이브는 다양한 런타임 환경에서 사용할 수 있다 15
그림 6: XCP 패킷 19
그림 7: XCP 패킷 식별자(PID) 개요 19
그림 8: CTO/DTO를 이용한 XCP 통신 모델 20
그림 9: 메시지 식별 21
그림 10: 타임스탬프 21
그림 11: XCP 패킷의 데이터 필드 22
그림 12: XCP 프로토콜의 세 가지 모드: 표준 모드, 블록 모드, 인터리브 모드 24
그림 13: CTO 패킷 구조의 개요 25
그림 14: 캘리브레이션 프로세스 추적의 예 30
그림 15: 파라미터 세트 파일을 ECU의 RAM에 전송 31
그림 16: Hex Window 32
그림 17: A2L 파일에서 구한 "Triangle" 파라미터의 주소 정보 33
그림 18: CANape의 Trace window 내의 폴링 통신 34
그림 19: ECU내의 이벤트 35
그림 20: A2L의 이벤트 정의 35
그림 21: A2L내의 가능한 이벤트에 "Triangle" 할당 36
그림 22: 각 측정 파라미터에 대한 이벤트 (측정 모드) 선택 36
그림 23: DAQ 측정 시 CANape Trace window의 예 37
그림 24: ODT: DAQ DTO로 RAM 주소 할당 38
그림 25: 3개의 ODT를 가진 DAQ 리스트 39
그림 26: 정적인 DAQ 리스트 39
그림 27: 동적인 DAQ 리스트 40
그림 28: DAQ와 STIM을 위한 이벤트 41
그림 29: DTO 전송을 위한 XCP 패킷의 구조 42
그림 30: 절대 ODT값을 가진 식별 필드 43
그림 31: 상대 ODT수와 절대 DAQ 수를 갖는 ID 필드 (1바이트) 43
그림 32: 상대ODT수와 절대DAQ수를 갖는 ID 필드 (2바이트) 43
그림 33: 상대ODT수와 절대DAQ수, 그리고 필 바이트를 갖는 ID 필드 (총 4바이트) 44
그림 34: 어떤 버스 노드가 어떤 메시지를 보냈는지에 대한 정의 45
그림 35: CAN 네트워크의 예 46
그림 36: XCP on CAN 통신의 예 47
그림 37: XCP on CAN 메시지의 예 47
그림 38: CAN FD 프레임의 예 48
그림 39: 노드 K와 노드 L은 중복적으로 상호접속됨 50
그림 40: 슬롯 정의에 의한 통신 50
그림 41: FlexRay 통신 매트릭스의 예 51
그림 42: FlexRay LPDU의 예 52
그림 43: XCP 통신을 LPDU로 할당 53
그림 44: TCP/IP 또는 UDP/IP에서의 XCP 패킷 54
그림 45: XCP-on-SxI 패킷 55
그림 목차 111
그림 46: 메모리 예 56
그림 47: 플래시 영역의 드라이버 설정의 예 58
그림 48: 블록 전송 모드 예 61
그림 49: 캘리브레이션 윈도 내의 파라미터 66
그림 50: 시간에 따른 신호 응답 66
그림 51: RAM의 초기 파라미터 설정 76
그림 52: 부팅 후 처음 상황 80
그림 53: 포인터 변경과 RAM에 복사하기 81
그림 54: 각 파라미터용 포인터 테이블 81
그림 55: 이중 포인터 개념 83
그림 56: 어플리케이션 영역과 어플리케이션 사례 86
그림 57: 플랜트와 컨트롤러 86
그림 58: 시뮬링크의 MIL 87
그림 59: 시뮬링크 모델의 측정/캘리브레이션 툴로서의 CANape 87
그림 60: 시뮬링크 환경의 SIL 88
그림 61: SIL 개발 플랫폼으로서의 CANape 88
그림 62: HIL 솔루션 89
그림 63: HIL 측정/캘리브레이션 툴로서의 CANape 89
그림 64: HIL 시스템으로서의 CANoe 90
그림 65: CANoe를 HIL 시스템으로 사용 시, ECU에 XCP로 액세스 90
그림 66: HIL 솔루션으로서의 CANape 91
그림 67: RCP 솔루션 91
그림 68: 바이패싱의 기본 원칙 92
그림 69: 바이패싱 흐름 93
그림 70: 실시간 바이패싱 하드웨어로 바이패싱 및 ECU 고속 액세스 94
그림 71: 가상 ECU로 캘리브레이션 사이클 단축 95
그림 72: 가상 ECU를 이용한 프로세스 흐름 96
그림 73: ECU 코드에 XCP 슬레이브 결합 101
112 Appendix - 벡터의 XCP 솔루션
툴
>C ANape의 주요 사용영역은 ECU를 최적의 상태로 캘리브레이션하는 것이다. 이 시스템의
런타임 중에 파라미터값을 캘리브레이션하고 동시에 측정한 신호 값을 획득할 수 있다.
CANape와 ECU의 물리적 인터페이스는 (표준화된 모든 전송 프로토콜에 대해) XCP나
CCP를 통해 이루어진다.
> 필요한 A2L 기술 파일을 생성하고 관리하기 위한 완전한 툴 체인 (ASAP2 Editor를
포함한 ASAP2 Tool-Set와 CANape. ASAP2 Editor는 별도로 판매하기도 한다.)
> 테스트 및 분석 작업을 위해 ECU 내부값에 액세스할 때 CANoe.XCP를 사용
ECU 인터페이스
VX1000 측정 및 캘리브레이션 하드웨어는 ECU에 XCP-on-Ethernet 인터페이스를 갖출
수 있는 혜택을 제공한다. 이는 POD(Plug on Device) DAP, JTAG, Nexus 등을 통해
ECU가 컨트롤러에 직접적인 액세스와 연관되어 있다. POD는 데이터를 베이스 모듈로
전송하는데, 이때 베이스 모듈은 XCP 슬레이브로서 XCP on Ethernet을 통해 PC의 XCP
마스터에 데이터를 제공한다. 이를 통해 ECU 내에는 XCP 슬레이브가 별도로 필요로 하지
않게 된다. 사용자는 최대 30 Mbyte/sec의 고속 데이터 처리량과 15 µs 미만의 짧은 측정
인터벌의 혜택을 누릴 수 있다.
임베디드 소프트웨어
CAN과 FlexRay, Ethernet용으로 별도의 전송 레이어를 갖는 통신 모듈:
>X
CP Basic - www.vector.com/xcp-driver에서 무료로 다운로드할 수 있으며, XCP의
기본 기능만 갖추고 있다. XCP 프로토콜의 구성과 전송 레이어의 수정은 소스코드에서
수작업으로 한다. XCP 베이직을 사용할 때에는 코드를 프로젝트에 직접 통합시켜야
한다.
>X
CP Professional - ASAM 규격에 따른 유용한 확장툴들을 갖추고 있으며, 툴을 이용한
구성도 지원한다. 벡터의 CANbedded 베이직 소프트웨어용으로 판매된다.
>M
ICROSAR XCP - XCP 프로의 기본 기능을 갖추고 있으며, AUTOSAR 규격을 기반으로
하고 있다. 벡터의 MICROSAR 소프트웨어용으로 판매된다.
서비스
> 프로젝트에서 XCP 사용에 대한 컨설팅
> XCP와 ECU의 통합(Integration)
교육 (독일 본사 교육)
> "XCP Fundamentals Seminar"에서는 이 프로토콜의 기본 메커니즘과 모델에 대해 학습할
수 있음.
> "CANape with XCP on FlexRay Workshop"에서는 FlexRay의 기초와 XCP on FlexRay의
특수성, 특히 대역폭의 동적 관리에 대해 학습할 수 있음.
Appendix - 벡터의 XCP 솔루션 113
색인
A F
A2L 9, 10, 25, 33, 35, 39, 40, 41, 52, FIBEX 51, 52, 53
53, 57, 58, 63, 65, 66, 67, 68, 69, Flash memory 16, 17, 56, 57, 58, 59, 62
70, 88, 102, 103, 108 FLX_CHANNEL 52
Address extension 29, 33, 38, 101, 103 FLX_LPDU_ID 52
AML 25, 68, 108 FLX_SLOT_ID 52
ASAM 7, 8, 9, 55, 108 Fullpassing 92
ASAP2 Tool-Set 70
G
B GET_CAL_PAGE 25, 57
Bandwith optimization 34 GET_DAQ_PROCESSOR_INFO 44, 60, 71
Bus load 34
BYP 108 H
Bypassing 44, 92, 93, 94 HIL 86, 89, 90, 91
C L
CAN 7, 8, 14, 24, 29, 33, 38, 45, 46, 47, Linking 74, 88
51, 69, 94, 108 LPDU 52
CAN FD 48
CANape 95 M
CANoe 95 MIL 87
CANoe.XCP 95 MTA 30, 108
CCP 7, 8, 39, 45, 108
CMD 20, 25, 52, 108 O
Compiling 95 ODT 37, 38, 39, 40, 42, 43, 44, 60,
CTO 20, 21, 22, 25, 108 71, 108
CTR 54, 55, 108 OFFSET 52
CYCLE_REPETITION 52
P
D PAG 108
DAQ 22, 32, 33, 34, 35, 36, 37, 38, Page 95
39, 40, 41, 42, 43, 44, 60, 62, 71, PGM 108
93, 94, 100, 102, 108 PID 8, 19, 21, 25, 42, 108
DBC 45 Polling 33, 34, 36
DOWNLOAD 30, 31, 61
DTO 20, 21, 22, 33, 37, 38, 42, 108 R
RAM 16, 17, 18, 30, 31, 37, 38, 39,
E 58, 62, 74, 76, 79, 80, 82
ECU 9, 68, 90, 92, 93, 108 Reboot 32
EEPROM 16, 31, 62 RES 20, 21, 28, 52, 108
ERR 20, 25, 28, 108
EV 29, 108
Event 35, 39, 41, 60, 62, 71, 102
색인 115
S
Segment 57, 58
SEGMENT_NUMBER 57
SERV 29, 108
SET_CAL_PAGE 25, 57
SHORT_UPLOAD 30, 33, 61
SIL 86, 88
STIM 33, 41, 42, 44, 60, 71, 93,
94, 95, 108
Stimulation 29, 63, 95
T
Task 102
TCP/IP 53, 54, 108
U
UDP/IP 53, 54, 108
USB 55, 108
V
VN8900 95
VX 94
VX1000 95
Get more Information!
웹사이트에 더욱 상세한 정보가 있습니다.
> 뉴스
> 제품 정보
> 데모 소프트웨어
> 교육 일정
> 문의처
www.vector.com
V 2.0 9/2014