no image
XCP on Ethernet : 패킷(Packet) 구조 / CTO, DTO
네트워크 및 통신을 통해, 데이터를 주고 받기 위해서는 패킷의 구조가 정해져 있어야 합니다. XCP 역시, 다른 프로토콜들과 마찬가지로 패킷이 아래와 같이 분류되어 있습니다. 상위 분류 내용 하위 분류 CTO(Command Transfer Object) 명령어 교환 CMD(Command Packet) RES(Command Response Packet) ERR(Error) EV(Event Packet) SERV(Service Request Packet) DTO(Data Transfer Object) 데이터 교환 DAQ(Data AcQuisition) STIM(Stimulation) 하위 분류 내용 상위 분류 CMD(Command Packet) 명령어 전송 CTO(Command Transfer Object)..
2022.07.06
no image
XCP on Ethernet : 기능(PGM, CAL, DAQ, STIM)
이번에는 XCP로 수행하고자 하는 기능들이 무엇인지 알아보겠습니다. XCP 자료들을 살펴보면, 자세한 설명들이 있지만, 결국 아래와 같이 4가지 역할을 위해 XCP를 활용합니다. - PGM : 리프로그래밍 - CAL : Calibration - DAQ : 측정 - STIM : DAQ과 유사한 절차로 동작하는 Calibration PGM(Flash Programming) #블록도상에서의 PGM은 ASAM 문서에서는 Flash Programming이라 명명되어 있습니다. XCP가 아니더라도, 프로그램을 다운 받기 위해서는 메모리 주소, 프로그램 크기 등의 정보가 필요합니다. XCP에서는 이를 SECTOR로 구분하고, SECTOR는 SECTOR_NUMBER에서 참조됩니다. Flash 프로그래밍에 활용되는 주요..
2022.07.06
no image
XCP on Ethernet : Network Architecture
XCP on Ethernet을 설명하고 있는 문서들을 보면, 위와 같은 구조를 볼 수 있습니다. 처음부터 전체를 이해하려 하면, 어려울 수 있으니 XCP on Ethernet의 네트워크 아키텍처부터 정리하겠습니다. 네트워크 관점에서 보면, XCP는 크게 아래와 같이 두 가지로 분류됩니다. - XCP Master : Connection을 요청하는 역할을 수행하고 XCP 통신을 시작하는 기기로서, 일반적으로 컴퓨터 및 랩탑에서 동작합니다. - XCP Slave : Connection 요청에 따라, 응답을 하고 일반적으로 PCB에서 동작합니다. # XCP Master와 Slave는 Connection 외에도 다른 작업들도 수행합니다. 서버와 클라이언트는 네트워크 관점에서 볼 때, XCP와 반대로 동작하는 느낌..
2022.06.29
XCP on Ethernet(TCP/IP) 연결 과정 요약
XCP on Ethernet(TCP/IP)에서의 연결 과정은 크게 두 과정을 진행해야 합니다. 두 과정은 다음과 같습니다. - TCP 연결 - XCP 연결 짧게 구분하면 간단해 보이지만, 내부 동작은 나름대로의 규칙을 가지고 있습니다. 조금 더 상세한 연결 과정은 아래와 같습니다. - TCP 연결 (TCP - Client / XCP - Master) ---------------> (TCP - Server / XCP - Slave) : (TCP - SYN) (TCP - Client / XCP - Master) (TCP - Server / XCP - Slave) : (TCP - ACK) - XCP 연결 (TCP - Client / XCP - Master) ---------------> (TCP - Serve..
2021.12.28
XCP on Ethernet(TCP/IP) 데이터 통신 시스템 구조 이해
요새, XCP on Ethernet에 대해 분석해야 할 일이 생겨 관련 내용들을 정리하고 있습니다. 분석하다보니 기존에 설계되어 있는 XCP on Ethernet 데이터 통신 시스템 구조에 의문점이 생겼습니다. TCP는 Client로 설정하고 XCP는 Master로 설정되어 있었습니다. 반대편의 경우에 TCP는 Server로 설정하고 XCP는 Slave로 설정되어 있었죠. 즉, 한 쌍을 요약하자면 아래와 같은 구조입니다. (TCP - Client / XCP - Master) (TCP - Server / XCP - Slave) 저만 그렇게 생각할지 모르겠지만, Client는 Slave와 매칭되어야 하고 Server는 Master라 매칭되어야 하는게 맞지 않나 생각했습니다. 별 것 아닌 내용으로 한참을 고민..
2021.12.28
XCP 및 XCP on Ethernet 관련 사이트 정리
XCP 및 XCP on Ethernet을 공부하면서 유용했던 사이트들입니다. PiEmbSysTech 임베디드 관련 블로그이며, XCP를 처음 접하는 분들이 보기에 좋게 작성되어 있습니다. Master/Slave 연결 구조, 통신 시스템 구조, 데이터 포맷 등 중요한 부분들이 잘 정리되어 있어요. 하지만, 이 내용만 가지고 XCP를 구현하기는 조금 어렵다고 생각합니다. XCP에 대한 개요를 알아가는 용도로 활용하고, 구현을 위해서라면 표준 문서 및 다른 사이트를 이용하시는 것을 추천드립니다. ※ 링크 https://piembsystech.com/xcp-protocol/ XCP over Ethernet 논문 University of Gothenburg에서 발행된 논문이며, 저자는 Ada Ustundag Ho..
2021.12.28