KR101780278B1 - Can 통신에서의 통신 부하 절감 방법 및 장치 - Google Patents
Can 통신에서의 통신 부하 절감 방법 및 장치 Download PDFInfo
- Publication number
- KR101780278B1 KR101780278B1 KR1020140140622A KR20140140622A KR101780278B1 KR 101780278 B1 KR101780278 B1 KR 101780278B1 KR 1020140140622 A KR1020140140622 A KR 1020140140622A KR 20140140622 A KR20140140622 A KR 20140140622A KR 101780278 B1 KR101780278 B1 KR 101780278B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- dlc
- data frame
- changed
- frame
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 49
- 230000009467 reduction Effects 0.000 claims description 5
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000008859 change Effects 0.000 description 13
- 230000000737 periodic effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40195—Flexible bus arrangements involving redundancy by using a plurality of nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 CAN 통신에서의 통신 부하 절감 방법 및 장치를 제공한다. 본 발명의 일 실시예에 따른 CAN(Controller Area Network) 통신망에 접속된 송신 노드에서의 통신 부하 절감 방법은 제1 송신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 생성하여 상기 CAN 통신망에 전송하는 단계와 제2 송신 시점에서 제2 데이터가 상기 제1 데이터와 동일한지 여부를 비교하는 단계와 상기 비교 결과, 동일하면, DLC(Data Length Code) 필드 값이 데이터가 변경되지 않았음을 지시하는 소정 값으로 설정된 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송하는 단계를 포함할 수 있다. 따라서, 본 발명은 기존 CAN 하드웨어 변경 없이, CAN 통신 부하를 효과적으로 저감할 수 있는 장점이 있다.
Description
본 발명은 CAN 통신에 관한 것으로서, 상세하게, CAN 통신에서 CAN 데이터 프레임에 포함된 DLC(Data Length Code)를 이용하여 CAN 통신 부하를 절감하는 방법 및 그를 위한 장치에 관한 것이다.
최근 급격한 IT 기술의 발전은 자동차 산업에도 많은 영향을 미치고 있으며, 다양한 IT 기술이 차량에 접목되고 있는 실정이다.
특히, 최근 출시되는 차량에는 다양한 무선 통신 기능이 탑재되고 있으며 이를 통해 다양한 응용 서비스가 제공되고 있다.
일 예로, 네이게이션과 같은 경로 안내 장치는 GPS(Global Positioning System) 위성을 통해서 수신 받은 신호에 기반하여 차량의 현재 위치를 측위하고, 측위된 현재 위치에 대응되는 지도 데이터를 내장된 지도 데이터베이스로부터 읽어와 화면상에 차량의 현재 위치와 함께 표시함으로써, 운전자가 현재 주행하는 도로의 위치를 식별하거나 모르는 지역에서 주행할 때 목적지를 쉽게 찾을 수 있도록 도와주는 매우 유용한 장치이다.
또한, 차량 헤드 유닛은 차량 내 사용자 단말과 블루투스 페어링되어 핸즈프리 통화 서비스 및 멀티미디어 재생 서비스를 제공할 수 있다.
특히, 최근 출시되는 대부분의 차량은 다양한 차량 안전 시스템 및 운전자 편의 시스템이 탑재되고 있으며, 그에 따라 차량 내 통신 네트워크상에서 송수신되는 데이터의 양이 급속히 증가하고 있는 실정이다.
이에 따라, 중대형 차종에 대해서는 게이트웨이를 적용하여 통신 부하를 분산시키는 추세이며 향후 증가될 통신 부하에 대비하여 CAN-FD, 이더넷 등 보다 빠른 속도의 통신 방식이 선행 개발 중에 있다.
이러한 게이트웨이 적용과 고속 통신 방식 도입은 통신 부하량 저감에 효과적이나, 게이트웨이 채널 수 증가 및 고속 통신 방식 적용에 따른 비용 상승을 피할 수 없다. 또한, 차량 내 통신 네트워크로 고속 통신 방식이 적용되는 경우, 배선 설계의 많은 제약 사항이 발생되는 문제점이 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 CAN 통신에서의 부하 절감 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 CAN 통신 방식을 그대로 사용하면서 CAN 버스상의 부하를 저감할 수 있는 CAN 통신 부하 절감 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 하드웨어의 변경 없이 소프트웨어 변경만으로 CAN 통신 부하를 절감하는 것이 가능한 CAN 통신 부하 절감 방법을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 CAN 통신에서의 통신 부하 절감 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 CAN(Controller Area Network) 통신망에 접속된 송신 노드에서의 통신 부하 절감 방법은 제1 송신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 생성하여 상기 CAN 통신망에 전송하는 단계와 제2 송신 시점에서 제2 데이터가 상기 제1 데이터와 동일한지 여부를 비교하는 단계와 상기 비교 결과, 동일하면, DLC(Data Length Code) 필드 값이 데이터가 변경되지 않았음을 지시하는 소정 값으로 설정된 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송하는 단계를 포함할 수 있다.
이때, 상기 제2 CAN 데이터 프레임에 상기 제2 데이터가 포함되지 않는 것을 특징으로 한다.
또한, 상기 제1 데이터 및 상기 제2 데이터의 크기가 8바이트일 수 있다.
또한, 상기 데이터가 변경되지 않았음을 지시하는 소정 값은 이진수 0000일 수 있다.
또한, 상기 비교 결과, 1 바이트가 동일하지 않은 경우, 변경된 바이트의 위치를 확인하는 단계와 상기 확인된 위치에 대응되는 DLC 필드 값을 설정하는 단계를 더 포함할 수 있다.
또한, 상기 제2 데이터 중 상기 변경된 바이트만을 상기 제2 CAN 데이터 프레임의 데이터 필드에 삽입하여 전송할 수 있다.
또한, 상기 DLC 필드는 4비트로 구성되되, 상기 4비트 중 LSB(List Significant Bit) 3비트가 상기 변경된 바이트의 위치를 표시하기 위해 사용될 수 있다.
또한, 상기 비교 결과, 2바이트 이상 동일하지 않은 경우, 상기 제2 데이터가 포함된 상기 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송할 수 있다.
또한, 상기 제1 CAN 데이터 프레임 및 상기 제2 CAN 데이터 프레임은 미리 정의된 시간 간격을 두고 주기적으로 전송될 수 있다.
본 발명의 다른 일 실시예에 따른 CAN(Controller Area Network) 통신망에 접속된 수신 노드에서의 통신 부하 절감 방법은 제1 수신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 수신하는 단계와 제2 수신 시점에서 제2 CAN 데이터 프레임을 수신하는 단계와 상기 제2 CAN 데이터 프레임의 DLC(Data Length Code) 필드 값을 추출하는 단계와 상기 추출된 DLC 값에 기반하여 상기 제2 CAN 데이터 프레임에 대응되는 제2 데이터를 생성하는 단계를 포함할 수 있다.
여기서, 상기 제1 데이터 및 상기 생성된 제2 데이터의 크기는 8바이트인 것을 특징으로 한다.
또한, 상기 DLC 필드의 크기는 4비트이고, 상기 추출된 DLC 값이 0이면 상기 제1 데이터와 상기 생성된 제2 데이터가 동일한 것으로 판단할 수 있다.
또한, 상기 추출된 DLC 값이 8을 초과하면, 상기 DLC의 상기 4비트 중 LSB(List Significant Bit) 3비트를 이용하여 상기 제1 데이터상의 변경된 바이트의 위치를 확인할 수 있다.
또한, 상기 추출된 DLC 값이 8을 초과하면, 상기 제2 CAN 데이터 프레임의 데이터 필드 값을 추출하고, 상기 추출된 데이터 필드 값을 상기 제1 데이터의 상기 확인된 위치에 삽입하여 상기 제2 데이터를 생성할 수 있다.
또한, 상기 제1 CAN 데이터 프레임 및 상기 제2 CAN 데이터 프레임은 미리 정의된 시간 간격을 두고 주기적으로 수신될 수 있다.
또한, 상기 추출된 DLC 값이 0이면, 상기 제2 CAN 데이터 프레임에 데이터가 포함되지 않을 수 있다.
본 발명의 또 다른 일 실시예는 상기한 통신 부하 절감 방법들 중 어느 하나의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 발명의 또 다른 일 실시예에 따른 CAN(Controller Area Network) 통신망에 접속된 송신 노드에서의 통신 부하 절감 장치는 제1 송신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 생성하여 상기 CAN 통신망에 전송하는 수단과 제2 송신 시점에서 제2 데이터가 상기 제1 데이터와 동일한지 여부를 비교하는 수단과 상기 비교 결과, 동일하면, DLC(Data Length Code) 필드 값이 데이터가 변경되지 않았음을 지시하는 소정 값으로 설정된 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송하는 수단을 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따른 CAN(Controller Area Network) 통신망에 접속된 수신 노드에서의 통신 부하 절감 장치는 제1 수신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 수신하는 수단과 제2 수신 시점에서 제2 CAN 데이터 프레임을 수신하는 수단과 상기 제2 CAN 데이터 프레임의 DLC(Data Length Code) 필드 값을 추출하는 수단과 상기 추출된 DLC 값에 기반하여 상기 제2 CAN 데이터 프레임에 대응되는 제2 데이터를 생성하는 수단을 포함할 수 있다.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명에 따른 방법 및 장치에 대한 효과에 대해 설명하면 다음과 같다.
첫째, 본 발명은 CAN 통신에서의 부하 절감 방법 및 장치를 제공하는 장점이 있다.
둘째, 본 발명은 기존 CAN 통신 프로토콜의 물리계층 및 데이터 링크 계층을 그대로 사용하면서 CAN 데이터 프레임에 포함되는 DLC 필드를 이용하여 CAN 버스상의 부하를 저감할 수 있는 CAN 통신 부하 절감 방법을 제공하는 장점이 있다.
셋째, 본 발명은 하드웨어의 변경 없이 소프트웨어 변경만으로 CAN 통신 부하를 절감하므로, 비용 절감 효과가 높은 장점이 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 3 내지 4는 본 발명의 일 실시예에 따른 CAN 통신에 사용되는 전송 방식을 설명하기 위한 도면이다.
도 5는 차량 안전 시스템에서의 데이터 변화 주기와 메시지 전송 주기의 관계를 설명하기 위한 테이블이다.
도 6은 국제 표준에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 테이블이다.
도 7은 본 발명에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 테이블이다.
도 8은 본 발명에 따른 CAN 데이터 프레임 전송 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 CAN 통신에서의 부하 절감 방법을 설명하기 위한 도면이다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 3 내지 4는 본 발명의 일 실시예에 따른 CAN 통신에 사용되는 전송 방식을 설명하기 위한 도면이다.
도 5는 차량 안전 시스템에서의 데이터 변화 주기와 메시지 전송 주기의 관계를 설명하기 위한 테이블이다.
도 6은 국제 표준에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 테이블이다.
도 7은 본 발명에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 테이블이다.
도 8은 본 발명에 따른 CAN 데이터 프레임 전송 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 CAN 통신에서의 부하 절감 방법을 설명하기 위한 도면이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명에 적용되는 CAN(Controller Area Network) 통신 시스템은 크게 차량용 게이트웨이(Gateway, 140), 제1 내지 제n 제어기(110), CAN 버스(120), OBD 단말(130), OBD 컨텍터(131), 차량용 게이트웨이(140), 차량 텔레매틱스 단말(150) 중 적어도 하나를 포함하여 구성될 수 있다.
일반적으로, CAN 버스상에서는 각각의 노드(ECU)가 CAN 버스에 흘러 다니는 데이터를 읽거나 쓰기 위해 액세스(access)할 때 전체 노드를 제어하는 마스터(master)가 존재하지 않는다. 따라서, 각 노드에서 데이터를 전송할 준비가 되면, 먼저 전송 준비가 되었는지를 버스상에서 확인하고 그 후 CAN 프레임을 CAN 네트워크에 전송한다. 전송되는 CAN 프레임에는 전송 노드 및 수신 노드에 대한 주소 정보가 포함되어 있지 않으며, 대신, 각각의 노드는 CAN 프레임에 포함된 고유한 ID를 통해 프레임을 분류하여 데이터를 수신한다.
차량용 게이트웨이(140)는 CAN상에 연결된 제어기(110)들에 대한 인증 절차를 통해 해당 제어기가 안전한 제어기인지 여부를 판단할 수 있다. 또한, 차량용 게이트웨이(140)는 차량 텔레매틱스 단말(150) 및 OBD 단말(130)과 유선 또는 무선으로 연결될 수 있다. 일 예로, 사용자는 OBD 단말(130)을 OBD 컨넥터(131)에 연결한 후 OBD 단말(130)상의 화면을 통해 CAN 주선 버스(122)에 연결된 제어기들(110)의 상태 정보를 확인하거나, CAN 주선 버스(122)를 통해 송수신되는 각종 제어 신호를 모니터링할 수 있다. 또한, 사용자는 OBD 단말(130)을 통해 제어기들(110)에 의해 수집된 차량 상태 정보를 확인할 수도 있다. 이때, 제어기들(110)의 상태 정보, CAN 주선 버스(122)상의 제어 신호, 제어기들(100)에 의해 수집된 차량 상태 정보 등은 차량용 게이트웨이(140)를 통해 OBD 단말(130)에 전송될 수 있다.
다른 일 예로, OBD 컨넥터(131)는 CAN 주선 버스(122)에 직접 연결될 수도 있다. 이 경우, OBD 단말(130)은 차량용 게이트웨이(140)를 경유하지 않고, 직접 CAN 주선 버스(122)상에 송수신되는 신호를 모니터링하거나 소정 제어 명령을 통해 제어기들(110)로부터 제어기 상태 정보 및 차량 상태 정보를 획득할 수 있다.
또한, 차량용 게이트웨이(140)는 OBD 단말(130)로부터의 소정 제어 신호에 따라 차량에 탑재된 제어기-즉, ECU(Electric Control Unit)-들에 설치된 소프트웨어 버전 정보를 수집하고, 수집된 소프트웨어 버전 정보를 OBD 단말(130)에 전송할 수도 있다. 또한, 차량용 게이트웨이(140)는 OBD 단말(130)의 소정 소프트웨어 업데이트 요청 신호에 따라 해당 제어기를 위한 소프트웨어 파일을 OBD 단말(130)로부터 수신한 후 해당 제어기에 설치할 수도 있다.
CAN 주선 버스(122)는 Twisted pair wire를 사용하며, 2개의 선은 서로 다른 신호(CAN_HI, CAN_LO)에 의해 구동된다. CAN 주선 버스(122)의 양 종단에는 종단 저항(121)이 구비될 수 있다. CAN 주선 버스(122)상의 전송 속도는 버스의 길이-즉, 주선의 길이-에 따라 달라질 수 있다.
제1 내지 제N 제어기(110)는 CAN 주선 버스(122)상의 소정의 CAN 조인트 컨넥터(Joint Connector) 또는 CAN 허브(Hub)-미도시-와 CAN 지선 버스(123)를 통해 연결될 수 있으며, 이론적으로 하나의 CAN 네트워크에 연결될 수 있는 최대 제어기의 개수는 2032이다. 또한, 하나의 CAN 허브에는 복수개의 제어기가 CAN 지선 버스(123)를 통해 연결될 수 있다.
이하에서는 도면 번호 110 내지 115를 참조하여 일반적인 CAN 주선 버스에 연결되는 제어기의 구조를 살펴보기로 한다.
제어기(110)는 CAN 드라이버(111), CAN 컨트롤러(113), 마이크로컨트롤러(Microcontroller, 115)로 구성될 수 있다.
CAN 드라이버(111)는 CAN 지선 버스(123) 및 CAN 컨넥터 또는 CAN 허브(미도시)를 통해 CAN 주선 버스(122)와 연결되며, 각각의 제어기의 물리 계층을 구성한다. CAN 드라이버(111)는 CAN 주선 버스(122)의 장애를 감지하고 이를 관리하는 기능 및 메시지의 송수신 기능을 제공할 수 있다.
CAN 컨트롤러(113)는 CAN 프로토콜 메시지를 송수신하고 수신된 메시지에 대한 메시지 필터링 기능을 수행한다. 또는, CAN 컨트롤러(113)는 재전송 제어를 위한 메시지 버퍼 및 마이크로컨트롤러(115)와의 인터페이스 기능을 제공한다.
마이크로컨트롤러(115)는 CPU가 탑재될 수 있으며, 상위 계층 프로토콜을 제공하고 다양한 응용들을 제공할 수 있다.
상기한 도 1에는 도시되어 있지는 않으나, 제어기는 우선 순위 정보 및 설치된 소프트웨어 버전 정보, 센싱 정보 등이 기록된 소정 메모리를 포함할 수 있다.
CAN 주선 버스(122)에 연결된 제어기(110)들은 표준에 정의된 CAN 프레임을 통해 제어 신호 및 데이터를 전송할 수 있다.
CAN 프레임의 구조는 후술할 도 2를 통해 상세히 설명하기로 한다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 2를 참조하면, CAN 데이터 프레임(200)은 SOF(Start Of Frame, 201) 필드, ID(Identifier, 202) 필드, RTR(Remote Transmission Request, 203) 필드, IDE(IDentifier Extension, 204) 필드, R(Reserved, 205) 필드, DLC(Data Length Code, 206) 필드, Data(207) 필드, CRC(Cyclic Redundancy Check, 208) 필드, ACK(ACKnowledgement, 209) 필드, EOF(End Of Frame, 210) 필드 및 IFS(InterFrame Space, 211) 필드를 포함하여 구성될 수 있다.
SOF(201)는 1비트의 길이를 가지며, 해당 프레임의 시작을 표시하기 위해 사용된다.
ID(202)는 메시지의 종류를 식별하고 메시지의 우선 순위를 지정하기 위한 정보이다. 본 예에서는 ID(202)의 길이가 11비트인 표준 CAN 데이터 프레임 포맷이 도시되어 있으나, 표준에는 ID(202)의 길이가 29비트인 확장 CAN 데이터 프레임 포맷도 정의되어 있다.
IDE(204)는 해당 프레임이 표준 프레임인지 확장 프레임인지를 식별하기 위해 사용되며, 1비트의 길이를 가진다. 예를 들어, IDE(203)의 값이 0이면 표준 프레임, 1이면 확장 프레임을 의미할 수 있다.
RTR(203)은 해당 프레임이 원격 프레임인지 데이터 프레임인지를 구별하기 용도로 사용된다. 예를 들어, RTR(203)의 값이 0이면 데이터 프레임을 의미하고, 1이면 원격 프레임을 의미할 수 있다.
R(205) 필드는 현재 표준에 용도가 정의되지 않은 추후 사용을 위해 예약된 필드로서 1비트의 길이를 가진다.
DLC(206)은 해당 프레임에 포함된 데이터의 길이를 바이트 단위로 식별하기 위한 코드 정보로서, 4비트의 길이를 가진다.
Data(207)는 0바이트(Byte)에서 8바이트까지의 가변 길이를 가질 수 있다.
CRC(208)는 15비트의 주기적인 중복 체크 코드와 1비트의 역행 델리미터(Delimiter)로 구성되며, 수신된 프레임에 오류가 있는지를 확인하기 위한 용도로 사용된다.
ACK(209)는 수신단에서 해당 프레임을 정상적으로 수신하였는지를 확인하기 위한 필드로서, 2비트의 길이를 가진다. CAN 데이터 프레임을 정확하게 수신한 모든 CAN 컨트롤러는 해당 프레임의 말미에 위치한 ACK 비트를 전송합니다. 전송 노드는 버스 상에 ACK 비트 유무를 확인하고, 만약, ACK가 발견되지 않을 경우, 전송 노드는 해당 프레임에 대한 재전송을 시도한다.
EOF(210)은 해당 CAN 프레임의 종료를 표시하기 필드로서, 7비트의 길이를 가진다.
IFS(211)는 CAN 컨트롤러가 연속된 프레임을 처리하기 위해 요구하는 시간을 제공하고, 메시지 버퍼 영역에서 적절한 위치로 정확하게 수신된 프레임을 이동시키는데 필요한 시간을 확보하기 위한 용도로 사용될 수 있다.
이상에서 살펴본 바와 같이, CAN 데이터 프레임은 총 47비트에서 111비트의 가변 길이를 갖는다. 만약, Data(207)의 크기가 8바이트인 경우, 전체 CAN 데이터 프레임에서 Data(207)가 차지하는 비율은 58%에 해당된다.
CAN 통신 메시지는 데이터 프레임, 원격 프레임, 에러 프레임 등 여러 종류의 프레임 형식이 제공된다.
하지만, 본 발명에서는 CAN 통신 부하를 절감하기 위한 목적에 가장 관련이 높은 CAN 데이터 프레임을 중심으로 상세히 살펴보기로 한다.
도 3 내지 4는 본 발명의 일 실시예에 따른 CAN 통신에 사용되는 전송 방식을 설명하기 위한 도면이다.
상세하게, 도 3은 특정 전송 노드에서 일정 주기마다 메시지를 전송하는 주기적 전송 모드에 관한 도면이고, 도 4는 전송할 데이터가 변하는 경우에만 메시지를 전송하는 이벤트 전송 모드에 관한 도면이다.
도 3을 참조하면, 전송 노드는 미리 정의된 시간 간격마다 주기적으로 메시지-즉, CAN 데이터 프레임-을 생성하여 CAN 네트워크에 전송한다. 이때, 주기적 전송 모드에서는 전송 메시지에 포함된 데이터의 변화 여부가 체크되지 않을 수 있다.
특히, 주기적 전송 모드에서 전송되는 주기적인 CAN 데이터 프레임은 수신 노드 입장에서 송신 노드가 정상 동작하고 있는지를 확인하기 위한 Keep Alive 프레임으로 사용될 수 있다.
도 4를 참조하면, 이벤트 전송 모드에서 전송 노드는 전송 대상 데이터를 이전 전송한 데이터와 비교하고, 비교 결과, 서로 상이한 경우에 전송 대상 데이터를 CAN 데이터 프레임으로 구성하여 CAN 버스상에 전송한다.
이벤트 전송 모드는 동일 데이터를 불필요하게 전송하지 않으므로 CAN 통신 부하를 줄일 수 있다. 하지만, 수신 노드 입장에서는 CAN 데이터 프레임이 수신되지 않는 이유가 데이터 변경이 없기 때문인지 송신 노드에 문제가 있는 것인지를 식별할 수 없는 문제점이 있다.
상기한 문제점으로 인해, 차량 성능 및 안전을 보장해야 하는 샤시 및 파워트레인 제어기는 주기적인 메시지를 이용하여 지정된 시간 내에 데이터를 반드시 전송되도록 설계되어 있으며, 수신 노드에서 일정 시간 동안 메시지가 수신되지 않는 경우, 송신 노드 고장으로 판단하여 Fail-Safe 모드로 전환한다.
최근에는 운전자 지원 시스템 등 차량 안전과 관련된 시스템 및 기능들의 증가로 짧은 주기의 주기 메시지들이 급격히 증가하고 있으며 이는 차량 내 통신 부하의 증가로 이어지고 있다.
성능 및 안전에 민감한 파워트레인 및 샤시 시스템들은 정해진 시간 내에 정확한 Data가 전달되어야 하며 메시지를 전송하는 제어기가 정상 상태인지 아닌지를 빠른 시간 내에 판단하여 적절한 조치를 취해야 한다.
따라서, 앞서 언급한 주기 메시지와 이벤트 메시지 중 주기 메시지를 이용한 데이터 송수신을 사용하고 있다.
그러나, 파워트레인과 샤시 시스템들이 CAN 통신을 통해 주고 받는 모든 정보들이 짧은 주기로 값이 변하는 것은 아니며 상당히 긴 시간 동안 데이터의 변화가 없는 정보들이 상당 부분 포함되어 있을 수도 있다. 이로 인해, 데이터 변화가 없는 경우에도, 송신 노드는 고장 진단 및 Fail-Safe 측면에서 주기적으로 메시지를 전송할 수 있다.
예를 들면, ESC(Electronic Stability Control) 시스템 상태와 경고등(alarm lamp) 상태를 나타내는 메시지는 정상 상태에서 모든 bit가 항상 ‘0’으로 설정되어 전송되다가 ESC 시스템에 고장이 발생하거나 ESC 제어가 수행되는 경우에만 데이터 변화가 발생된다. 특히, 일상적인 주행 상태에서는 시동 직후부터 주차할 때까지 ESC 관련 데이터의 변화가 한 번도 발생되지 않을 수도 있다. 여기서, ESC 시스템은 가속, 제동, 코너링 시 차량의 불안정한 상황을 감지하여 차량의 미끄러짐을 최소화하는 기능을 제공한다.
또 다른 예로, TCU(Transmission Control Unit)의 기어단 정보, 오일 온도 정보, 브레이크 작동 상태 정보나 TPMS의 타이어 공기압 상태 등은 주행 중에 데이터 변화가 발생하지만 데이터 변화의 주기가 수초~수분에 달해 수십 ms에서 수백ms인 메시지 전송 주기에 비해 상당히 긴 특징이 있다. 하지만, 데이터 값의 변화가 발생하면 수십~수백ms 내에 정보가 전달되어야 하므로 전송 주기를 늘릴 수 없는 문제점이 있다.
도 5는 차량 안전 시스템에서의 데이터 변화 주기와 메시지 전송 주기의 관계를 설명하기 위한 테이블이다.
도 5를 참조하면, 차선 이탈 경고 시스템(LDWS: Lane Departure Warning System)의 경우, 차선 이탈 경보 명령 데이터는 주행 중 차선 이탈이 발생된 경우 변경될 수 있으며, 차선 이탈 경보 명령 데이터의 전송 주기는 ms 단위일 수 있다.
반면, 타이어 공기압 모니터링 시스템(TPMS: Tier Pressure Monitoring System)의 경우, 저압 경고등 상태 데이터는 공기압이 기준치 이하로 저하되는 경우에만 변경된다. 즉, 타이어 펑크 등의 외부 요인으로 공기압이 갑자기 낮아지는 경우를 제외하면 거의 발생되지 않는다. 하지만, 공기압 저하는 차량 안전에 치명적이므로, 빠른 전송 주기-예를 들면, 수 ms 단위-로 해당 데이터를 발생시켜야만 한다. 여기서, TPMS는 각 타이어에 공기압 모니터링 센서가 부착되어 저압 타이어가 감지되는 경우, 클러스터 디스플레이에 경고 메시지와 함께 저공기압 타이어의 위치를 알려주는 시스템일 수 있다.
도 6은 국제 표준에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 테이블이다.
상기 도 2에서 설명한 바와 같이, DLC(206)는 CAN 데이터 프레임(200)에 포함된 데이터의 길이를 식별하기 위한 정보로서 4비트의 길이를 가진다. 현재, 표준에서는 데이터의 최대 길이가 8바이트이므로, DLC(206) 값은 도 6에 도시된 바와 같이. 이진수 "0000"에서 이진수 "1000"까지만 정의되어 사용되고 있다.
일 예로, DLC(206) 값이 이진수 "0000"이면 데이터(207)의 길이가 0바이트임을 의미하고, DLC(206) 값이 이진수 "1000"이면 데이터(207)의 길이가 8바이트임을 의미한다.
도 7은 본 발명에 따른 CAN 데이터 프레임에서의 DLC 정의를 설명하기 위한 DLC 매핑 테이블이다.
DLC 매핑 테이블(700)을 참조하면, DLC(206) 값 이진수 "0000"은 CAN 데이터 프레임에 포함된 Data(207)가 바로 이전에 전송한 CAN 데이터 프레임의 데이터(207)와 동일한 것을 의미한다. 따라서, 송신 노드는 이전 데이터와 현재 전송할 데이터가 동일한 경우, DLC(206)의 값을 이진수 "0000"으로 설정하고, 데이터(207) 필드는 채우지 않은 상태로 CAN 데이터 프레임을 생성하여 CAN 네트워크에 전송할 수 있다. 수신 노드는 수신된 CAN 데이터 프레임의 DLC(206) 값이 이진수 "0000"이면, 이전 수신된 데이터와 동일한 것으로 판단할 수 있다.
즉, 송신 노드는 데이터 변화가 없는 경우, 실제 데이터를 전송하지 않고, DLC(207) 값을 이진수 "0000"으로 전송한다. 따라서, CAN 네트워크 부하가 저감될 수 있다.
도 8은 본 발명에 따른 CAN 데이터 프레임 전송 방법을 설명하기 위한 도면이다.
상세하게, 도 8은 본 발명에 따른 DLC 정의에 따라, 송신 노드 및 수신 노드에서 CAN 데이터 프레임을 처리하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 송신 노드는 송신 순서 1에서 DLC 값을 이진수 "1000"으로 설정하여 8바이트의 데이터(0x3F000000FFFF0000)를 전송할 수 있다.
연이어, 송신 노드는 송신 순서 2에서 데이터가 변경되지 않은 경우, DLC 값을 이진수 "0000"으로 설정하고, 0바이트의 데이터를 전송한다. 이때, 수신 노드는 DLC 값이 이진수 "0000"이면, 이전 데이터(0x3F000000FFFF0000)와 동일한 것으로 판단할 수 있다.
이 후, 송신 노드는 송신 순서 6에서 데이터가 변경된 것이 확인되면, DLC 값을 이진수 "1000"으로 설정하고, 8바이트의 변경된 데이터(0x 9FFFFF00FFFFFFFF)를 전송한다.
연이어, 송신 노드는 송신 순서 7에서, 송신 순서 6에서의 데이터와 동일한 경우, DLC 값을 이진수 "0000"설정하고, 0바이트의 데이터를 전송한다.
결과적으로, 상기와 같은 제어 동작을 통해 데이터가 변경되지 않은 CAN 데이터 프레임은 종래 CAN 데이터 프레임에 비해 8바이트의 부하 절감 효과-즉, 58%의 부하 절감 효과-가 있다.
도 9는 본 발명의 다른 일 실시예에 따른 CAN 통신에서의 부하 절감 방법을 설명하기 위한 도면이다.
이상의 DLC(207)는 이진수 "0000"에서 이진수 "1000"까지만 정의되어 있으며, 이진수 "1001"값에서 이진수 "1111"까지의 값은 그 용도가 정의되어 있지 않은 상태이다.
차량 내 CAN 통신에 사용되는 주기 메시지 중에는 데이터 신뢰성 확보를 위해 CAN 데이터 프레임에 포함된 데이터 중 특정 1바이트의 데이터를 Keep Alive Counter로 사용할 수 있다. 이때, Keep Alive Counter는 매 전송 CAN 데이터 프레임마다 1씩 증가될 수 있다. 따라서, 수신 노드는 매 CAN 데이터 프레임마다 Keep Alive Counter가 일정하게 변화하는지를 확인하여 데이터가 유실되었는지를 확인할 수 있다.
또한, 특정 메시지의 경우, 전송 대상 데이터 중 1바이트만 이전 전송한 데이터와 다른 경우가 발생될 수 있다.
본 발명에 따른 송신 노드는 전체 8바이트의 데이터 중 1바이트만이 변경된 경우, 변경된 데이터의 위치에 대응되는 DLC 값을 도면 부호 910에 도시된 DLC-변경 데이터 위치 매핑 테이블을 참조하여 결정할 수 있다.
일 예로, DLC를 이용한 데이터 변경 위치 매핑 테이블(910)을 참조하면, 전체 8바이트의 데이터 중 3번째 바이트에 위치한 데이터가 변경된 경우, 해당 데이터에 대응되는 DLC 값은 이진수 "1011"일 수 있다. 즉, 4비트의 DLC 중 하위(LSB:List Significant Bit) 3비트는 전체 전송 대상 데이터상에서의 이전 전송된 전체 데이터 대비 변경된 1바이트 위치를 표시하기 위한 정보로 사용될 수 있다. 송신 노드는 DLC 값을 이진수 "1011"로 설정하고, 변경된 1바이트의 데이터만을 데이터(207) 필드에 포함하여 전송할 수 있다.
따라서, 수신 노드의 하위 계층-예를 들면, 물리 계층 또는 MAC 계층 일 수 있음-은 DLC 값이 이진수 "1000"을 초과하는 경우, LSB 3비트의 값을 확인하여 변경된 데이터의 위치 정보를 획득하고, 이전 수신된 전체 데이터 중 위치 확인된 1바이트만을 변경한 후 변경된 전체 데이터를 상위 계층-예를 들면, 응용 계층일 수 있음-으로 전달할 수 있다.
도면 번호 920을 참조하면, 송신 노드는 송신 순서 1에서 8바이트의 데이터(0x3F000000FFFF0000)를 전송할 수 있다.
연이어, 송신 노드는 송신 순서 2에서 송신 순서 1에서 전송한 전체 8바이트의 데이터 중 첫번째 바이트만이 변경된 것이 확인되면, DLC(206) 필드 값을 이진수 "1001"로 설정하고, 데이터(207) 필드에는 변경된 1 바이트(0x77)만 삽입하여 전송할 수 있다.
이때, 수신 노드는 수신된 CAN 데이터 프레임으로부터 DLC(206) 필드 값을 추출하고, 추출된 DLC(206) 값이 이진수 "1000"을 초과하는지 확인할 수 있다.
확인 결과, DLC(206) 값이 이진수 "1000"을 초과하면, DLC(206)의 LSB 3비트(001)를 이용하여 변경된 바이트의 위치 정보를 획득할 수 있다. 즉, 수신 노드는 이전 수신된 전체 데이터 중 첫번째 바이트가 변경된 것을 확인할 수 있다.
연이어, 수신 노드는 수신된 CAN 데이터 프레임으로부터 1바이트의 변경 데이터를 추출하고, 추출된 1바이트의 데이터(0x77)를 송신 순서 1에서 수신된 8바이트의 데이터 중 첫번째 바이트에 삽입하여 송신 순서 2에서의 전체 데이터(0x3F000000FFFF0077)를 획득할 수 있다.
만약, 송신 노드는 이전 전송된 데이터와 현재 전송할 데이터가 2바이트 이상 상이한 경우, 현재 전송할 데이터가 모두 포함된 CAN 데이터 프레임을 CAN 통신망에 전송할 수 있다. 이때, DLC(206) 필드의 값은 이진수 "1000"으로 설정된다.
이상에서 살펴본 바와 같이, 본 발명은 차량 내 통신 네트워크를 통해 전송되는 시스템 상태 정보, 각종 스위치 정보, 경고등/알람 제어 정보, 협조 제어 명령, 온도 정보, 타이어 압력 정보 등의 변화가 적은 정보를 이용하여 구성된 CAN 데이터 프레임을 기준으로 최대 58%의 데이터 전송량을 줄여 전체 통신 부하를 저감하고 차량 내 통신 지연을 개선할 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
200: CAN 데이터 프레임 206: DLC(Data Length Code) 필드
207: 데이터 필드 700: DLC 매핑 테이블
910: DLC를 이용한 데이터 변경 위치 매핑 테이블
207: 데이터 필드 700: DLC 매핑 테이블
910: DLC를 이용한 데이터 변경 위치 매핑 테이블
Claims (19)
- CAN(Controller Area Network) 통신망에 접속된 송신 노드에서의 통신 부하 절감 방법에 있어서,
제1 송신 시점에서 전송할 제1 데이터가 포함된 제1 CAN 데이터 프레임을 생성하여 상기 CAN 통신망에 전송하는 단계;
제2 송신 시점에서 전송할 제2 데이터가 상기 제1 데이터와 동일한지 여부를 비교하는 단계; 및
상기 비교 결과, 동일하면, DLC(Data Length Code) 필드 값이 데이터가 변경되지 않았음을 지시하는 소정 값으로 설정된 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송하는 단계
를 포함하되, 상기 비교 결과, 동일하지 않고, 상기 제1 데이터와 상기 제2 데이터가 1바이트 변경된 경우, 4비트의 DLC 필드 중 미리 정의된 3비트를 통해 상기 변경된 바이트의 위치가 식별되도록 상기 DLC 필드 값을 설정하는 것을 특징으로 하는, 통신 부하 절감 방법. - 제1항에 있어서,
상기 비교 결과, 동일하면,
상기 제2 CAN 데이터 프레임에 상기 제2 데이터가 포함되지 않는 것을 특징으로 하는, 통신 부하 절감 방법. - 제1항에 있어서,
상기 제1 데이터 및 상기 제2 데이터의 크기가 8바이트인, 통신 부하 절감 방법. - 제1항에 있어서,
상기 데이터가 변경되지 않았음을 지시하는 소정 값은 이진수 0000인 것을 특징으로 하는, 통신 부하 절감 방법. - 삭제
- 제1항에 있어서,
상기 제2 데이터 중 상기 변경된 바이트만을 상기 제2 CAN 데이터 프레임의 데이터 필드에 삽입하여 전송하는, 통신 부하 절감 방법. - 제1항에 있어서,
상기 4비트 중 LSB(List Significant Bit) 3비트가 상기 변경된 바이트의 위치를 표시하기 위해 사용되는 것을 특징으로 하는, 통신 부하 절감 방법. - 삭제
- 제1항에 있어서,
상기 제1 CAN 데이터 프레임 및 상기 제2 CAN 데이터 프레임은 미리 정의된 시간 간격을 두고 주기적으로 전송되는, 통신 부하 절감 방법. - CAN(Controller Area Network) 통신망에 접속된 수신 노드에서의 통신 부하 절감 방법에 있어서,
제1 수신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 수신하는 단계;
제2 수신 시점에서 제2 CAN 데이터 프레임을 수신하는 단계;
상기 제2 CAN 데이터 프레임의 DLC(Data Length Code) 필드 값을 추출하는 단계; 및
상기 추출된 DLC 값에 기반하여 상기 제2 CAN 데이터 프레임에 대응되는 제2 데이터를 생성하는 단계
를 포함하되,
상기 제2 데이터를 생성하는 단계는
4비트 길이를 갖는 상기 추출된 DLC 필드 값이 8을 초과하면, 상기 DLC 필드의 상기 4비트 중 LSB(List Significant Bit) 3비트를 이용하여 상기 제1 데이터상의 변경된 바이트의 위치를 확인하는 단계; 및
상기 제2 CAN 데이터 프레임으로부터 추출된 데이터 필드 값을 상기 제1 데이터의 상기 확인된 위치에 삽입하여 상기 제2 데이터를 생성하는 단계
를 포함하고, 상기 제1 데이터와 상기 제2 데이터가 1바이트 변경된 경우, 상기 3비트를 통해 상기 변경된 바이트의 위치가 식별되도록 상기 DLC 필드 값이 송신 노드에 의해 설정되는 것을 특징으로 하는, 통신 부하 절감 방법. - 제10항에 있어서,
상기 제1 데이터 및 상기 생성된 제2 데이터의 크기는 8바이트인 것을 특징으로 하는, 통신 부하 절감 방법. - 제10항에 있어서,
상기 추출된 DLC 값이 0이면 상기 제1 데이터와 상기 생성된 제2 데이터가 동일한 것으로 판단하는, 통신 부하 절감 방법. - 삭제
- 삭제
- 제10항에 있어서,
상기 제1 CAN 데이터 프레임 및 상기 제2 CAN 데이터 프레임은 미리 정의된 시간 간격을 두고 주기적으로 수신되는, 통신 부하 절감 방법. - 제10항에 있어서,
상기 추출된 DLC 필드 값이 0이면, 상기 제2 CAN 데이터 프레임에 데이터가 포함되지 않는, 통신 부하 절감 방법. - 제1항 내지 제4항, 제6항 내지 제7항, 제9항 내지 제12항, 제15항 내지 제16항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- CAN(Controller Area Network) 통신망에 접속된 송신 노드에서의 통신 부하 절감 장치에 있어서,
제1 송신 시점에서 전송할 제1 데이터가 포함된 제1 CAN 데이터 프레임을 생성하여 상기 CAN 통신망에 전송하는 수단;
제2 송신 시점에서 전송할 제2 데이터가 상기 제1 데이터와 동일한지 여부를 비교하는 수단; 및
상기 비교 결과, 동일하면, DLC(Data Length Code) 필드 값이 데이터가 변경되지 않았음을 지시하는 소정 값으로 설정된 제2 CAN 데이터 프레임을 상기 CAN 통신망에 전송하는 수단
을 포함하되, 상기 비교 결과, 동일하지 않고, 상기 제1 데이터와 상기 제2 데이터가 1바이트 변경된 경우, 4비트의 DLC 필드 중 미리 정의된 3비트를 통해 상기 변경된 바이트의 위치가 식별되도록 상기 DLC 필드 값을 설정하는 것을 특징으로 하는, 통신 부하 절감 장치. - CAN(Controller Area Network) 통신망에 접속된 수신 노드에서의 통신 부하 절감 장치에 있어서,
제1 수신 시점에서 제1 데이터가 포함된 제1 CAN 데이터 프레임을 수신하는 수단;
제2 수신 시점에서 제2 CAN 데이터 프레임을 수신하는 수단;
상기 제2 CAN 데이터 프레임의 DLC(Data Length Code) 필드 값을 추출하는 수단; 및
상기 추출된 DLC 값에 기반하여 상기 제2 CAN 데이터 프레임에 대응되는 제2 데이터를 생성하는 수단
을 포함하고, 상기 제2 데이터는 4비트 길이를 갖는 상기 추출된 DLC 필드 값이 8을 초과하면, 상기 DLC 필드의 상기 4비트 중 미리 정의된 3비트를 이용하여 상기 제1 데이터상의 변경된 바이트의 위치를 확인한 후, 상기 제2 CAN 데이터 프레임으로부터 추출된 데이터 필드 값을 상기 제1 데이터의 상기 확인된 위치에 삽입하여 생성되며, 상기 제1 데이터와 상기 제2 데이터가 1바이트 변경된 경우, 상기 3비트를 통해 상기 변경된 바이트의 위치가 식별되도록 상기 DLC 필드 값이 송신 노드에 의해 설정되는 것을 특징으로 하는, 통신 부하 절감 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140140622A KR101780278B1 (ko) | 2014-10-17 | 2014-10-17 | Can 통신에서의 통신 부하 절감 방법 및 장치 |
US14/609,313 US9705699B2 (en) | 2014-10-17 | 2015-01-29 | Method and apparatus for reducing load in can communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140140622A KR101780278B1 (ko) | 2014-10-17 | 2014-10-17 | Can 통신에서의 통신 부하 절감 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160045301A KR20160045301A (ko) | 2016-04-27 |
KR101780278B1 true KR101780278B1 (ko) | 2017-09-21 |
Family
ID=55749923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140140622A KR101780278B1 (ko) | 2014-10-17 | 2014-10-17 | Can 통신에서의 통신 부하 절감 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9705699B2 (ko) |
KR (1) | KR101780278B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102246106B1 (ko) | 2019-12-11 | 2021-04-28 | 주식회사 현대케피코 | Can 통신 데이터 송수신 방법 |
KR20230076223A (ko) | 2021-11-24 | 2023-05-31 | 전북대학교산학협력단 | Can 통신 장치 및 이의 can 프레임 압축 통신 방법 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6197000B2 (ja) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
KR101866725B1 (ko) * | 2016-09-23 | 2018-07-23 | 현대자동차주식회사 | 차량 전자 모듈의 통신방법 및 이를 포함하는 차량 |
KR101743048B1 (ko) * | 2016-10-19 | 2017-06-02 | 주식회사 엘앤비기술 | Can 통신을 이용한 통합방송시스템 |
CN106850419A (zh) * | 2017-02-10 | 2017-06-13 | 北京汽车集团有限公司 | 车载网关和用于车载网关的方法 |
KR102368605B1 (ko) * | 2017-07-31 | 2022-03-02 | 현대자동차주식회사 | 이종망간 데이터 전송 방법 |
CN107493216B (zh) * | 2017-08-11 | 2020-05-12 | 北京瑞华高科技术有限责任公司 | 控制器局域网can总线数据处理方法及装置 |
KR102429491B1 (ko) * | 2017-09-12 | 2022-08-05 | 현대자동차주식회사 | 차량 데이터 수집 장치 및 그 방법 |
KR102597410B1 (ko) * | 2017-12-04 | 2023-11-02 | 현대자동차주식회사 | 시스템에서 데이터 전송 방법 및 장치 |
KR102668305B1 (ko) * | 2018-11-16 | 2024-05-22 | 현대자동차주식회사 | 메시지 신뢰도를 이용한 데이터 전송 방법 및 장치 |
WO2020148746A1 (en) * | 2019-01-20 | 2020-07-23 | Arilou Information Security Technologies Ltd. | System and method for data compression based on data position in frames structure |
KR102022986B1 (ko) * | 2019-03-19 | 2019-09-19 | (주)세이프시스템 | 화재감지기의 상태를 고속으로 스캔하는 방법 |
KR20200129260A (ko) * | 2019-05-08 | 2020-11-18 | 현대자동차주식회사 | 차량용 리프로그래밍 장치 및 그의 리프로그래밍 방법과 그를 포함하는 차량 |
CN111211954B (zh) * | 2019-12-04 | 2021-11-12 | 一汽解放汽车有限公司 | 一种canfd总线负载率的确定方法及装置 |
US11777910B2 (en) * | 2020-06-17 | 2023-10-03 | Hyundai Motor Company | Systems and methods providing message encryption on a can bus using remote frames |
WO2022085057A1 (ja) * | 2020-10-19 | 2022-04-28 | 日産自動車株式会社 | 中継装置、通信ネットワークシステム及び通信制御方法 |
CN112532583A (zh) * | 2020-10-30 | 2021-03-19 | 浙江工业大学 | 一种can总线环境下实现服务化的方法 |
CN113489633B (zh) * | 2021-06-29 | 2022-06-17 | 东风汽车集团股份有限公司 | 车载网关CAN-Ethernet存储转发方法及网关设备 |
CN113934473B (zh) * | 2021-12-17 | 2022-03-11 | 机科发展科技股份有限公司 | 一种工业电动车辆驱动器应用程序下载***及方法 |
CN115296861B (zh) * | 2022-07-15 | 2023-06-06 | 智己汽车科技有限公司 | 车载can总线的网络安全通讯方法及控制装置 |
CN115664887A (zh) * | 2022-10-20 | 2023-01-31 | 东风汽车股份有限公司 | 一种整车can总线负载率计算方法 |
WO2024147521A1 (ko) * | 2023-01-06 | 2024-07-11 | 엘에스일렉트릭 주식회사 | 제어 시스템 및 그 효율적인 데이터 처리 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010759A1 (en) | 2003-06-18 | 2005-01-13 | Denso Corporation | Communications system and packet structure |
JP2008312010A (ja) | 2007-06-15 | 2008-12-25 | Fujitsu Microelectronics Ltd | Canのエラー検出評価方法およびcan通信装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101135101B1 (ko) | 2005-10-17 | 2012-04-16 | 엘지전자 주식회사 | 캔에서의 데이터 길이 코드를 이용한 데이터 필드 패딩방법 |
ES2595155T3 (es) | 2011-04-06 | 2016-12-28 | Robert Bosch Gmbh | Método y dispositivo para adaptar la seguridad de transmisión de datos en un sistema de bus en serie |
KR101191547B1 (ko) | 2011-06-27 | 2012-10-15 | 엘에스산전 주식회사 | 캔과 모드버스 상호간 통신을 지원하는 게이트웨이 장치의 통신 방법 및 이를 이용한 게이트웨이 장치 |
JP2013082352A (ja) | 2011-10-11 | 2013-05-09 | Denso Corp | 車両用通信装置 |
-
2014
- 2014-10-17 KR KR1020140140622A patent/KR101780278B1/ko active IP Right Grant
-
2015
- 2015-01-29 US US14/609,313 patent/US9705699B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010759A1 (en) | 2003-06-18 | 2005-01-13 | Denso Corporation | Communications system and packet structure |
JP2008312010A (ja) | 2007-06-15 | 2008-12-25 | Fujitsu Microelectronics Ltd | Canのエラー検出評価方法およびcan通信装置 |
Non-Patent Citations (1)
Title |
---|
오유경 외 1인. Data Length Code (DLC)와 비트 재배열을 이용한 CAN 데이터 압축. 2012년도 대한전자공학회 추계종합학술대회(이화여자대학교), 2012년 11월 24일, http://www.dbpia.co.kr/Journal/ArticleDetail/NODE02346442* |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102246106B1 (ko) | 2019-12-11 | 2021-04-28 | 주식회사 현대케피코 | Can 통신 데이터 송수신 방법 |
KR20230076223A (ko) | 2021-11-24 | 2023-05-31 | 전북대학교산학협력단 | Can 통신 장치 및 이의 can 프레임 압축 통신 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20160112215A1 (en) | 2016-04-21 |
KR20160045301A (ko) | 2016-04-27 |
US9705699B2 (en) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101780278B1 (ko) | Can 통신에서의 통신 부하 절감 방법 및 장치 | |
US10129124B2 (en) | Method and apparatus for controlling in-vehicle mass diagnostic communication | |
CN107078938B (zh) | 网关装置、车载网络***以及通信方法 | |
CN111934966B (zh) | 不正常检测电子控制单元、车载网络***以及不正常检测方法 | |
KR101472896B1 (ko) | 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치 | |
CN107113214B (zh) | 不正常检测电子控制单元、车载网络***以及通信方法 | |
EP2728805B1 (en) | Controller area network (can) transceiver and method for operating a can transceiver | |
CN110546921B (zh) | 不正当检测方法、不正当检测装置以及程序 | |
US11247694B2 (en) | Control apparatus, control system, control method, and storage medium | |
CN109076016B9 (zh) | 非法通信检测基准决定方法、决定***以及记录介质 | |
CN109005678B (zh) | 非法通信检测方法、非法通信检测***以及记录介质 | |
KR102304852B1 (ko) | 차량 제어기 고장 진단 또는 동작 감시 방법 및 장치 | |
CN111934994B (zh) | 网关装置、车载网络***以及通信方法 | |
CN111373701B (zh) | 异常检测装置、异常检测***以及控制方法 | |
US11637743B2 (en) | Communications device and method of communications | |
CN112003772A (zh) | 通信***以及通信控制方法 | |
KR101714526B1 (ko) | 차량 네트워크 해킹 방지 방법 및 장치 | |
KR20090063575A (ko) | Can을 통한 차량 정보 전송 방법 | |
JP6783578B2 (ja) | 車両制御システム | |
JP6223498B2 (ja) | ネットワークシステム | |
KR102592201B1 (ko) | 차량 내 통신 보안 제공 방법 및 장치 | |
CN108632242B (zh) | 通信装置及接收装置 | |
CN115580471A (zh) | 不正当检测方法、不正当检测装置以及存储介质 | |
JP2019172261A (ja) | 制御装置、制御システム、及び制御プログラム | |
CN111066001B (zh) | 日志输出方法、日志输出装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |