KR20150015831A - Can 통신의 오류 검출 장치 및 오류 검출 방법 - Google Patents

Can 통신의 오류 검출 장치 및 오류 검출 방법 Download PDF

Info

Publication number
KR20150015831A
KR20150015831A KR1020130091726A KR20130091726A KR20150015831A KR 20150015831 A KR20150015831 A KR 20150015831A KR 1020130091726 A KR1020130091726 A KR 1020130091726A KR 20130091726 A KR20130091726 A KR 20130091726A KR 20150015831 A KR20150015831 A KR 20150015831A
Authority
KR
South Korea
Prior art keywords
field
parity
bit
data
node
Prior art date
Application number
KR1020130091726A
Other languages
English (en)
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 KR1020130091726A priority Critical patent/KR20150015831A/ko
Publication of KR20150015831A publication Critical patent/KR20150015831A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명에 따른 CAN 통신의 오류 검출 장치는 CAN 프로토콜의 오류 검출을 위한 패리티 비트 및 CRC를 설정하는 설정부, 패리티를 이용한 CAN 프로토콜을 전송하는 송신부, CAN 노드 사이의 데이터를 수신하고, 수신된 ACK 비트를 송신부로 전달하는 수신부 및 수신된 패리티를 이용한 CAN 프로토콜의 패리티 비트 및 CRC를 통해 데이터 오류를 검출하는 검출부를 포함한다.

Description

CAN 통신의 오류 검출 장치 및 오류 검출 방법{APPARATUS AND METHOD FOR DETECTING ERRORS OF CAN COMMUNICATION}
본 발명은 자동차 네트워크 프로토콜의 일종인 CAN(Controller Area Network) 통신에 관한 것으로, 보다 상세하게는 CAN 통신의 오류 검출에 관한 것이다.
자동차는 자체 엔진에서 동력을 생산해 바퀴에 전달하여 승객이나 화물을 운반하는 교통 수단이다. 자동차 관련 기술이 점점 발전에 따라 탑승자의 안전과 편리성을 강화하기 위해 자동차 ECU(엔진 ECU, 미션 ECU, ABS, 에어백, ETACS 등) 및 차량 센서와 같은 다양한 기능의 전장품들이 자동차에 탑재되고 있다. 자동차에 탑재되는 다양한 기능의 전장품들이 네트워크를 형성하고 있고, 이들 네트워크 관련 부품들이 전체 자동차의 30% 이상을 차지하고 있을 정도로 자동차 구성의 중요한 부분을 차지한다.
또한, 자동차 네트워크의 구성은 차량 상태를 검지하는 센서부, 센서 신호를 처리하는 처리부(노드), 차량의 기능을 제어하는 제어부(액추에이터) 그리고 목적에 따라 이들을 연결하여 데이터를 전달하는 통신 프로토콜이 존재한다. 통신 프로토콜과 관련하여 초기 자동차에서는 장치와 장치 간의 통신 방식으로 1:1 연결 방식을 사용하였다. 이 방식은 각각의 장치별로 필요한 배선만 연결하면 되는 아주 간단한 구조였다. 그러나, 기술의 발전과 늘어나는 사용자 요구를 만족하기 위하여 네트워크를 구성하는 장치의 개수가 늘어나게 되고, 이에 따라 배선의 수도 급격히 늘어나게 되었다. 배선의 수가 늘어나면서 자동차 설계가 복잡해지며 자동차 연비 효율이 나빠지고, 복잡한 배선에 의한 고장율도 증가하는 등의 여러 가지 문제점이 발생되었다. 이러한 문제를 해결하기 위하여 CAN, LIN, MOST 등의 여러 가지 새로운 통신 프로토콜이 만들어지게 되었다.
CAN(Controller Area Network) 통신 기술은 최근 자동차 네트워크 프로토콜 중에서 대표적으로 많이 사용되고 있는 기술로써 자동차의 전자화 및 시스템의 증가에 대응하고, 전기적 노이즈 발생이 많은 자동차 환경에서 신뢰성을 확보하기 위하여 개발된 통신 방식으로 처음에는 자동차용으로 개발되었으나, 현재는 산업 전반에 걸쳐 폭넓게 사용되고 있다. CAN 통신은 다수의 노드를 병렬로 연결하여 데이터를 주고받는 구조로 되어 있다. 통신 라인을 공유하는 모든 노드들이 마스터 역할을 하는 멀티-마스터 통신 방식을 사용하기 때문에 필요에 따라 언제든지 통신이 가능하다. 즉 모든 노드가 통신선 상에 자신의 데이터를 띄워놓고, 필요할 때마다 데이터를 가져다 사용하는 방식으로 통신 라인은 CAN_High, CAN_Low 2개로 라인으로 구성되며, 두 통신 라인의 전압차를 이용하여 데이터를 처리한다. 즉, 전위차가 있느냐(도미넌트) 없느냐(리세시브)로 데이터의 논리값“0”과“1”을 구분하게 되는 것이다.
그리고, CAN 통신은 CAN 네트워크상에서 프레임이라고 하는 패킷으로 데이터를 전송한다. CAN 프레임의 종류에는 데이터, 리모트, 에러 및 오버로드 프레임이 있다. 여기서 데이터 프레임은 데이터 전달을 위하여 사용되고, 리모트 프레임은 데이터 프레임 요청을 요구할 때 사용되고, 에러 프레임은 에러를 검출한 노드가 송신하며 오버로드 프레임은 먼저 전송된 데이터 프레임과 연결되는 다음 프레임 사이에 지연 시간을 갖게 하기 위해 사용된다.
일반적으로 CAN 프로토콜은 신뢰성 있는 데이터 전송을 위한 오류 검출 메커니즘으로 순환 중복 검사(Cyclical Redundancy Check, 이하 CRC라 칭함) 필드를 이용한다. 그리고, 실시간 데이터 통신을 위하여 ACK 필드를 이용한다. 하지만, CRC 필드 및 ACK 필드를 이용한 오류 검출 방식은 수신 노드가 프레임 전체를 수신한 후에 에러를 검출하고 정상 여부를 응답하기 때문에, 우선 순위가 높고 중요한 프레임에 오류가 발생했을 경우에는 수신된 데이터의 처리시간과 재전송에 필요한 시간까지 더해진 지연이 발생하여 시스템에 문제를 발생시킬 수 있다. 또한, 오류 검출 능력은 CRC 방식이 가진 고유의 검출 능력으로 제한되는 문제점이 있다.
본 발명이 해결하고자 하는 과제는 종래 CAN 통신에서 CRC 오류 검출 방식을 이용하여 통신 오류를 검출 시 발생할 수 있는 시간 지연을 감소시키고, 검출 능력을 보다 향상시킬 수 있는 CAN 통신 오류 검출 장치 및 오류 검출 방법을 제공하는 것이다.
본 발명에 따른 CAN 통신의 오류 검출 장치는 CAN 프로토콜의 오류 검출을 위한 패리티 비트 및 CRC를 설정하는 설정부, 패리티를 이용한 CAN 프로토콜을 전송하는 송신부, CAN 노드 사이의 데이터를 수신하고, 수신된 ACK 비트를 송신부로 전달하는 수신부 및 수신된 패리티를 이용한 CAN 프로토콜의 패리티 비트 및 CRC를 통해 데이터 오류를 검출하는 검출부를 포함한다.
본 발명에 따른 CAN 통신의 오류 검출 방법은 먼저, 송신 노드에서 CAN 버스(bus)가 유휴(Idle) 상태인지를 검사하여, 유휴 상태인지 여부를 판단을 통해 CAN 버스 사용 가능 여부를 확인한다. 만약 CAN 버스가 유휴 상태가 아니라면, 송신 노드는 소정의 시간 지연(Delay) 상태를 유지한 후, 재송신을 준비한다. 송신 노드에서 CAN 버스를 검사한 결과 유휴 상태가 아니라면, 현재 CAN 버스는 다른 데이터를 송수신하는 과정이기 때문에, 새로운 데이터 프레임을 전송할 수 없다. 따라서, 송신 노드는 현재 CAN 버스에서 데이터를 송수신하는 통신이 종료되기를 소정의 시간 동안 기다린 후, 다시 CAN 버스가 유휴 상태 인지를 검사한다.
송신 노드에서 CAN 버스의 상태를 검사한 결과, CAN 버스가 유휴 상태라면, 송신노드는 데이터 또는 리모트 프레임 송신을 개시하여, 먼저, SOF 필드, 조정 필드 및 컨트롤 필드의 패리티 필드를 송신한다. 송신 노드로부터 SOF 필드, 조정 필드 및 패리티 필드를 수신한 수신 노드는 수신된 패리티 필드의 패리티를 검사한다. 그리고, 수신 노드는 수신된 패리티 필드의 패리티가 참인지 여부를 판단한다(506). 수신된 패리티 필드가 참이 아닌 거짓이라면, 수신 노드는 첫 번째 ACK비트를 리세시브 상태로 응답하고, 수신 노드로부터 리세시브 상태의 ACK 비트를 수신한 송신 노드는 CAN 버스가 리세시브이므로 에러로 판단하여, 즉시 나머지 데이터 메시지의 송신을 정지한다.
만약 수신 노드의 판단결과, 수신된 패리티 필드가 참이라면, 수신 노드는 첫 번째 ACK 비트를 도미넌트 상태로 응답하고, 도미넌트 상태의 ACK 비르를 수신한 송신 노드는 CAN 버스가 도미넌트이므로 정상으로 판단 후, 나머지 데이터 메시지를 송신한다. 수신 노드는 송신 노드로부터 CRC 필드까지 수신한 후, 계산한 CRC 값과 수신한 CRC 값과 비교한다. 그리고, 수신 노드는 계산한 CRC 값과 수신한 CRC 값을 비교한 결과가 일치하는지 여부를 판단한다. 계산한 CRC 값과 수신한 CRC 값이 일치하지 않으면, 수신 노드는 두 번째 ACK 비트를 리세시브 상태로 송신 노드로 응답하고, 리세시브 상태의 ACK 비트를 수신한 송신 노드는 비정상 상태로 판단하고 재전송을 준비한다. 만약 계산한 CRC 값과 수신한 CRC 값이 일치하면, 두 번째 ACK 비트를 도미넌트 상태로 송신 노드로 응답하고, 도미넌트 상태의 ACK 비트를 수신한 송신 노드는 정상 상태로 판단하고 전송을 종료한다.
본 발명에 따른 CAN 통신의 오류 검출 장치 및 오류 검출 방법이 적용된 CAN 통신은 종래의 CAN 통신과 달리 CAN 프로토콜 중간에 패리티 비트가 삽입되어 있다. 이러한 경우, 수신측은 데이터 혹은 리모트 프레임의 CRC 필드까지 수신하고 나서 메시지의 정상 수신 여부를 판단하는 것과는 별도로 조정 필드의 수신직후, 패리티 검사를 통해 오류 검출을 수행하여 오류가 발생 시, 즉시 전송을 멈추고 재전송을 할 수 있다. 따라서, CAN 프로토콜의 오류 검출 능력을 향상시킬 수 있으며, 오류 발생 여부를 더욱 빨리 검출하여 송신측에 통보함으로써, 재전송에 필요한 지연 시간을 줄여 데이터의 실시간성을 보장할 수 있다.
도 1은 표준에 따른 CAN 프로토콜을 나타내는 구성도이다.
도 2는 본 발명에 따른 CAN 통신의 오류 검출 장치의 일 실시예를 나타내는 구성도이다.
도 3a 및 도 3b는 본 발명에 따른 CAN 통신 오류 검출 방법의 패리티를 이용한 CAN 프로토콜의 일 실시예를 나타내는 구성도이다.
도 4는 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 확장형 데이터 프레임(410) 및 확장형 리모트 프레임(420)을 나타내는 구성도이다.
도 5는 본 발명의 실시 예에 따른 CAN 통신의 오류 검출 방법을 나타내는 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 본 명세서에서 사용되는 용어는 실시예에서의 기능 및 효과를 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자 또는 운용자의 의도 또는 업계의 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 명시된 경우에는 명시된 정의에 따르며, 구체적으로 명시하지 않는 경우, 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 표준에 따른 CAN 프로토콜을 나타내는 구성도이다.
도 1을 참조하면, 표준에 따른 CAN 프로토콜은 크게 기본형(110,120) 및 확장형(130,140)으로 분류된다. 기본형은 기본형 데이터 프레임(110) 및 기본형 리모트 프레임(120)으로 구성되며, 확장형은 확장형 데이터 프레임(130) 및 확장형 리모트 프레임(140)으로 구성된다.
기본형 데이터 프레임(110)은 SOF(Start Of Frame) 필드(111), 조정(Arbitration) 필드(112), 컨트롤(Control) 필드(113), 데이터(Data) 필드(114), CRC(Cyclic Redundancy Check) 필드(115), ACK(ACKnowledge) 필드(116) 및 EOF(End Of Frame) 필드(117)를 포함한다. 그리고 기본형 리모트 프레임(120)은 기본형 데이터 프레임(110)에서 데이터 필드(114)를 제외한, SOF 필드(121), 조정 필드(122), 컨트롤 필드(123), CRC 필드(125), ACK 필드(126) 및 EOF 필드(127)를 포함한다.
SOF 필드(111,121)는 한 개의 도미넌트(Dominant) 비트로 구성(도미넌트로 규정)되며, 데이터 프레임의 시작을 의미한다. 조정 필드(112,122)는 메시지 식별자(Arbitration ID) 및 RTR(Remote Transmission Request) 비트로 구성되며 메시지 식별자는 11비트(Bit)로 규정할 수 있다. 그리고 RTR 비트는 도미넌트로 규정될 수 있다. CAN 통신은 두 통신 라인의 전압차를 이용하여 데이터를 처리한다. 즉, 전위차가 있는 도미넌트를 전위차가 없는 리세시브보다 우선적으로 처리한다. 일반적으로 도미넌트의 논리값을 0으로, 리세시브의 논리값을 1로 설정하여 구분할 수 있다.
컨트롤 필드(113,123)는 2비트의 예약(Reserved) 비트(IDE,RB0)와 4비트의 데이터 길이 코드(DLC)로 구성될 수 있다.. 데이터 필드(114)는 0에서 8바이트 사이로 구성될 수 있다. CRC 필드(115,125)는 15비트의 CRC 코드와 1비트의 CRC 경계 비트로 구성될 수 있다. ACK 필드(116,126)는 ACK 1비트와 ACK 경계 1비트로 구성되며, 마지막으로 프레임의 끝을 나타내는 EOF 필드(117,127)가 전송된다. EOF 필드(117,127)는 7비트의 리세시브로 구성된다.
확장형 데이터 프레임(130) 및 확장형 리모트 프레임(140)은 기본형 데이터 프레임(110) 및 기본형 리모트 프레임(120)에 18비트의 메시지 식별자가 추가되어 총 29비트의 조정 필드(131,141)를 가지며, 나머지는 기본형 데이터 프레임(110) 및 기본형 리모트 프레임(120)과 동일하다.
상술한 내용과 같은 구조를 가지는 프로토콜을 표준 CAN 프로토콜이라 칭한다.
CAN 통신은 개별 노드가 CAN 버스에서 데이터를 읽거나 쓰기 위해 액세스할 때, 제어하는 마스터 노드가 없다. 즉, 임의의 CAN 노드가 데이터 전송 준비가 완료되면, 버스의 준비 여부를 확인하고, 그 후 CAN 프레임을 네트워크에 전송한다. 전송되는 CAN 프레임은 전송 노드나 수신 노드 중 어느 쪽의 주소로 포함하고 있지 않는다. 대신, 조정 필드(112,122)의 고유한 메시지 식별자가 네트워크에서 프레임을 분류하는 역할을 한다. CAN 통신의 네트워크 상의 모든 노드는 CAN 프레임을 수신하며, 전송되는 프레임의 조정 필드(112,122)의 메시지 식별자에 따라 네트워크 상의 각 CAN 노드는 프레임 수용 여부를 결정한다. 그리고, 다중 노드가 동시에 메시지를 CAN 버스로 전송하려는 경우 최우선 순위를 가진 노드가 자동적으로 버스에 액세스된다. 최저 우선 순위를 가진 노드는 버스가 사용 가능할 때까지 반드시 대기해야 한다. 이러한 방식으로 CAN 네트워크를 실행하면 CAN 노드 사이에 결정성 있는 통신을 구현할 수 있다. 일반적으로 조정 필드(112,122)의 메시지 식별자가 작을수록 노드 사이의 우선 순위가 높아지도록 설정될 수 있다.
또한, CAN 프로토콜은 데이터 프레임에 포함되어 있는 ACK 필드(116,126)를 이용하여 데이터 전송이 실시간으로 이루어 지도록 한다. 다시 말해, 수신 노드는 송신 노드로부터 전송된 데이터 프레임을 수신하면서 CRC 값을 계산하고, 자신이 계산한 CRC 값과 전송된 데이터 프레임에 포함된 CRC 필드 값과 비교하여 일치하면 리세시브 상태에 있던 ACK 비트를 도미넌트로 변환하여 응답한다. 송신 노드는 ACK 비트가 도미넌트 상태로 확인되면, 송신이 정상적으로 이루어진 것으로 판단하여 전송을 완료하고, 그렇지 않으면 재전송하게 된다.
도 2는 본 발명에 따른 CAN 통신의 오류 검출 장치의 일 실시예를 나타내는 구성도이다.
도 2를 참조하면, 본 발명에 따른 CAN 통신의 오류 검출 장치는 설정부(211), 송신부(212), 수신부(213) 및 검출부(214)를 포함하는 CAN 노드(210)로 구성된다. 도 2는 패리티를 이용한 CAN 프로토콜을 전송하는 제1 CAN 노드(210) 및 제1 CAN 노드(210)로부터 패리티를 이용한 CAN 프로토콜을 수신하는 제2 CAN 노드(230) 사이의 데이터 송수신을 통해 본 발명에 따른 CAN 통신의 오류 검출 장치를 설명하도록 한다.
설정부(211)는 패리티를 이용한 CAN 프로토콜에서 데이터 송수신에서 발생할 수 있는 오류를 검출하기 위해 패리티 비트를 설정하여, CAN 프로토콜에 부가한다. 패리티를 이용한 CAN 프로토콜은 크게 데이터 프레임과 리모트 프레임으로 구분할 수 있다. 데이터 프레임은 SOF(Start Of Frame) 필드, 조정(Arbitration) 필드, 컨트롤(Control) 필드, 데이터(Data) 필드, CRC(Cyclic Redundancy Check) 필드, ACK(ACKnowledge) 필드 및 EOF(End Of Frame) 필드를 포함할 수 있다. 설정부(211)는 컨트롤 필드를 구성하는 상위 비트인 패리티 비트의 값을 설정한다. 컨트롤 필드의 패리티 비트는 데이터의 오류를 검출하기 위해 삽입된 비트이다. 패리티 비트의 설정 및 패리티 비트를 통한 오류 검출 과정은 후술하는 도 3a, 도 3b 및 도 4에서 상세히 설명하도록 한다.
그리고 설정부(211)는 패리티를 이용한 CAN 프로토콜에서 CRC 값을 설정한다. CRC는 데이터를 송수신하는 과정에서 오류를 검출해내는 수학적인 기법이다. 수신된 CRC 값을 연산한 결과값이 맞다면, 통신이 정상적으로 이루어진 것으로 판단하고, CRC 값을 연산한 결과값이 틀리면, 통신에 오류가 발생한 것으로 판단할 수 있다.
송신부(212)는 설정부(211)에 의해 설정된 패리티 비트 및 CRC를 포함하는 패리티를 이용한 CAN 프로토콜을 제2 CAN 노드(230)로 송신한다. 송신부(212)는 먼저 패리티를 이용한 CAN 프로토콜에서 SOF 필드, 조정 필드 및 패리티 비트를 먼저 제2 CAN 노드(230)로 전송한다. 그리고 제2 CAN 노드(230)로부터 수신되는 ACK 비트의 상태에 따라 나머지 파일을 계속 전송할지 여부를 결정한다. 제2 CAN 노드(230)로부터 수신되는 ACK 비트는 파일이 정상적으로 전송된 경우 도미넌트 상태를 가지며, 파일이 정상적으로 전송되지 않은 경우 리세시브 상태를 가진다. 송신부(212)는 수신된 ACK 비트가 리세시브 상태인 경우, 데이터 전송에 오류가 발생한 것으로 판단하여, 소정의 시간을 대기한 후, 재전송을 시도한다.
만약 송신부(212)는 수신된 ACK 비트가 도미넌트 상태인 경우, 데이터가 정상적으로 전송된 것으로 판단하여 패리티 비트 이후의 컨트롤 필드, 데이터 필드 및 CRC 필드를 제2 CAN 노드(230)로 전송한다. 그리고 송신부(212)는 제2 CAN 노드(230)로부터 송신되는 CRC에 따른 ACK 비트의 상태에 따라 파일이 정상적으로 전송되었는지 여부를 판단한다. 제2 CAN 노드(230)는 CRC 계산을 통해 파일이 정상적으로 전송되었는지를 판단한다. 그리고 CRC에 따른 ACK 비트는 파일이 정상적으로 전송된 경우 도미넌트 상태를 가지며, 파일이 정상적으로 전송되지 않은 경우 리세시브 상태를 가진다. 송신부(212)는 수신된 ACK 비트가 리세시브 상태인 경우, 데이터 전송에 오류가 발생한 것으로 판단하여, 소정의 시간을 대기한 후, 재전송을 시도한다. 반면에, 수신된 ACK 비트가 도미넌트 상태인 경우, 송신부(212)는 데이터가 정상적으로 송신된 것으로 판단하여, EOF를 제2 CAN 노드(230)로 전송하여 모든 데이터 전송을 완료한다.
수신부(213)는 제2 CAN 노드(230)로부터 수신된 ACK 비트를 송신부(212)로 전달한다.
제1 CAN 노드(210)로부터 패리티를 이용한 CAN 프로토콜을 수신하는 제2 CAN 노드(230)는 수신부(231), 검출부(232), 송신부(233) 및 설정부(234)를 포함한다.
수신부(231)는 제1 CAN 노드(210)로부터 패리티를 이용한 CAN 프로토콜을 수신받아 검출부(232)로 전달한다.
검출부(232)는 제1 CAN 노드(210)로부터 수신된 패리티를 이용한 CAN 프로토콜에서 패리티 비트 및 CRC를 통해 파일 오류를 검출한다. 먼저, 제1 CAN 노드(210)로부터 SOF 필드, 조정 필드 및 패리티 필드를 수신한다. 그리고 수신된 SOF 필드, 조정 필드 및 패리티 필드에서, 패리티 필드의 설정값과 비트 1의 개수를 비교하여 SOF 필드 및 조정 필드가 정상적으로 전송되었는지를 판단한다. 그리고 검출부는 파일의 오류 판단 결과를 송신부(233)로 전달한다. 송신부(233)는 오류 판단 결과, 오류가 발생한 것으로 판단되면, 데이터 재전송을 위해 ACK 비트를 리세시브 상태로 제1 CAN 노드(210)로 전달한다. 만약 오류 판단 결과 정상적으로 데이터가 전송된 것으로 판단되면, 송신부(233)는 데이터를 계속 전송하기 위해 ACK 비트를 도미넌트 상태로 제1 CAN 노드(210)로 전달한다.
검출부(232)는 패리티 비트를 통해 오류를 검출하여 SOF 필드 및 조정 필드가 정상적으로 전송되면, 이후 컨트롤 필드, 데이터 필드 및 CRC 필드를 제1 CAN 노드(210)로부터 수신한다. 검출부(232)는 수신된 CRC 필드의 CRC 값을 계산하여 계산 결과가 참인지 거짓인지를 통해 데이터가 정상적으로 송신되었는지 여부를 판단한다. CRC 계산 결과가 참이라면, 오류가 발생하지 않은 것으로 판단하고, CRC 계산 결과가 거짓이라면, 오류가 발생한 것으로 판단한다. 그리고 오류 판단 결과를 송신부(233)로 전달한다. 송신부(233)는 오류 판단 결과, 오류가 발생한 것으로 판단되면, 데이터 재전송을 위해 ACK 비트를 리세시브 상태로 제1 CAN 노드(210)로 전달한다. 만약 오류 판단 결과 정상적으로 데이터가 전송된 것으로 판단되면, 송신부(233)는 데이터를 계속 전송하기 위해 ACK 비트를 도미넌트 상태로 제1 CAN 노드(210)로 전달한다.
패리티 비트 및 CRC 설정과 설정된 패리티 비트 및 CRC에 따른 오류 판별 과정과 패리티를 이용한 CAN 프로토콜에 대한 구체적은 내용은 후술하는 도 3a, 도 3b, 도 4 및 도 5에서 설명하도록 한다.
도 3a 및 도 3b는 본 발명에 따른 CAN 통신 오류 검출 방법의 패리티를 이용한 CAN 프로토콜의 일 실시예를 나타내는 구성도이다.
도 3a는 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 데이터 프레임의 일 실시예를 나타내는 구성도이다.
도 3a를 참조하면, 본 발명에 따른 패리티를 이용한 CAN 프로토콜 구조의 데이터 프레임(310)은 SOF(Start Of Frame) 필드(311), 조정(Arbitration) 필드(321), 컨트롤(Control) 필드(313), 데이터(Data) 필드(314), CRC(Cyclic Redundancy Check) 필드(315), ACK(ACKnowledge) 필드(316) 및 EOF(End Of Frame) 필드(317)를 포함한다.
SOF 필드(311)는 한 개의 도미넌트(Dominant) 비트로 구성(도미넌트로 규정)되며, 데이터 프레임의 시작을 의미한다. 조정 필드(312)는 메시지 식별자(Arbitration ID) 및 RTR(Remote Transmission Request) 비트로 구성되며 메시지 식별자는 11비트(Bit)로 규정할 수 있다. 그리고 RTR 비트는 도미넌트로 규정될 수 있다. CAN 통신은 두 통신 라인의 전압차를 이용하여 데이터를 처리한다. 즉, 전위차가 있는 도미넌트를 전위차가 없는 리세시브보다 우선적으로 처리한다. 일반적으로 도미넌트의 논리값을 0으로, 리세시브의 논리값을 1로 설정하여 구분할 수 있다.
컨트롤 필드(313)는 총 6비트로 구성될 수 있으며, 상위 2비트의 예약 비트(313-1,313-2)와 하위 4비트의 데이터 길이 코드(313-3)로 구성될 수 있다. 패리티를 이용한 CAN 프로토콜의 예약 비트는 도 1의 표준 CAN 프로토콜의 예약 비트와 달리 2비트 중에서 상위 1비트를 패리티 비트(Parity Bit)(313-1)로 설정한다. 이때, 패티리 비트(313-1)는 짝수(even) 패리티와 홀수(odd) 패리티의 2가지 종류가 있다. 짝수 패리티는 SOF 필드(311) 및 조정 필드(312)를 합친 비트에서 비트 1의 개수가 짝수가 되도록 패리티 비트를 결정한다. 예를 들어, SOF 필드(311) 및 조정 필드(312)를 합친 비트가 0001011001010이라고 가정하면, 비트 1의 개수가 5개이므로 1의 개수가 짝수가 되도록 패리티를 추가한 전체 메시지 비트는 0001011001010에 패리티 비트 1을 추가한 00010110010101이 된다. 이와 반대로 홀수 패리티는 SOF 필드(311) 및 조정 필드(312)를 합친 비트에서 비트 1의 개수가 홀수가 되도록 패리티 비트를 추가한다. 상기 예에서 홀수 패리티를 추가한 메시지는 00010110010100이 된다.
컨트롤 필드(313)의 상위 2번째 비트는 ACK 비트(313-2)로 설정된다. 패리티를 이용한 CAN 프로토콜에서 ACK 비트(313-2)는 송신 노드가 데이터 프레임이나 리모트 프레임을 송신하고 있는 사이에 수신 노드가 반환하는 신호이다. 송신 노드가 데이터를 송신하고 있는 동안에 ACK 비트(313-2)는 리세시브 상태에 있다. 수신 노드는 SOF 필드(311)와 조정 필드(312) 그리고 컨트롤 필드(313)의 패리티 비트(313-1)까지 수신한 후, 데이터 비트 1의 개수가 짝수(혹은 홀수)가 맞는지 확인하고 맞으면 정상적으로 데이터를 수신한 것이므로 ACK 비트(313-2)를 도미넌트 레벨로 변환하여 응답한다. 송신 노드는 ACK 비트(313-2)의 도미넌트 상태를 확인하면 정상 상태로 판단하여 나머지 컨트롤 필드(데이터 길이 코드,313-3)부터 계속해서 송신한다. 이는 CAN 송신 노드가 메시지를 송신하면서 항상 자기 자신의 비트를 모니터링하고 있으므로 이러한 처리가 가능하게 된다.
만약 수신 노드에서 패리티 검사를 진행하여 데이터에 오류가 발견되면 ACK 레벨을 리세시브 상태로 유지하게 되고, 송신 노드는 즉시 메시지 송신을 멈추고 재전송을 준비하게 된다. 이렇게, SOF 필드와 조정 필드에서 오류가 발생하였을 경우에 즉시 전송을 멈추고 메시지를 재전송 할 수 있게 함으로써 CAN 프로토콜에서 요구하는 실시간 정보 전달 기능을 가능하게 한다.
데이터 필드(314)는 0에서 8바이트 사이로 구성될 수 있다. CRC 필드(315)는 15비트의 CRC 코드와 1비트의 CRC 경계 비트로 구성될 수 있다. ACK 필드(316)는 ACK 1비트와 ACK 경계 1비트로 구성되며, 마지막으로 프레임의 끝을 나타내는 EOF 필드(317)가 전송된다. EOF 필드(317)는 7비트의 리세시브로 구성된다.
도 3b는 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 리모트 프레임(320)의 일 실시예를 나타내는 구성도이다.
도 3b를 참조하면, 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 리모트 프레임(320)은 도 3a의 패리티를 이용한 데이터 프레임(310)에서 데이터 필드(314)를 제외한, SOF 필드(321), 조정 필드(322), 컨트롤 필드(323), CRC 필드(325), ACK 필드(326) 및 EOF 필드(327)를 포함한다.
SOF 필드(321)는 한 개의 도미넌트(Dominant) 비트로 구성(도미넌트로 규정)되며, 데이터 프레임의 시작을 의미한다. 조정 필드(322)는 메시지 식별자 및 RTR 비트로 구성되며 메시지 식별자는 11비트(Bit)로 규정할 수 있다. 그리고 RTR 비트는 도미넌트로 규정될 수 있다.
컨트롤 필드(323)는 총 6비트로 구성될 수 있으며, 상위 2비트의 예약 비트(323-1,323-2)와 하위 4비트의 데이터 길이 코드(323-3)로 구성될 수 있다. 패리티를 이용한 CAN 프로토콜의 예약 비트는 도 1의 표준 CAN 프로토콜의 예약 비트와 달리 2비트 중에서 상위 1비트를 패리티 비트(323-1)로 설정한다. 패리티 비트(323-1)를 설정하는 방법은 도 3a에 기재된 패리티 비트(313-1) 설정 방법과 동일하다.
그리고, 컨트롤 필드(323)의 상위 2번째 비트는 ACK 비트(323-2)로 설정된다. 패리티를 이용한 CAN 프로토콜에서 ACK 비트(323-2)는 송신 노드가 데이터 프레임이나 리모트 프레임을 송신하고 있는 사이에 수신 노드가 반환하는 신호이다. 송신 노드가 데이터를 송신하고 있는 동안에 ACK 비트(323-2)는 리세시브 상태에 있다. 수신 노드는 SOF 필드(321)와 조정 필드(322) 그리고 컨트롤 필드(323)의 패리티 비트(323-1)까지 수신한 후, 데이터 비트 1의 개수가 짝수(혹은 홀수)가 맞는지 확인하고 맞으면 정상적으로 데이터를 수신한 것이므로 ACK 비트(323-2)를 도미넌트 레벨로 변환하여 응답한다. 송신 노드는 ACK 비트(323-2)의 도미넌트 상태를 확인하면 정상 상태로 판단하여 나머지 컨트롤 필드(데이터 길이 코드,323-3)부터 계속해서 송신한다. 이는 CAN 송신 노드가 메시지를 송신하면서 항상 자기 자신의 비트를 모니터링하고 있으므로 이러한 처리가 가능하게 된다.
만약 수신 노드에서 패리티 검사를 진행하여 데이터에 오류가 발견되면 ACK 레벨을 리세시브 상태로 유지하게 되고, 송신 노드는 즉시 메시지 송신을 멈추고 재전송을 준비하게 된다. 이렇게, SOF 필드와 조정 필드에서 오류가 발생하였을 경우에 즉시 전송을 멈추고 메시지를 재전송 할 수 있게 함으로써 CAN 프로토콜에서 요구하는 실시간 정보 전달 기능을 가능하게 한다.
ACK 필드(316)는 ACK 1비트와 ACK 경계 1비트로 구성되며, 마지막으로 프레임의 끝을 나타내는 EOF 필드(317)가 전송된다. EOF 필드(317)는 7비트의 리세시브로 구성된다.
도 4는 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 확장형 데이터 프레임(410) 및 확장형 리모트 프레임(420)을 나타내는 구성도이다.
도 4를 참조하면, 본 발명에 따른 패리티를 이용한 CAN 프로토콜의 확장형 데이터 프레임(410)은 도 3a의 데이터 프레임(310)에 18비트의 메시지 식별자(411-1) 및 IDE(412-2)가 추가되어 총 31비트의 조정 필드(411)를 가지며, 나머지는 도 3a의 데이터 프레임(310)과 동일하다.
본 발명에 따른 패리티를 이용한 CAN 프로토콜의 확장형 리모트 프레임(420)은 도 3b의 데이터 프레임(320)에 18비트의 메시지 식별자(421-1) 및 IDE(422-2)가 추가되어 총 31비트의 조정 필드(421)를 가지며, 나머지는 도 3b의 리모트 프레임(320)과 동일하다.
컨트롤 필드(413,423)는 총 6비트로 구성될 수 있으며, 상위 2비트의 예약 비트(413-1,413-2,423-1.423-2))와 하위 4비트의 데이터 길이 코드(313-3,323-3)로 구성될 수 있다. 패리티를 이용한 CAN 프로토콜의 예약 비트는 2비트 중에서 상위 1비트를 패리티 비트(Parity Bit)(413-1,423-1)로 설정한다. 컨트롤 필드(413,423)의 상위 2번째 비트는 ACK 비트(413-2,423-2)로 설정된다. 패리티를 이용한 CAN 프로토콜에서 ACK 비트(413-2,423-2)는 송신 노드가 데이터 프레임이나 리모트 프레임을 송신하고 있는 사이에 수신 노드가 반환하는 신호이다. 송신 노드가 데이터를 송신하고 있는 동안에 ACK 비트(413-2,423-2)는 리세시브 상태에 있다. 수신 노드는 SOF 필드(411,423)와 조정 필드(412,422) 그리고 컨트롤 필드(413,423)의 패리티 비트(413-1,423-1)까지 수신한 후, 데이터 비트 1의 개수가 짝수(혹은 홀수)가 맞는지 확인하고 맞으면 정상적으로 데이터를 수신한 것이므로 ACK 비트(413-2,423-2)를 도미넌트 레벨로 변환하여 응답한다. 송신 노드는 ACK 비트(413-2,423-2)의 도미넌트 상태를 확인하면 정상 상태로 판단하여 나머지 컨트롤 필드(313-3,323-3)부터 계속해서 송신한다. 이는 CAN 송신 노드가 메시지를 송신하면서 항상 자기 자신의 비트를 모니터링하고 있으므로 이러한 처리가 가능하게 된다.
만약 수신 노드에서 패리티 검사를 진행하여 데이터에 오류가 발견되면 ACK 레벨을 리세시브 상태로 유지하게 되고, 송신 노드는 즉시 메시지 송신을 멈추고 재전송을 준비하게 된다. 이렇게, SOF 필드와 조정 필드에서 오류가 발생하였을 경우에 즉시 전송을 멈추고 메시지를 재전송 할 수 있게 함으로써 CAN 프로토콜에서 요구하는 실시간 정보 전달 기능을 가능하게 한다.
도 5는 본 발명의 실시 예에 따른 CAN 통신의 오류 검출 방법을 나타내는 흐름도이다.
도 5를 참조하면, 본 발명에 따른 CAN 통신의 오류 검출 방법에서 메시지 전송은 먼저, 송신 노드에서 CAN 버스(bus)가 유휴(Idle) 상태인지를 검사한다(501). 송신 노드는 수신 노드로 새로운 데이터 프레임을 전송하기 위해 CAN 버스가 다른 데이터를 송신하지 않고 대기하는 유휴 상태인지 여부를 검사한다. 송신 노드가 CAN 버스의 상태를 검사하는 동안 수신 노드는 수신 대기 상태를 유지한다. 송신 노드는 CAN 버스를 검사한 결과가 유휴 상태인지 여부를 판단한다(502).
CAN 버스가 유휴 상태가 아니라면, 송신 노드는 소정의 시간 지연(Delay) 상태를 유지한 후, 401 단계를 재수행한다(503). 송신 노드에서 CAN 버스를 검사한 결과 유휴 상태가 아니라면, 현재 CAN 버스는 다른 데이터를 송수신하는 과정이기 때문에, 새로운 데이터 프레임을 전송할 수 없다. 따라서, 송신 노드는 현재 CAN 버스에서 데이터를 송수신하는 통신이 종료되기를 소정의 시간 동안 기다린 후, 다시 CAN 버스가 유휴 상태 인지를 검사(501)한다.
송신 노드에서 CAN 버스의 상태를 검사한 결과, CAN 버스가 유휴 상태라면, 송신노드는 데이터 또는 리모트 프레임 송신을 개시하여, 먼저, SOF 필드, 조정 필드 및 컨트롤 필드의 패리티 필드를 송신한다(504). 송신 노드에서 CAN 버스가 유휴 상태로 판단되면, 송신 노드에서 수신 노드로 데이터 프레임 전송을 시작한다. 송신 노드는 먼저, 데이터 프레임의 프로토콜에서 SOF 필드, 조정 필드 및 컨트롤 필드의 패리티 필드를 송신한다. 본 발명에서 사용되는 패리티를 이용한 CAN 프로토콜은 SOF 필드 및 조정 필드 이후의 컨트롤 필드에 패리티 비트를 더 포함하고 있다. 따라서, 송신 노드는 패리티를 이용한 CAN 프로토콜 중에서 SOF 필드부터 컨트롤 필드의 패리티 비트까지를 먼저 수신 노드로 전송한다. 송신 노드에서 데이터 프레임을 전송함에 따라 수신 노드는 수신을 개시한다.
송신 노드로부터 SOF 필드, 조정 필드 및 패리티 필드를 수신한 수신 노드는 수신된 패리티 필드의 패리티를 검사한다(505). 송신 노드를 수신 노드로 SOF 필드, 조정 필드 및 컨트롤 필드의 패리티 비트를 전송한다. 그리고, 수신 노드는 수신된 패리티 필드의 패리티가 참인지 여부를 판단한다(506). CAN 프로토콜의 데이터 프레임에서, SOF 필드는 데이터 프레임의 전송을 알리는 필드이고, 조정 필드는 메시지 식별자를 포함한다. 그리고 컨트롤 필드의 패리티 비트는 데이터의 오류를 검출하기 위해 삽입된 비트이다. 패티리 비트는 짝수(even) 패리티와 홀수(odd) 패리티의 2가지 종류가 있다. 짝수 패리티는 SOF 필드 및 조정 필드를 합친 비트에서 비트 1의 개수가 짝수가 되도록 패리티 비트를 결정한다. 예를 들어, SOF 필드 및 조정 필드를 합친 비트가 0001011001010이라고 가정하면, 비트 1의 개수가 5개이므로 1의 개수가 짝수가 되도록 패리티를 추가한 전체 메시지 비트는 0001011001010에 패리티 비트 1을 추가한 00010110010101이 된다.
이와 같이, SOF 필드 및 조정 필드와 패리티 비트의 설정 값을 비교하여 설정된 비트의 짝수(또는 홀수) 여부가 설정과 동일하다면 짝으로 판단하고, 설정과 다르다면 거짓으로 판단할 수 있다. 예를 들어, 패리티 비트가 짝수로 설정된 경우, SOF 필드, 조정 필드 및 패리티 비트에서 비트 1의 개수가 짝수라면 참으로, 홀수라면 거짓으로 판단하게 된다. 수신 노드는 이처럼 패리티 비트를 통해 SOF 필드 및 조정 필드가 정상적으로 전송되었는지 여부를 판단할 수 있다.
수신된 패리티 필드가 참이 아닌 거짓이라면, 수신 노드는 첫 번째 ACK비트를 리세시브 상태로 응답하고, 수신 노드로부터 리세시브 상태의 ACK 비트를 수신한 송신 노드는 CAN 버스가 리세시브이므로 에러로 판단하여, 즉시 나머지 데이터 메시지의 송신을 정지한다(507). 그리고 501 단계를 재수행한다. 컨트롤 필드의 ACK 비트는 송신 노드가 데이터 프레임이나 리모트 프레임을 송신하고 있는 사이에 수신 노드가 반환하는 신호이다. 송신 노드가 데이터를 송신하고 있는 동안에 ACK 비트는 리세시브 상태에 있다. 수신 노드는 SOF 필드와 조정 필드 그리고 컨트롤 필드의 패리티 비트까지 수신한 후, 데이터 비트 1의 개수가 짝수(혹은 홀수)가 맞는지 확인하여, 결과가 틀리다면 거짓으로 판단하여 데이터에 오류가 발생한 것으로 판단한다. 패리티 검사를 통해 데이터에 오류가 발생한 것으로 판단되면, ACK 비트를 리세시브 상태로 유지하게 되고, 송신 노드는 즉시 메시지 송신을 멈추고 재전송을 준비하게 된다.
만약 수신 노드의 판단결과, 수신된 패리티 필드가 참이라면, 수신 노드는 첫 번째 ACK 비트를 도미넌트 상태로 응답하고, 도미넌트 상태의 ACK 비르를 수신한 송신 노드는 CAN 버스가 도미넌트이므로 정상으로 판단 후, 나머지 데이터 메시지를 송신한다(508). 수신 노드는 SOF 필드와 조정 필드 그리고 컨트롤 필드의 패리티 비트까지 수신한 후, 데이터 비트 1의 개수가 짝수(혹은 홀수)가 맞는지 확인하고 맞으면 정상적으로 데이터를 수신한 것이므로 ACK 비트를 도미넌트 레벨(상태)로 변환하여 응답한다. 송신 노드는 수신된 ACK 비트의 상태가 도미넌트 상태인 것을 통해 데이터 송신이 정상적으로 이루어지고 있는 것으로 판단하여 나머지 컨트롤 필드(데이터 길이 코드)부터 계속해서 송신한다. 이는 CAN 송신 노드가 메시지를 송신하면서 항상 자기 자신의 비트를 모니터링하고 있으므로 이러한 처리가 가능하게 된다.
수신 노드는 송신 노드로부터 CRC 필드까지 수신한 후, 계산한 CRC 값과 수신한 CRC 값과 비교한다(509). 그리고, 수신 노드는 계산한 CRC 값과 수신한 CRC 값을 비교한 결과가 일치하는지 여부를 판단한다(510). CRC(Cyclical Redundancy Check)는 순환 중복 검사라고도 불린다. CRC는 데이터를 송수신하는 과정에서 오류를 검출해내는 수학적인 기법이다. 수신된 CRC 값을 연산한 결과값이 맞다면, 통신이 정상적으로 이루어진 것으로 판단하고, CRC 값을 연산한 결과값이 틀리면, 통신에 오류가 발생한 것으로 판단할 수 있다. 패티리 비트를 통해 SOF 필드와 조정 필드가 정상적으로 수신된 것을 확인한 송신 노드는 패리티 비트이후의 데이터 길이 코드부터, 데이터 필드 및 CRC 필드를 수신한다. 그리고 수신 노드는 CRC 필드의 CRC 값을 통해 CRC를 계산하여, 컨트롤 필드 및 데이터 필드가 정상적으로 수신되었는지 여부를 판단할 수 있다.
계산한 CRC 값과 수신한 CRC 값이 일치하지 않으면, 수신 노드는 두 번째 ACK 비트를 리세시브 상태로 송신 노드로 응답하고, 리세시브 상태의 ACK 비트를 수신한 송신 노드는 비정상 상태로 판단하고 재전송을 준비한다(511). 그리고 501 단계를 재수행한다. 수신 노드는 송신 노드로부터 전송된 데이터 프레임을 수신하면서 CRC 값을 계산하고, CRC 계산 결과가 틀리면, 수신된 컨트롤 필드 및 데이터 필드에 오류가 발생한 것으로 판단한다. 따라서, 수신 노드는 두 번째 ACK 비트를 리세시브 상태로 변환하여 송신 노드로 응답하고, 수신 노드는 송신을 중단하고, 재전송을 준비하고, 501 단계를 재수행한다.
계산한 CRC 값과 수신한 CRC 값이 일치하면, 두 번째 ACK 비트를 도미넌트 상태로 송신 노드로 응답하고, 도미넌트 상태의 ACK 비트를 수신한 송신 노드는 정상 상태로 판단하고 전송을 종료한다(512). 수신 노드는 송신 노드로부터 전송된 데이터 프레임을 수신하면서 CRC 값을 계산하고, 자신이 계산한 CRC 값과 전송된 데이터 프레임에 포함된 CRC 필드 값과 비교하여 일치하면 리세시브 상태에 있던 ACK 비트를 도미넌트로 변환하여 응답한다. 송신 노드는 ACK 비트가 도미넌트 상태로 확인되면, 송신이 정상적으로 이루어진 것으로 판단하여 전송을 완료한다.
이상 바람직한 실시 예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시 예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형이 가능하다.
110: 기본형 데이터 프레임
120: 기본형 리모트 프레임
130: 확장형 데이터 프레임
140: 확장형 리모트 프레임
210: 제1 CAN 노드
211: 설정부
212: 송신부
213: 수신부
214: 검출부
230: 제2 CAN 노드
310: 패리티를 이용한 데이터 프레임
320: 패리티를 이용한 리모트 프레임
410: 패리티를 이용한 확장형 데이터 프레임
420: 패리티를 이용한 확장형 리모트 프레임

Claims (1)

  1. CAN 프로토콜의 오류 검출을 위한 패리티 비트 및 CRC를 설정하는 설정부;
    패리티를 이용한 CAN 프로토콜을 전송하는 송신부;
    CAN 노드 사이의 데이터를 수신하고, 수신된 ACK 비트를 송신부로 전달하는 수신부; 및
    상기 수신된 패리티를 이용한 CAN 프로토콜의 패리티 비트 및 CRC를 통해 데이터 오류를 검출하는 검출부;
    를 포함하는 것을 특징으로 하는 CAN 통신의 오류 검출 장치.
KR1020130091726A 2013-08-01 2013-08-01 Can 통신의 오류 검출 장치 및 오류 검출 방법 KR20150015831A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130091726A KR20150015831A (ko) 2013-08-01 2013-08-01 Can 통신의 오류 검출 장치 및 오류 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130091726A KR20150015831A (ko) 2013-08-01 2013-08-01 Can 통신의 오류 검출 장치 및 오류 검출 방법

Publications (1)

Publication Number Publication Date
KR20150015831A true KR20150015831A (ko) 2015-02-11

Family

ID=52572988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130091726A KR20150015831A (ko) 2013-08-01 2013-08-01 Can 통신의 오류 검출 장치 및 오류 검출 방법

Country Status (1)

Country Link
KR (1) KR20150015831A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017018726A1 (ko) * 2015-07-24 2017-02-02 (주)와플 센서 신호 검출 시스템 및 이를 구비하는 스마트 플러그
KR101952117B1 (ko) * 2018-03-15 2019-02-26 자동차부품연구원 차량용 캔 통신 방법 및 장치
KR20200012162A (ko) 2018-07-26 2020-02-05 현대오트론 주식회사 차량용 메시지 패킷을 송수신하는 장치 및 방법
CN114326371A (zh) * 2022-03-16 2022-04-12 天津德科智控股份有限公司 一种eps系统mcu片间冗余通信的方法
CN116346530A (zh) * 2023-05-25 2023-06-27 合肥健天电子有限公司 一种基于博世can2.0协议的降低传输帧错误漏检率方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017018726A1 (ko) * 2015-07-24 2017-02-02 (주)와플 센서 신호 검출 시스템 및 이를 구비하는 스마트 플러그
KR101952117B1 (ko) * 2018-03-15 2019-02-26 자동차부품연구원 차량용 캔 통신 방법 및 장치
KR20200012162A (ko) 2018-07-26 2020-02-05 현대오트론 주식회사 차량용 메시지 패킷을 송수신하는 장치 및 방법
CN114326371A (zh) * 2022-03-16 2022-04-12 天津德科智控股份有限公司 一种eps系统mcu片间冗余通信的方法
CN114326371B (zh) * 2022-03-16 2022-06-14 天津德科智控股份有限公司 一种eps系统mcu片间冗余通信的方法
CN116346530A (zh) * 2023-05-25 2023-06-27 合肥健天电子有限公司 一种基于博世can2.0协议的降低传输帧错误漏检率方法
CN116346530B (zh) * 2023-05-25 2023-08-18 合肥健天电子有限公司 一种基于博世can2.0协议的降低传输帧错误漏检率方法

Similar Documents

Publication Publication Date Title
US10142358B1 (en) System and method for identifying an invalid packet on a controller area network (CAN) bus
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
US5696904A (en) Data transmission method and system therefor
CN105282209B (zh) 车辆用网络系统和其中异构通信控制器的数据传输方法
US10243760B2 (en) Communication device, communication method, and communication system
KR20150015831A (ko) Can 통신의 오류 검출 장치 및 오류 검출 방법
JP3117000B2 (ja) 通信システムおよびそれに使用される電子制御装置
JP4195272B2 (ja) Can−コントローラ内部のデータ伝送におけるエラーの認識方法,can−コントローラ,プログラム,記録媒体,及び制御装置
US9652322B2 (en) User station of a bus system and method for transmitting messages between user stations of a bus system
JP2014072673A (ja) 中継装置
JP2007038904A (ja) 車載ゲートウェイ装置及び同装置におけるメッセージ中継方法
US11016925B2 (en) Protocol-tolerant communications in controller area networks
EP0449304B1 (en) Multiplex transmission system for use in vehicles
JP6410914B1 (ja) シリアル通信システム
JP5696685B2 (ja) 車載通信システム、車載通信システムの通信異常監視方法、及び車載通信システムの通信異常監視プログラム
JP4968169B2 (ja) 通信システム及び通信方法
CN116266803A (zh) 用于控制器局域网的设备
JP6032174B2 (ja) 通信制御装置
JP7190964B2 (ja) 通信異常検出装置
US20230261898A1 (en) Relay device, communication network system, and communication control method
JP3401361B2 (ja) 多重伝送システム
JP3401360B2 (ja) 多重伝送装置
EP4304135A1 (en) Controller area network (can) transceiver, can node, can system and method for the can transceiver
JP2009194733A (ja) 車両用通信制御装置、車載ネットワーク、ポリシー情報生成方法
JP3726716B2 (ja) データ通信方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination