KR102360168B1 - 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템 - Google Patents

데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템 Download PDF

Info

Publication number
KR102360168B1
KR102360168B1 KR1020170144453A KR20170144453A KR102360168B1 KR 102360168 B1 KR102360168 B1 KR 102360168B1 KR 1020170144453 A KR1020170144453 A KR 1020170144453A KR 20170144453 A KR20170144453 A KR 20170144453A KR 102360168 B1 KR102360168 B1 KR 102360168B1
Authority
KR
South Korea
Prior art keywords
data
protocol
conversion method
conversion
protocol conversion
Prior art date
Application number
KR1020170144453A
Other languages
English (en)
Other versions
KR20190049037A (ko
Inventor
정명규
신동진
김철민
이동열
김영수
서재암
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170144453A priority Critical patent/KR102360168B1/ko
Priority to US15/976,249 priority patent/US10757229B2/en
Publication of KR20190049037A publication Critical patent/KR20190049037A/ko
Application granted granted Critical
Publication of KR102360168B1 publication Critical patent/KR102360168B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템에 관한 것이다. 본 발명에 따른 장치는, 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블이 저장된 저장부, 차량 내의 CAN 노드로부터 CAN 데이터가 수신되면, 상기 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 프로토콜 변환부, 및 상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 전송 처리부를 포함한다.

Description

데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템{APPARATUS AND METHOD FOR CONVERTING PROTOCOL WITH TYPE OF DATA}
본 발명은 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템에 관한 것이다.
최근 차량에 다양한 기능이 부가되면서 CAN만으로는 네트워크 대역폭이 부족하게 되어 대용량 통신이 필요한 기능이 요구되고 있다. 이를 위해, 일부 OEM에서는 이더넷(Ethernet)을 이용한 네트워크를 구성한 차량을 양산하고 있다.
커넥티드 차량은 외부 통신망과 연결되어 서비스를 제공하는 것으로, 최근 CAN과 이더넷 방식이 공존하는 차량 네트워크 구조를 채용하고 있다. 이 경우, CAN 데이터를 이더넷 기반 데이터로 변환하여 송신해야 한다.
커넥티드 차량에서 통신망을 흐르는 데이터 중에는 중요도가 높아 반드시 전달 여부를 확인해야 하는 데이터, 전달여부는 덜 중요하지만 반드시 실시간으로 전송해야 하는 데이터 및 실시간 제어(QoS)와 전달여부(ACK) 확인이 필요한 데이터 등 다양한 데이터가 처리되고 있다.
하지만, 기존에는 각각의 CAN 데이터를 정해진 방식에 따라 프로토콜 변환하기 때문에, 중요도, 실시간 전송 및/또는 전달 여부 등에 따른 데이터 전송 효율이 만족스럽지 못하였다.
본 발명의 목적은, CAN 데이터 종류별로 다른 프로토콜 변환 방식을 적용하여 이더넷 기반 프로토콜로 변환함으로써 차량 제어 상황에 최적화된 프로토콜 변환이 가능하도록 한. 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템을 제공함에 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치는, 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블이 저장된 저장부, 차량 내의 CAN 노드로부터 CAN 데이터가 수신되면, 상기 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 프로토콜 변환부, 및 상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 전송 처리부를 포함하는 것을 특징으로 한다.
상기 변환 테이블은, 멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식을 정의하고, 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 정의하고, 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식을 정의한 스태틱 변환 테이블을 포함하는 것을 특징으로 한다.
상기 프로토콜 변환부는, 상기 CAN 데이터가 멀티미디어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 MAC Layer 변환 방식으로 결정하고, 상기 MAC Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환하는 것을 특징으로 한다.
상기 프로토콜 변환부는, MAC 헤더 영역의 이더넷 타입 필드에 새로운 프로토콜 식별자를 할당하고 데이터 영역의 페이로드 필드에 채널 정보, CAN ID, CAN 데이터 길이 정보 및 CAN 데이터를 할당하는 것을 특징으로 한다.
상기 프로토콜 변환부는, 상기 CAN 데이터가 진단 통신 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 IP Layer 변환 방식으로 결정하고, 상기 IP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환하는 것을 특징으로 한다.
상기 프로토콜 변환부는, IP 패킷의 헤더 영역의 header length 필드에 할당되는 인터넷 헤더 길이를 변경하고 options 필드에 CAN ID 및 채널 정보를 할당하는 것을 특징으로 한다.
상기 프로토콜 변환부는, 상기 CAN 데이터가 확장형(extended)의 실시간 제어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 TCP Layer 변환 방식으로 결정하고, 상기 TCP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 것을 특징으로 한다.
상기 프로토콜 변환부는, 차량 시스템 및 외부 서버 간 가상의 통신 포트를 설정하는 과정에서 송수신되는 TCP 패킷의 헤더 영역의 Sequence Number 필드에 CAN ID 및 채널 정보를 할당하는 것을 특징으로 한다.
상기 프로토콜 변환부는, 상기 CAN 데이터가 정규(Normal)의 실시간 제어 데이터인 경우 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 UDP/TCP Layer 변환 방식으로 결정하고, 상기 UDP/TCP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 UDP/TCP 프로토콜로 변환하는 것을 특징으로 한다.
상기 프로토콜 변환부는, TCP 패킷의 헤더 영역 및 UDP 패킷의 헤더 영역의 Source Port 필드에 할당되는 출발지의 포트 번호를 변경하여 CAN ID를 할당하고, Destination Port 필드에 할당되는 목적지의 포트 번호를 변경하여 CAN ID를 할당하는 것을 특징으로 한다.
상기 변환 테이블은, 차량의 실시간 제어 상황에 따라 추가 또는 보완되는 프로토콜 변환 방식을 정의한 다이내믹 변환 테이블을 포함하는 것을 특징으로 한다.
상기 전송 처리부는, 상기 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 상기 응답시간 내에 복수 개의 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 방법은, 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블을 저장하는 단계, 차량 내의 CAN 노드로부터 CAN 데이터가 수신되면, 상기 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계, 및 상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 변환 테이블은, 멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식을 정의하고, 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 정의하고, 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식을 정의한 스태틱 변환 테이블, 및 차량의 실시간 제어 상황에 따라 추가 또는 보완되는 프로토콜 변환 방식을 정의한 다이내믹 변환 테이블을 포함하는 것을 특징으로 한다.
상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는, 상기 CAN 데이터가 멀티미디어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 MAC Layer 변환 방식으로 결정하는 단계, 및 상기 MAC Layer 변환 방식에 기초하여 MAC 헤더 영역의 이더넷 타입 필드에 새로운 프로토콜 식별자를 할당하고 데이터 영역의 페이로드 필드에 채널 정보, CAN ID, CAN 데이터 길이 정보 및 CAN 데이터를 할당하여 상기 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 한다.
상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는, 상기 CAN 데이터가 진단 통신 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 IP Layer 변환 방식으로 결정하는 단계, 및 IP 패킷의 헤더 영역의 header length 필드에 할당되는 인터넷 헤더 길이를 변경하고 options 필드에 CAN ID 및 채널 정보를 할당하여 상기 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 한다.
상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는, 상기 CAN 데이터가 확장형(extended)의 실시간 제어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 TCP Layer 변환 방식으로 결정하는 단계, 및 차량 시스템 및 외부 서버 간 가상의 통신 포트를 설정하는 과정에서 송수신되는 TCP 패킷의 헤더 영역의 Sequence Number 필드에 CAN ID 및 채널 정보를 할당하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 한다.
상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는, 상기 CAN 데이터가 정규(Normal)의 실시간 제어 데이터인 경우 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 UDP/TCP Layer 변환 방식으로 결정하는 단계. 및 TCP 패킷의 헤더 영역 및 UDP 패킷의 헤더 영역의 Source Port 필드에 할당되는 출발지의 포트 번호를 변경하여 CAN ID를 할당하고, Destination Port 필드에 할당되는 목적지의 포트 번호를 변경하여 CAN ID를 할당하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 한다.
상기 외부 서버로 전송하는 단계는, 상기 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 상기 응답시간 내에 복수 개의 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 차량 시스템은, 차량에 구비된 복수의 제어 유닛과 연결되어 CAN 데이터를 전달하는 CAN 노드, 및 상기 CAN 노드로부터 CAN 데이터가 수신되면, 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한 후 상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 프로토콜 변환 장치를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 본 발명의 목적은, CAN 데이터 종류별로 다른 프로토콜 변환 방식을 적용하여 이더넷 기반 프로토콜로 변환함으로써 차량 제어 상황에 최적화된 프로토콜 변환이 가능한 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치가 적용된 차량 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 변환 테이블을 도시한 도면이다.
도 4 내지 도 7b는 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치의 동작을 설명하는데 참조되는 실시예를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 방법에 대한 동작 흐름을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 방법이 실행되는 컴퓨팅 시스템을 도시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템은 다른 차량이나 교통 및 통신 기반 시설(infrastructure)과 무선으로 연결하여 위험 경고, 실시간 내비게이션, 원격 차량 제어, 관리 서비스 및/또는 진단 서비스 등을 제공하는 커넥티드 차량에 적용되는 것으로 하나, 이에 한정되는 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치가 적용된 차량 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 차량 시스템(10)은 차량에 구비된 복수의 제어 유닛(11) 및 복수의 제어 유닛(11)의 데이터를 차량 네트워크를 통해 수신하여 인터넷 망에 연결된 서버(20)로 송신하는 프로토콜 변환 장치(100)를 포함할 수 있다.
여기서, 복수의 제어 유닛(11)은 CAN(Controller Area Network) 통신 또는 LIN(Local Interconnect Network) 통신을 이용하여 CAN 노드(13)로 데이터를 송신할 수 있다. 이때, CAN 노드(13)는 프로토콜 변환 장치(100)로 수신된 데이터를 송신할 수 있다. 또한, 복수의 제어 유닛(11)은 이더넷(Ethernet) 통신을 이용하여 이더넷 노드(15)로 데이터를 송신할 수도 있으며, 이더넷 노드(15)는 수신된 데이터를 프로토콜 변환 장치(100)로 데이터를 송신할 수 있다.
프로토콜 변환 장치(100)는 이더넷 통신 방식으로 인터넷 망에 접속하여 CAN 노드(13) 및/또는 이더넷 노드(15)로부터 수신한 데이터를 인터넷 망에 연결된 서버(20)로 송신할 수 있다. 이에, 프로토콜 변환 장치(100)는 이더넷 노드(15)로부터 수신된 데이터는 별도의 프로토롤 변환 절차 없이 서버(20)로 송신할 수 있다.
한편, 프로토콜 변환 장치(100)는 CAN 노드(13)로부터 수신된 데이터의 통신 프로토콜을 MAC(Media Access Control), IP(internet protocol), TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol)/TCP와 같은 이더넷 기반 통신 프로토콜로 변환을 한 후에 해당 데이터를 인터넷 망에 연결된 서버(20)로 송신할 수 있다. 이때, 프로토콜 변환 장치(100)는 CAN 노드(13)로부터 수신된 데이터의 종류에 따라 프로토콜 변환 방식을 다르게 하여 변환할 수 있다.
일 예로, 프로토콜 변환 장치(100)는 CAN 노드(13)로부터 수신한 데이터의 종류에 따라 MAC Layer 변환, IP Layer 변환, TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 이용하여 이더넷 기반 통신 프로토콜로 변환 할 수 있다.
이에, 프로토콜 변환 장치(100)의 세부 구성에 대해서는 도 2를 참조하여 더욱 상세히 설명하도록 한다.
본 발명에 따른 프로토콜 변환 장치(100)는 차량의 내부에 구현될 수 있다. 이때, 프로토콜 변환 장치(100)는 차량의 내부 제어 유닛들과 일체로 형성될 수 있으며, 별도의 장치로 구현되어 별도의 연결 수단에 의해 차량의 제어 유닛들과 연결될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 데이터 종류에 따른 프로토콜 변환 장치의 구성을 도시한 도면이다.
이에, 도 2를 참조하면, 프로토콜 변환 장치(100)는 인증부(110), 프로토콜 변환부(130)), 전송 처리부(150), 통신부(170) 및 저장부(190)를 포함할 수 있다.
인증부(110)는 CAN 노드(13)로부터 수신된 데이터(이하에서는 'CAN 데이터'라 칭하도록 한다.)의 통신 프로토콜에 대한 보안 검사 및 이더넷 프로토콜 변환에 대한 권한 검사를 수행하고, 검사 결과로부터 해당 CAN 데이터의 통신 프로토콜 변환에 대한 적합성을 판단한다. 일 예로, 인증부(110)는 해당 제어 유닛으로부터의 제어 권한 허용 여부, 운전자의 허용 여부, CAN/이더넷 통신 부하, 어플리케이션(APP), 메시지(MSG) 및/또는 신호(Signal) 할당 초과 여부, CPU 및/또는 메모리 초과 여부 등을 검사할 수 있다.
인증부(110)의 인증이 완료되면, 프로토콜 변환부(130))는 수신된 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한다.
이때, 프로토콜 변환부(130))는 저장부(190)에 등록된 변환 테이블을 호출하고, 호출된 변환 테이블에 기초하여 해당 데이터의 프로토콜 변환 방식을 결정할 수 있다.
여기서, 변환 테이블은 스태틱 변환 테이블(Static Convert Table) 및 다이내믹 변환 테이블(Dynamic Convert Table)을 포함할 수 있다. 스태틱 변환 테이블은 데이터의 종류별 프로토콜 변환 방식이 정의될 수 있다. 스태틱 변환 테이블의 실시예는 도 3을 참조하도록 한다.
도 3을 참조하면, 스태틱 변환 테이블은 데이터의 종류(Type)에 따라 MAC Layer 변환, IP Layer 변환, TCP Layer 변환 또는 UDP/TCP Layer 변환 방식이 정의될 수 있다.
일 예로, 스태틱 변환 테이블은 멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식이 정의될 수 있다.
또한, 스태틱 변환 테이블은 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식이 정의될 수 있다. 여기서, 실시간 제어 데이터가 확장형 CAN(Extended CAN) 데이터인 경우에는 TCP Layer 변환 방식이 정의되고, 정규 CAN(Normal CAN) 데이터인 경우에는 UDP/TCP Layer 변환 방식이 정의될 수 있다.
또한, 스태틱 변환 테이블은 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식이 정의될 수 있다. 물론, 도 3에 도시된 스태틱 변환 테이블은 일 예를 도시한 것으로서 이에 한정되는 것은 아니며, 실시 형태에 따라 얼마든지 변경 가능함은 당연한 것이다.
한편, 다이내믹 변환 테이블은 차량의 양산 이후 차량의 (실시간) 제어 상황에 따라 추가 또는 보완되는 프로토콜 변환 방식이 정의될 수 있다.
이에, 프로토콜 변환부(130))는 호출된 스태틱 테이블 및/또는 다이내믹 변환 테이블로부터 해당 데이터에 대응하는 프로토콜 변환 방식을 결정할 수 있다.
프로토콜 변환부(130))는 MAC Layer 변환, IP Layer 변환, TCP Layer 변환 및 UDP/TCP Layer 변환 방식 중 어느 하나의 프로토콜 변환 방식이 결정되면, 결정된 프로토콜 변환 방식으로 해당 CAN 데이터의 통신 프로토콜을 변환할 수 있다.
제1 실시예로서, 프로토콜 변환부(130))는 CAN 데이터가 멀티미디어 데이터인 경우 스태틱 변환 테이블에 정의된 변환 방식에 따라 프로토콜 변환 방식을 MAC Layer 변환 방식으로 결정할 수 있다. 이에, 프로토콜 변환부(130))는 MAC Layer 변환 방식에 기초하여 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환한다. 여기서, MAC 프로토콜은 고속 통신이 가능하며 1 대1 통신에 적합하다. 또한, MAC 프로토콜은 1500byte 이하 사용자 자유 정의가 가능하며, Extended CAN에도 대응 가능하다.
MAC Layer 변환 방식으로 CAN 데이터의 통신 프로토콜을 변환하는 실시예는 도 4를 참조하도록 한다.
도 4를 참조하면, 이더넷 프레임 구조는 MAC 헤더(Header) 영역, 데이터(Data) 영역 및 CRC 영역을 포함한다.
여기서, MAC 헤더 영역은 목적지 MAC 주소(Destination MAC Address), 출발지 MAC 주소(Source MAC Address) 및 이더넷 타입(Ether Type) 필드(411)로 구성된다. 또한, 데이터 영역은 페이로드(Payload) 필드(415)로 구성된다.
MAC 헤더 영역의 이더넷 타입 필드(411)는 패킷의 타입을 할당하는 필드로서, 프로토콜 변환부(130))는 MAC 헤더 영역의 이더넷 타입 필드(411)에 새로운 TPID(Tag Protocol IDentifier)를 할당하고 데이터 영역의 페이로드 필드(415)에 채널 정보, CAN ID, CAN 데이터 길이 정보 및 CAN 데이터를 할당함으로써 멀티미디어 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환한다.
이때, 프로토콜 변환부(130))는 데이터 영역의 페이로드 필드(415)에 전체 반복 횟수를 추가로 할당할 수 있다.
MAC 헤더 영역의 이더넷 타입 필드(411)에 할당되는 TPID는 아래 [표 1]과 같다.
Figure 112017108274992-pat00001
[표 1]은 Internet Protocol version 4(IPv4), Address Resolution Protocol(ARP), Wake-on-LAN, IETF TRILL Protocol, DECnet Phase IV, Reverse Address Resolution Protocol, AppleTalk(Ethertalk), AppleTalk Address Resolution Protocol(AARP), VLAN-tagged frame(IEEE 802.1Q) and Shortest Path Bridging IEEE 802.1aq, High-availability Seamless Redundancy(HSR), Ethernet Configuration Testing Protocol 및 VLAN-tagged frame with double tagging 등과 같은 프로토콜 종류 따른 TPID를 정의한 것이다.
일 예로, 프로토콜 변환부(130))는 CAN 데이터의 통신 프로토콜을 Internet Protocol version 4(IPv4) 프로토콜로 변환하는 경우 TPID를 '0x0800'으로 할당할 수 있다.
제2 실시예로서, 프로토콜 변환부(130))는 CAN 데이터가 진단 통신 데이터인 경우 스태틱 변환 테이블에 정의된 변환 방식에 따라 프로토콜 변환 방식을 IP Layer 변환 방식으로 결정할 수 있다. 이에, 프로토콜 변환부(130))는 IP Layer 변환 방식에 기초하여 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환한다. 여기서, IP 프로토콜은 중속 통신이 가능하다. 또한, IP 프로토콜은 향후 트리형 스위치 구조에서도 사용 가능하다.
IP Layer 변환 방식으로 CAN 데이터 통신 프로토콜을 변환하는 실시예는 도 5를 참조하도록 한다.
도 5는 IP 패킷의 헤더 구조를 나타낸 것으로, IP 패킷의 헤더 영역은 version 필드, header length 필드(511), type of service 필드, … , options 필드(515) 및 data 필드로 구성된다.
여기서, header length 필드(511)는 IP 패킷에서 헤더가 차지하는 길이를 할당하는 필드로서, 프로토콜 변환부(130))는 header length 필드(511)에 할당되는 인터넷 헤더 길이를 변경하고 options 필드(515)에 CAN ID 및 채널 정보를 할당함으로써 진단 통신을 위한 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환한다.
일 예로, 프로토콜 변환부(130))는 header length 필드(511)에 '6'을 할당하여 4byte를 확보하고, options 필드(515)에 29bit의 CAN ID(Extended CAN ID) 및 3bit의 채널 정보를 할당할 수 있다.
제3 실시예로서, 프로토콜 변환부(130))는 CAN 데이터가 확장형(extended)의 실시간 제어 데이터인 경우 스태틱 변환 테이블에 정의된 변환 방식에 따라 프로토콜 변환 방식을 TCP Layer 변환 방식으로 결정할 수 있다. 이에, 프로토콜 변환부(130))는 TCP Layer 변환 방식으로 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환한다. 여기서, TCP 프로토콜은 Extended CAN ID 사용이 가능하다. 또한, TCP 프로토콜은 연결 신뢰도가 높고 별다른 성능 저하가 없다.
TCP Layer 변환 방식으로 CAN 데이터 통신 프로토콜을 변환하는 실시예는 도 6a 및 도 6b를 참조하도록 한다.
TCP는 클라이언트(차량 시스템) 및 목적지의 서버(20) 간 패킷을 주고 받기 이전에 미리 가상의 경로를 설정해야 한다.
도 6a에 도시된 바와 같이, 가상의 경로를 설정하기 전 클라이언트는 포트가 닫힌 CLOSED 상태가 되며, 서버(20)는 서비스를 항상 제공하기 위해 LISTEN 상태가 된다.
클라이언트는 통신을 시작하기 위해 임의의 포트를 할당하고 서버(20)로 연결 요청(SYN) 신호를 송신(#1)할 수 있다. 이때, 서버(20)는 클라이언트의 SYN-RECEIVED 상태가 되고 클라이언트로 SYN+ACK 신호를 송신(#2)하며, 클라이언트는 SYN+ACK 신호를 송신하고 이에 대응하여 서버(20)로 응답(ACK) 신호를 송신(#3)한다.
이로써 클라이언트와 목적지의 서버(20) 간 가상의 경로가 설정된다.
이때, 프로토콜 변환부(130))는 SYN 과정(#1 내지 #3)(611)에서 TCP 패킷에 CAN ID 및 채널 정보를 삽입함으로써 실시간으로 송신되는 확장형 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한다.
도 6b는 TCP 패킷의 TCP 헤더 구조를 나타낸 것으로, TCP 패킷의 헤더 영역은 Source Port 필드, Destination Port 필드, Sequence Number 필드(625), ACK 필드(621), SYN 필드(623), … , data 필드 등으로 구성된다.
Sequence Number 필드는 하나의 식별자를 가진 여러 개의 메시지를 추적할 수 있도록 고유 번호를 할당하는 필드로서, 프로토콜 변환부(130))는 도 6a의 SYN 과정(#1 내지 #3)(611)에서 ACK 필드(621) 및 SYN 필드(623)에 관련 정보를 할당함과 동시에 Sequence Number 필드(625)에 CAN ID 및 채널 정보를 할당함으로써 실시간으로 송신되는 확장형 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환한다.
제4 실시예로서, 프로토콜 변환부(130))는 CAN 데이터가 정규(Normal)의 실시간 제어 데이터인 경우 스태틱 변환 테이블에 정의된 변환 방식에 따라 프로토콜 변환 방식을 UDP/TCP Layer 변환 방식으로 결정할 수 있다. 이에, 프로토콜 변환부(130))는 UDP/TCP Layer 변환 방식으로 CAN 데이터의 통신 프로토콜을 UDP/TCP 프로토콜로 변환한다. 여기서, UDP/TCP 프로토콜은 정규 CAN ID만 가능하며, 제어기의 성능을 고려하여 소켓(socket) 위치를 결정할 수 있다.
UDP/TCP Layer 변환 방식으로 CAN 데이터 통신 프로토콜을 변환하는 실시예는 도 7a 및 도 7b를 참조하도록 한다.
도 7a는 TCP 패킷의 TCP 헤더 구조를 나타낸 것이고, 도 7b는 UDP 패킷의 UDP 헤더 구조를 나타낸 것이다.
도 7a를 참조하면, TCP 패킷의 헤더 영역은 Source Port 필드(711), Destination Port 필드(715), Sequence Number 필드(625), ACK 필드(621), SYN 필드(623), … , data 필드 등으로 구성된다.
또한, 도 7b를 참조하면, UDP 패킷의 헤더 영역은 Source Port 필드(721), Destination Port 필드(725), length 필드 및 checksum 필드로 구성된다.
TCP 헤더 영역의 Source Port 필드(711) 및 UDP 헤더 영역의 Source Port 필드(721)는 출발지의 포트 번호를 할당하는 필드로서, 프로토콜 변환부(130))는 TCP 헤더 영역의 Source Port 필드(711) 및 UDP 헤더 영역의 Source Port 필드(721)에 할당되는 출발지의 포트 번호를 변경하여 CAN ID를 할당하고, TCP 헤더 영역의 Destination Port 필드(715) 및 UDP 헤더 영역의 Destination Port 필드(725)에 할당되는 목적지의 포트 번호를 변경하여 CAN ID를 할당함으로써 실시간으로 송신되는 정규 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한다.
이와 같이, 프로토콜 변환 장치(100)는 이더넷 메시지의 MAC 헤더, IP 헤더, TCP 헤더 및/또는 UDP 헤더에 CAN ID 및 채널 정보 등을 삽입하는 것으로서 CAN 데이터에 대한 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환할 수 있다.
전송 처리부(150)는 CAN 메시지 포맷을 이더넷 메시지 포맷으로 변환한다. 일 예로, 전송 처리부(150)는 CAN 메시지 포맷의 8byte의 페이로드 필드를 이더넷 메시지 포맷의 1500byte의 페이로드로 변환한다.
또한, 전송 처리부(150)는 CAN 메시지 포맷을 이더넷 메시지 포맷으로 변환 시, 해당 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 응답시간 내에 복수 개의 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성할 수 있다. 이때, 전송 처리부(150)는 최대한 많은 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성할 수 있다.
전송 처리부(150)는 이더넷 메시지를 통신부(170)로 송신한다.
통신부(170)는 차량에 구비된 전장품 및/또는 제어유닛들과의 통신 인터페이스를 지원하는 통신모듈을 포함할 수 있다. 여기서, 통신모듈은 CAN 통신, LIN 통신 또는 이더넷 통신 등의 차량 네트워크 통신을 지원하는 모듈을 포함할 수 있다.
또한, 통신부(170)는 무선 인터넷 접속을 위한 통신모듈을 더포함할수도있다. 여기서, 통신모듈은 차량 데이터를 수집하고 차량의 제어 데이터를 관리하는 서버(20)와의 이더넷 통신을 지원하는 모듈을 포함할 수 있다.
이때, 통신부(170)는 전송 처리부(150)로부터 입력된 이더넷 메시지를 인터넷 망으로 연결된 서버(20)로 송신한다.
저장부(190)는 프로토콜 변환 장치(100)가 동작하는데 필요한 데이터 및/또는 알고리즘 등을 저장할 수 있다.
일 예로, 저장부(190)는 스태틱 변환 테이블 및/또는 다이내믹 변환 테이블이 저장될 수 있다. 또한, 저장부(190)는 CAN 데이터의 통신 프로토콜 변환을 제어하기 위한 명령 및/또는 알고리즘이 저장될 수도 있다. 또한, 저장부(190)는 CAN 메시지 포맷을 이더넷 메시지 포맷으로 변환하기 위한 명령 및/또는 알고리즘 등이 저장될 수도 있다.
여기서, 저장부(190)는 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)와 같은 저장매체를 포함할 수 있다.
상기에서와 같이 동작하는 본 실시예에 따른 프로토콜 변환 장치(100)는 메모리와 각 동작을 처리하는 프로세서를 포함하는 독립적인 하드웨어 장치 형태로 구현될 수 있으며, 마이크로프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다. 또한, 본 실시예에 따른 프로토콜 변환 장치(100)의 인증부(110), 프로토콜 변환부(130)) 및/또는 전송 처리부(150)는 적어도 하나 이상의 프로세서(processor)로서 구현될 수 있다.
상기와 같이 구성되는 본 발명에 따른 장치의 동작 흐름을 보다 상세히 설명하면 다음과 같다.
도 8은 본 발명의 일 실시예에 따른 프로토콜 변환 방법에 대한 동작 흐름을 도시한 도면이다.
도 8을 참조하면, 프로토콜 변환 장치(100)는 프로토콜 변환을 실행할 CAN 프로토콜에 대한 보안 검사 및 이더넷 프로토콜 변환에 대한 권한 검사를 실행한다(S110, S120).
'S110' 및 'S120' 과정의 검사가 완료되면, 프로토콜 변환 장치(100)는 수신된 CAN 데이터의 종류를 확인한다(S130). 일 예로, CAN 데이터는 멀티미디어 데이터, 실시간 제어 데이터 또는 진단 통신 데이터일 수 있다.
프로토콜 변환 장치(100)는 사전에 저장부(190)에 등록된 변환 테이블을 호출한다(S140). 여기서, 변환 테이블은 CAN 데이터의 종류에 따른 프로토콜 변환 방식을 정의한 테이블로서, 스태틱 변환 테이블 및/또는 다이내믹 변환 테이블을 포함할 수 있다.
'S140' 과정에서 호출된 변환 테이블에 기초하여 CAN 데이터의 종류에 따른 프로토콜 변환 방식을 결정하고, 결정된 방식에 따라 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한다(S150). 프로토콜 변환 장치(100)는 MAC Layer 변환, IP Layer 변환, TCP Layer 변환 또는 UDP/TCP Layer 변환 방식에 기초하여 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환할 수 있다. CAN 데이터의 종류에 따른 프로토콜 변환 방식은 앞서 설명한 도 3의 실시예를 참조하도록 한다.
프로토콜 변환 장치(100)는 CAN 데이터에 대한 통신 프로토콜 변환 과정에서 이더넷 메시지의 MAC 헤더, IP 헤더, TCP 헤더 및/또는 UDP 헤더에 CAN ID 및 채널 정보 등을 삽입할 수 있다.
이후, 프로토콜 변환 장치(100)는 CAN 메시지 포맷을 이더넷 메시지 포맷으로 변환한다(S160). 이때, 프로토콜 변환 장치(100)는 해당 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 응답시간 내에 최대한 많은 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성할 수 있다.
프로토콜 변환 장치(100)는 생성된 이더넷 메시지를 인터넷 망에 연결된 서버(20)로 전송한다(S170).
도 9는 본 발명의 일 실시예에 따른 방법이 실행되는 컴퓨팅 시스템을 도시한 도면이다.
도 9를 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 차량 11: 제어 유닛
13: CAN 노드 15: 이더넷 노드
20: 서버 100: 프로토콜 변환 장치
110: 인증부 130: 프로토콜 변환부
150: 전송 처리부 170: 통신부
190: 저장부

Claims (20)

  1. 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블이 저장된 저장부;
    차량 내의 CAN 노드로부터 CAN 데이터가 수신되면, 상기 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 프로토콜 변환부; 및
    상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 전송 처리부
    를 포함하고,
    상기 변환 테이블은,
    멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식을 정의하고, 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 정의하고, 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식을 정의한 스태틱 변환 테이블을 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 프로토콜 변환부는,
    상기 CAN 데이터가 멀티미디어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 MAC Layer 변환 방식으로 결정하고, 상기 MAC Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  4. 청구항 3에 있어서,
    상기 프로토콜 변환부는,
    MAC 헤더 영역의 이더넷 타입 필드에 새로운 프로토콜 식별자를 할당하고 데이터 영역의 페이로드 필드에 채널 정보, CAN ID, CAN 데이터 길이 정보 및 CAN 데이터를 할당하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  5. 청구항 1에 있어서,
    상기 프로토콜 변환부는,
    상기 CAN 데이터가 진단 통신 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 IP Layer 변환 방식으로 결정하고, 상기 IP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  6. 청구항 5에 있어서,
    상기 프로토콜 변환부는,
    IP 패킷의 헤더 영역의 header length 필드에 할당되는 인터넷 헤더 길이를 변경하고 options 필드에 CAN ID 및 채널 정보를 할당하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  7. 청구항 1에 있어서,
    상기 프로토콜 변환부는,
    상기 CAN 데이터가 확장형(extended)의 실시간 제어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 TCP Layer 변환 방식으로 결정하고, 상기 TCP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  8. 청구항 7에 있어서,
    상기 프로토콜 변환부는,
    차량 시스템 및 외부 서버 간 가상의 통신 포트를 설정하는 과정에서 송수신되는 TCP 패킷의 헤더 영역의 Sequence Number 필드에 CAN ID 및 채널 정보를 할당하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  9. 청구항 8에 있어서,
    상기 프로토콜 변환부는,
    상기 CAN 데이터가 정규(Normal)의 실시간 제어 데이터인 경우 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 UDP/TCP Layer 변환 방식으로 결정하고, 상기 UDP/TCP Layer 변환 방식에 기초하여 상기 CAN 데이터의 통신 프로토콜을 UDP/TCP 프로토콜로 변환하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  10. 청구항 9에 있어서,
    상기 프로토콜 변환부는,
    TCP 패킷의 헤더 영역 및 UDP 패킷의 헤더 영역의 Source Port 필드에 할당되는 출발지의 포트 번호를 변경하여 CAN ID를 할당하고, Destination Port 필드에 할당되는 목적지의 포트 번호를 변경하여 CAN ID를 할당하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  11. 청구항 1에 있어서,
    상기 변환 테이블은,
    상기 차량의 실시간 제어 상황에 따라 추가 또는 보완되는 프로토콜 변환 방식을 정의한 다이내믹 변환 테이블을 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  12. 청구항 1에 있어서,
    상기 전송 처리부는,
    상기 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 상기 응답시간 내에 복수 개의 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 장치.
  13. 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블을 저장하는 단계;
    차량 내의 CAN 노드로부터 CAN 데이터가 수신되면, 상기 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계; 및
    상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 단계
    를 포함하고,
    상기 변환 테이블은,
    멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식을 정의하고, 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 정의하고, 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식을 정의한 스태틱 변환 테이블을 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  14. 청구항 13에 있어서,
    상기 변환 테이블은,
    상기 차량의 실시간 제어 상황에 따라 추가 또는 보완되는 프로토콜 변환 방식을 정의한 다이내믹 변환 테이블을 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  15. 청구항 13에 있어서,
    상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는,
    상기 CAN 데이터가 멀티미디어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 MAC Layer 변환 방식으로 결정하는 단계; 및
    상기 MAC Layer 변환 방식에 기초하여 MAC 헤더 영역의 이더넷 타입 필드에 새로운 프로토콜 식별자를 할당하고 데이터 영역의 페이로드 필드에 채널 정보, CAN ID, CAN 데이터 길이 정보 및 CAN 데이터를 할당하여 상기 CAN 데이터의 통신 프로토콜을 MAC 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  16. 청구항 13에 있어서,
    상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는,
    상기 CAN 데이터가 진단 통신 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 IP Layer 변환 방식으로 결정하는 단계; 및
    IP 패킷의 헤더 영역의 header length 필드에 할당되는 인터넷 헤더 길이를 변경하고 options 필드에 CAN ID 및 채널 정보를 할당하여 상기 CAN 데이터의 통신 프로토콜을 IP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  17. 청구항 13에 있어서,
    상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는,
    상기 CAN 데이터가 확장형(extended)의 실시간 제어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 TCP Layer 변환 방식으로 결정하는 단계; 및
    차량 시스템 및 외부 서버 간 가상의 통신 포트를 설정하는 과정에서 송수신되는 TCP 패킷의 헤더 영역의 Sequence Number 필드에 CAN ID 및 채널 정보를 할당하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  18. 청구항 13에 있어서,
    상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환하는 단계는,
    상기 CAN 데이터가 정규(Normal)의 실시간 제어 데이터인 경우 상기 스태틱 변환 테이블에 기초하여 프로토콜 변환 방식을 UDP/TCP Layer 변환 방식으로 결정하는 단계; 및
    TCP 패킷의 헤더 영역 및 UDP 패킷의 헤더 영역의 Source Port 필드에 할당되는 출발지의 포트 번호를 변경하여 CAN ID를 할당하고, Destination Port 필드에 할당되는 목적지의 포트 번호를 변경하여 CAN ID를 할당하여 상기 CAN 데이터의 통신 프로토콜을 TCP 프로토콜로 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  19. 청구항 13에 있어서,
    상기 외부 서버로 전송하는 단계는,
    상기 CAN 데이터의 프로토콜 변환 방식에 대응하는 응답시간 및 묶음 전송 정보에 기초하여 상기 응답시간 내에 복수 개의 CAN 메시지의 페이로드를 묶어서 이더넷 메시지를 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 종류에 따른 프로토콜 변환 방법.
  20. 차량에 구비된 복수의 제어 유닛과 연결되어 CAN 데이터를 전달하는 CAN 노드; 및
    상기 CAN 노드로부터 CAN 데이터가 수신되면, 데이터 종류에 따른 프로토콜 변환 방식을 정의한 변환 테이블을 호출하여 상기 CAN 데이터의 종류에 대응하는 프로토콜 변환 방식을 결정하고, 상기 결정된 프로토콜 변환 방식에 따라 상기 CAN 데이터의 통신 프로토콜을 이더넷 기반 통신 프로토콜로 변환한 후 상기 CAN 데이터의 메시지 포맷을 이더넷 메시지 포맷으로 변환하여 외부 서버로 전송하는 프로토콜 변환 장치
    를 포함하고,
    상기 변환 테이블은,
    멀티미디어 데이터의 프로토콜 변환 방식으로서 MAC Layer 변환 방식을 정의하고, 실시간 제어 데이터의 프로토콜 변환 방식으로서 TCP Layer 변환 또는 UDP/TCP Layer 변환 방식을 정의하고, 진단 통신 데이터의 프로토콜 변환 방식으로 IP Layer 변환 방식을 정의한 스태틱 변환 테이블을 포함하는 것을 특징으로 하는 차량 시스템.
KR1020170144453A 2017-11-01 2017-11-01 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템 KR102360168B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170144453A KR102360168B1 (ko) 2017-11-01 2017-11-01 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템
US15/976,249 US10757229B2 (en) 2017-11-01 2018-05-10 Apparatus and method for converting protocol by type of data and vehicle system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170144453A KR102360168B1 (ko) 2017-11-01 2017-11-01 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템

Publications (2)

Publication Number Publication Date
KR20190049037A KR20190049037A (ko) 2019-05-09
KR102360168B1 true KR102360168B1 (ko) 2022-02-09

Family

ID=66244493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170144453A KR102360168B1 (ko) 2017-11-01 2017-11-01 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템

Country Status (2)

Country Link
US (1) US10757229B2 (ko)
KR (1) KR102360168B1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018206934A1 (de) * 2018-05-04 2019-11-07 Continental Automotive Gmbh Gateway zur Datenkommunikation in einem Fahrzeug
US10756926B2 (en) * 2018-07-01 2020-08-25 Benchmark Electronics, Inc. System and method for transmission of video and controller area network (CAN) data over a power slip ring assembly
KR20200131639A (ko) * 2019-05-14 2020-11-24 현대자동차주식회사 게이트웨이 장치 및 그 제어방법
KR20200142945A (ko) * 2019-06-14 2020-12-23 현대자동차주식회사 자동차 및 그를 위한 사용자 설정 메뉴 관리 방법
WO2021035592A1 (zh) * 2019-08-28 2021-03-04 深圳市元征科技股份有限公司 车辆远程诊断方法及设备
JP7207252B2 (ja) * 2019-10-10 2023-01-18 トヨタ自動車株式会社 変換装置
CN110784841B (zh) * 2019-10-29 2022-07-22 南京北路智控科技股份有限公司 一种基于网络通讯的煤矿用多系统信息融合方法及系统
CN112953880A (zh) * 2019-11-26 2021-06-11 中车大连电力牵引研发中心有限公司 通信协议转换装置及方法
CN111314284B (zh) * 2019-12-18 2022-08-19 科大智能电气技术有限公司 一种基于配电终端可拓展modbus的规约转换方法及系统
CN111478880B (zh) * 2020-03-03 2022-12-23 视联动力信息技术股份有限公司 一种数据处理的方法和装置
CN111541697B (zh) * 2020-04-24 2022-08-02 卡斯柯信号有限公司 一种基于协议配置的在线通信方法
CN111726335B (zh) * 2020-05-08 2022-08-23 广东省智能制造研究所 基于can总线通信协议的opc ua协议的转换系统
KR20220001350A (ko) * 2020-06-29 2022-01-05 주식회사 엘지에너지솔루션 네트워크 라우팅 장치 및 방법
CN112187936B (zh) * 2020-09-29 2024-03-29 北京车和家信息技术有限公司 车辆数据处理方法、装置、设备、存储介质及车辆
US11818234B2 (en) * 2020-10-30 2023-11-14 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and systems for transmitting messages using communication protocols specific to data formats of these messages
KR20220062189A (ko) 2020-11-06 2022-05-16 주식회사 스프링클라우드 자율주행 차량의 제어를 위한 캔 프로토콜 매칭 자동화 장치 및 방법
KR102511640B1 (ko) * 2021-01-15 2023-03-17 명지대학교 산학협력단 에이치에스알 프로토콜을 사용하는 차량 내부 네크워크 및 이의 설계 방법
US11539621B2 (en) * 2021-02-03 2022-12-27 Motional Ad Llc Controller area network messages in an autonomous vehicle
CN113542216A (zh) * 2021-06-04 2021-10-22 北京机电工程研究所 一种接口协议自动转换方法及装置
CN113569106B (zh) * 2021-06-16 2023-10-13 东风汽车集团股份有限公司 一种can数据识别方法、装置和设备
KR102354630B1 (ko) * 2021-06-21 2022-01-25 에티포스 시오 V2p 메시지를 송수신하기 위한 방법 및 장치
US11663907B2 (en) 2021-06-21 2023-05-30 Ettifos Co. Method and apparatus for transmitting and receiving vehicle-to-pedestrian (V2P) message
US11665516B2 (en) 2021-07-02 2023-05-30 Ettifos Co. Method and apparatus for relaying or receiving message
KR102358154B1 (ko) * 2021-07-02 2022-02-08 에티포스 시오 메시지를 중계 또는 수신하기 위한 방법 및 장치
KR102517420B1 (ko) * 2021-07-29 2023-04-03 주식회사 소디스 차량에 탑재되는 연결 제어 장치 및 연결 제어 장치의 동작 방법
CN117751555A (zh) * 2021-07-30 2024-03-22 华为技术有限公司 一种任务处理方法及装置
JP2023036371A (ja) * 2021-09-02 2023-03-14 株式会社デンソー 車両用制御システム、および回路装置
CN114338262B (zh) * 2021-11-26 2024-02-20 国网信息通信产业集团有限公司 能源舱通信方法、系统及电子设备
CN114143383B (zh) * 2021-12-01 2024-03-15 福建雪人氢能科技有限公司 一种转换can协议的方法及终端
US20230251980A1 (en) * 2022-02-10 2023-08-10 Mellanox Technologies, Ltd. Devices, methods, and systems for disaggregated memory resources in a computing environment
US11917040B1 (en) * 2022-03-30 2024-02-27 Amazon Technologies, Inc. Converting communication protocols for messages to enable internet access for vehicle applications
CN115100840B (zh) * 2022-05-16 2024-01-12 深圳绿米联创科技有限公司 设备控制方法、装置、电子设备及存储介质
CN115051887A (zh) * 2022-06-06 2022-09-13 国汽智控(北京)科技有限公司 数据转换方法、接口转换设备以及车辆
CN115002240B (zh) * 2022-08-04 2022-12-16 深圳市星卡软件技术开发有限公司 一种数据传输系统、方法、装置、设备及介质
WO2024065112A1 (zh) * 2022-09-26 2024-04-04 华为技术有限公司 一种报文转换、接收方法及装置
US11741243B1 (en) * 2023-03-31 2023-08-29 Sumitaka Matsumoto Method for using redundant encryption to secure data in supervisory control systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170072876A1 (en) * 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654355B1 (en) * 1999-12-14 2003-11-25 Schneider Automation Inc. Bridge for CAN to TCP/IP connection
KR20110071995A (ko) * 2009-12-22 2011-06-29 한국전자통신연구원 이더넷-모스트 게이트웨이 장치
KR101351285B1 (ko) 2012-04-10 2014-01-15 한국외국어대학교 연구산학협력단 Can 네트워크와 이더넷 네트워크 사이의 데이터 전송을 위한 방법 및 게이트웨이 장치
KR20140011486A (ko) * 2012-05-30 2014-01-29 한국전자통신연구원 차량용 부분 네트워킹 지원장치 및 방법, 이를 포함하는 전자제어장치
US9215168B2 (en) 2012-07-23 2015-12-15 Broadcom Corporation Controller area network communications using ethernet
DE102012215765A1 (de) 2012-09-05 2014-05-15 Robert Bosch Gmbh Gateway-Modul für ein Kommunikationssystem, Kommunikationssystem und Verfahren zur Übertragung von Daten zwischen Teilnehmern eines Kommunikationssystems
KR101536141B1 (ko) * 2014-02-13 2015-07-13 현대자동차주식회사 이더넷과 can 통신 간의 신호 변환을 제공하는 차량용 장치 및 그 제어방법
US20180343326A1 (en) * 2017-05-26 2018-11-29 Cisco Technology, Inc. Can to ip internetworking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170072876A1 (en) * 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller

Also Published As

Publication number Publication date
KR20190049037A (ko) 2019-05-09
US20190132424A1 (en) 2019-05-02
US10757229B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
KR102360168B1 (ko) 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템
US8971339B2 (en) Contents base switching system and contents base switching method
CN107046506B (zh) 一种报文处理方法、流分类器和业务功能实例
CN111490923B (zh) 基于bras系统的报文封装方法、装置及系统
US8509239B2 (en) Method, apparatus and system for processing packets
US10320788B2 (en) Method for transferring authorization information, relay device, and server
KR20150076041A (ko) 가상 사설 클라우드망에서 사설 ip 주소 기반의 멀티 테넌트를 지원하기 위한 시스템 및 그 방법
EP3073698A1 (en) Method for processing address resolution protocol message, forwarder and controller
US9445384B2 (en) Mobile device to generate multiple maximum transfer units and data transfer method
CN110062060B (zh) 一种ip地址分配的系统和方法
KR20200136751A (ko) 차량 진단 통신 장치, 그를 포함한 시스템 및 그 방법
WO2019085635A1 (zh) 确定以太网mac地址的方法及装置
US20200274948A1 (en) Service flow configuration method and apparatus
CN113364660A (zh) Lvs负载均衡中的数据包处理方法及装置
EP3007389A1 (en) Gre tunnel implementation method, access point and gateway
CN111371666A (zh) 一种处理报文的方法、设备及系统
JP2006180480A (ja) 動的アドレスを使用してルーティングを実行するネットワークシステム及びその方法
WO2020142880A1 (zh) 一种数据传输方法及装置
CN107547621B (zh) 一种报文转发方法及装置
KR102295206B1 (ko) 통신 네트워크에서 통신 노드의 동작 방법
EP3503484A1 (en) Message transmission method, device and network system
CN102238084B (zh) 一种跨域报文的转发方法、装置、路由设备和客户端
KR101805051B1 (ko) 다중 터널링 기반의 통신 방법
WO2014169590A1 (zh) 一种数据业务通信方法、设备及系统
CN107689881B (zh) 报文处理方法以及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right