KR101332339B1 - Data transmitting method in can system - Google Patents

Data transmitting method in can system Download PDF

Info

Publication number
KR101332339B1
KR101332339B1 KR1020120125777A KR20120125777A KR101332339B1 KR 101332339 B1 KR101332339 B1 KR 101332339B1 KR 1020120125777 A KR1020120125777 A KR 1020120125777A KR 20120125777 A KR20120125777 A KR 20120125777A KR 101332339 B1 KR101332339 B1 KR 101332339B1
Authority
KR
South Korea
Prior art keywords
data
master node
transmitting
node
slave
Prior art date
Application number
KR1020120125777A
Other languages
Korean (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 KR1020120125777A priority Critical patent/KR101332339B1/en
Application granted granted Critical
Publication of KR101332339B1 publication Critical patent/KR101332339B1/en

Links

Images

Classifications

    • 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
    • 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

Abstract

A method for transmitting data in a CAN system (100) according to the present invention comprises the following steps: a step (500) wherein a master node (10) transmits a message requesting data transmission to multiple slave nodes (20) which have the same ID; a step (501) wherein at least one slave node (20) among the multiple slave nodes (20) transmits data to the master node (10); a step (502) wherein a network error count is accumulated because the multiple slave nodes (20) have the same ID; a step (503) wherein the network error count is initialized if the network error count exceeds a reference threshold value; and a step (504) wherein remaining slave nodes (20), which have not transmitted data, among the multiple slave nodes (20) transmit data to the master node (10).

Description

CAN 시스템에서 데이터를 전송하는 방법{DATA TRANSMITTING METHOD IN CAN SYSTEM}How to transfer data in a CAN system {DATA TRANSMITTING METHOD IN CAN SYSTEM}

이하 설명하는 기술은 CAN 통신을 사용하는 시스템에서 데이터를 전송하는 방법에 관한 것이다.The technique described below relates to a method of transmitting data in a system using CAN communication.

최근 차량에는 다양한 전자 시스템이 결합되고 있다. 전자 부트 작동기(electronic boot release), 전동 거울 조정장치, 비 탐지, 썬루프, 기상 관리장치, 파워 윈도우, 좌석 조절장치, 파워 트레인, 안정성 제어(ABS, 견인 제어, 액티브 서스펜션), 엔진 관리, 변속 같은 실시간 제어 애플리케이션, 인터넷, 디지털 TV 등의 멀티미디어 기기 등이 차량에 장착되어 사용되고 있다.Recently, various electronic systems have been combined in vehicles. Electronic Boot Release, Electric Mirror Control, Rain Detection, Sunroof, Weather Control, Power Window, Seat Control, Power Train, Stability Control (ABS, Traction Control, Active Suspension), Engine Management, Shifting Such real-time control applications, multimedia devices such as the Internet, digital TV, and the like are used in vehicles.

이러한 모든 시스템들을 차량 둘레에서 실행되는 한 개 혹은 두 개의 전선들로 구성된, 사무실의 데스크탑 PC들을 함께 연결한 것과 같은 방식인, 하나의 공통 네트워크 버스에 연결함으로써 차량에서의 배선양을 획기적으로 감소시키고, 차량의 총 제조 비용도 감소시키게 된다.By connecting all these systems to one common network bus, one or two wires running around the vehicle, in the same way that office desktop PCs are connected together, This will also reduce the total manufacturing cost of the vehicle.

자동차내 전자 제어 장치들은 센서 등과 같은 센싱부와 제어기 그리고 작동부 사이에 단방향 또는 양방향으로 통신이 이루어지게 되는데, 현재 각 전자제어장치(Electronic Control Unit: ECU)의 대부분은 차량용 네트워크 프로토콜로 CAN(Controller Area Network) 통신 네트워크로 연결되어 각종 제어에 필요한 메시지가 전달되고 있다.In the vehicle, the electronic control devices communicate in one or two directions between the sensing unit, such as a sensor, and the controller and the operating unit. Currently, most of the electronic control units (ECUs) are CAN network controllers as vehicle network protocols. Area Network) Connected to a communication network, messages required for various control are transmitted.

CAN은 초기에 자동차 산업 분야에 적용하기 위해 고안된 시리얼 네트워크 통신 방식으로, 근래에는 자동차 분야뿐만 아니라 산업 전 분야에 폭 넓게 적용되고 있으며 자동차 분야에 적용되는 기본적인 CAN 네트워크 시스템구성은 도 1과 같다. CAN은 마이크로컨트롤러들 간의 통신을 위한 버스 방식으로 자동차의 전자제어장치(ECU), 트랜스미션 제어 유닛(Transmission Control Unit: TCU), ABS의 마이크로컨트롤러 등과 데이터 통신을 수행한다. 상기 CAN은 고유의 아이디(ID)를 가지는 다수의 장치들을 하나의 버스를 통해 연결하여 장치들간 정보 교환을 할 수 있다. 상기 CAN은 OSI 7계층 중 물리계층(Physical Layer), 데이터 링크 계층(Data Link Layer) 및 어플리케이션 계층 (Application Layer)을 사용한다.CAN is a serial network communication method designed to be applied to the automotive industry in the early days. Recently, CAN is widely applied not only to the automobile field but also to the entire industry, and the basic CAN network system configuration applied to the automobile field is shown in FIG. 1. CAN is a bus for communication between microcontrollers and performs data communication with an electronic control unit (ECU) of a vehicle, a transmission control unit (TCU), and a microcontroller of ABS. The CAN may exchange information between devices by connecting a plurality of devices having unique IDs through a single bus. The CAN uses a physical layer, a data link layer, and an application layer among the OSI 7 layers.

네트워크 시스템에 사용되는 메시지는 송신측이나 수신측의 주소를 포함하지 않으며, 수신측의 아이디(ID) 정보만을 포함한다. CAN 버스(1)는 CAN 프로토콜에 따라 다수 개의 노드들(2) 또는 다수개의 전자 장치들(2) 각각에 고유한 아이디(ID)를 할당한다.The message used in the network system does not include the address of the sender or the receiver, and includes only ID information of the receiver. The CAN bus 1 assigns a unique ID to each of the plurality of nodes 2 or the plurality of electronic devices 2 according to the CAN protocol.

한국공개특허 제2011-0035247호에서는 동적으로 아이디를 할당하여 데이터 전송 시간을 줄이는 기술을 개시한다.Korean Patent Laid-Open No. 2011-0035247 discloses a technique for dynamically allocating IDs to reduce data transmission time.

CAN의 경우 다양한 에러 감지 메커니즘과 재전송 능력으로 데이터의 높은 안정성과 사용 가능성을 보장하고 있어서 현재 세계적으로 차량에 가장 널리 적용되고 있다. 또한 비교적 낮은 트래픽 조건에서는 네트워크 시스템에서의 메시지 충돌을 효과적으로 중재할 수가 있는 장점이 있다. 그러나 최근 들어 개발이 활발하게 진행되고 있는 지능형 자동차의 샤시 네트워크와 같이 다수의 센서 및 엑츄에이터로 이루어지면서 주기성 메시지가 다수 발생하는 높은 트래픽 조건의 시스템에서는 평균 전송지연이 급격하게 증가하는 특성을 보이고 있다. 따라서 CAN 시스템에서도 데이터를 조속하게 전송하는 방법에 대한 필요성이 계속 요청되고 있는 것이다.In the case of CAN, various error detection mechanisms and retransmission capabilities ensure high reliability and availability of data, and are currently widely used in vehicles worldwide. In addition, there is an advantage that can effectively mediate message collisions in a network system under relatively low traffic conditions. In recent years, however, the average transmission delay is rapidly increasing in a system with high traffic conditions where a large number of periodic messages occur, such as the chassis network of an intelligent vehicle, which is being actively developed. Therefore, there is a continuous need for a method of transmitting data quickly in a CAN system.

이하 설명하는 기술은 CAN 시스템에서 마스터 노드가 복수의 슬레이브 노드로부터 데이터를 전송받는 경우 거의 동시에 데이터를 전송받는 방법을 제공하고자 한다.The technique described below provides a method of receiving data at the same time when a master node receives data from a plurality of slave nodes in a CAN system.

이하 설명하는 기술의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Problems of the technology described below are not limited to those mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명에 따른 CAN 시스템에서 데이터를 전송하는 방법은 마스터 노드가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드들에게 데이터 전송을 요청하는 메시지를 전송하는 단계, 복수의 슬레이브 노드들 중 적어도 하나의 슬레이브 노드가 데이터를 마스터 노드에 전송하는 단계, 복수의 슬레이브 노드들이 동일한 아이디(ID) 갖기 때문에 네트워크 에러 카운트가 누적되는 단계, 네트워크 에러 카운트가 기준 임계치를 넘어서면 에러 카운트가 초기화되는 단계 및 복수의 슬레이브 노드들 중 데이터를 전송하지 않은 나머지 슬레이브 노드가 데이터를 마스터 노드에 전송하는 단계를 포함한다.In a method for transmitting data in a CAN system according to the present invention, the master node transmits a message requesting data transmission to a plurality of slave nodes having the same ID, at least one slave among the plurality of slave nodes. A node transmitting data to a master node, a network error count accumulating because a plurality of slave nodes have the same ID, an error count being initialized when the network error count exceeds a reference threshold, and a plurality of slaves The remaining slave nodes that do not transmit data among the nodes transmit the data to the master node.

메시지를 전송하는 단계는 마스터 노드 또는 제어부가 마스터 노드와 복수의 슬레이브 노드들의 아이디를 일치시키고, 데이터 전송을 요청하는 메시지를 전송한다.In the transmitting of the message, the master node or the controller matches the IDs of the master node and the plurality of slave nodes and transmits a message requesting data transmission.

적어도 하나의 슬레이브 노드가 데이터를 마스터 노드에 전송하는 단계 및 나머지 슬레이브 노드가 데이터를 마스터 노드에 전송하는 단계에서, 슬레이브 노드는 새로운 아이디(ID)를 할당받아 마스터 노드에 데이터를 전송한다.In a step in which at least one slave node transmits data to the master node and the remaining slave nodes transmit data to the master node, the slave node receives a new ID and transmits the data to the master node.

슬레이브 노드가 데이터를 마스터 노드에 전송하는 단계에서 복수의 슬레이브 노드는 서로 다른 아이디(ID)를 할당받는다. 복수의 슬레이브 노드는 아이디(ID)가 1씩 증가하는 방식으로 아이디(ID)를 할당받고, 슬레이브 노드는 아이디(ID)가 1씩 증가할 때마다 데이터를 100μs ~ 300 μs 시간의 지연을 두고 데이터를 전송할 수 있다.In the step in which the slave node transmits data to the master node, the plurality of slave nodes are assigned different IDs. A plurality of slave nodes are assigned IDs in such a manner that IDs are increased by 1, and slave nodes receive data with a delay of 100 μs to 300 μs each time IDs are increased by 1. Can be transmitted.

본 발명에 따른 다른 측면에서 CAN 시스템에서 데이터를 전송하는 방법은 마스터 노드가 서로 다른 아이디(ID)를 갖는 복수의 슬레이브 노드들로부터 데이터를 전송받는 정상 모드로 데이터를 전송하는 단계 및 마스터 노드가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드들로부터 데이터를 전송받는 버스트 모드로 데이터를 전송하는 단계를 포함할 수 있다. 여기서 정상 모드에서 버스트 모드로 전환을 요청받는 단계가 더 포함할 수 있다. In another aspect of the present invention, a method for transmitting data in a CAN system includes transmitting data in a normal mode in which a master node receives data from a plurality of slave nodes having different IDs, and the master node is the same. The method may include transmitting data in a burst mode in which data is transmitted from a plurality of slave nodes having an ID. The method may further include receiving a request to switch from the normal mode to the burst mode.

이하 설명하는 기술은 CAN 시스템에서 마스터 노드와 복수의 슬레이브 노드가 동일한 노드 아이디(ID)를 갖도록 하여 복수의 슬레이브 노드에서 데이터가 마스터 노드로 조속하게 전달된다.The technique described below allows the master node and the plurality of slave nodes to have the same node ID in the CAN system, so that data is transferred from the plurality of slave nodes to the master node as soon as possible.

CAN 통신 표준에 따라 동일한 아이디(ID)를 갖는 복수의 노드가 나타나면 에러 카운트가 누적되지만, 에러 카운트 초기화를 처리하는 마이크로컨트롤러의 성능이 향상되었기 때문에, 이하 설명하는 기술에서는 결국 복수의 슬레이브 노드에서 마스터 노드로 데이터가 전송되는 속도가 향상된다.Error counts accumulate when multiple nodes with the same ID appear in accordance with the CAN communication standard, but the performance of the microcontroller that handles error count initialization has improved. The speed at which data is sent to the node is improved.

이하 설명하는 기술의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effect of the technique described below is not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 자동차에서 사용되는 CAN 네트워크 시스템의 구성을 개략적으로 나타낸 예시도이다.
도 2는 CAN 시스템에서 데이터를 전송하는 방법에 대한 일 예를 개략적으로 설명하는 순서도이다.
도 3은 CAN 시스템에서 데이터를 전송하는 방법의 과정을 설명한 구성도이다.
도 4는 CAN 시스템에서 데이터를 전송하는 방법에 대한 다른 예를 개략적으로 설명하는 순서도이다.
1 is an exemplary view schematically showing a configuration of a CAN network system used in an automobile.
2 is a flowchart schematically illustrating an example of a method of transmitting data in a CAN system.
3 is a configuration diagram illustrating a process of a method of transmitting data in a CAN system.
4 is a flowchart schematically illustrating another example of a method of transmitting data in a CAN system.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc., may be used to describe various components, but the components are not limited by the terms, but may be used to distinguish one component from another . For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular " include "should be understood to include a plurality of representations unless the context clearly dictates otherwise, and the terms" comprises & , Parts or combinations thereof, and does not preclude the presence or addition of one or more other features, integers, steps, components, components, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Before describing the drawings in detail, it is to be clarified that the division of constituent parts in this specification is merely a division by main functions of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. Each of the components to be described below may additionally perform some or all of the functions of other components in addition to the main functions of the components, and some of the main functions of each of the components are different. Of course, it may be carried out exclusively by.

본 발명은 CAN 통신을 사용하는 시스템에 적용되는 데이터 전송 방법이다. 따라서 도 1에 도시된 자동차 통신 시스템에 국한되는 것이 아님을 명확히 밝혀둔다. The present invention is a data transmission method applied to a system using CAN communication. Therefore, it is clearly not limited to the automotive communication system shown in FIG.

CAN 프로토콜은 브로드캐스팅 방식으로 통신이 이루어지며, 데이터의 전송은 프레임 단위로 이루어지는데, 모든 프레임은 고유의 ID(식별자)를 가지고 있어 네트워크 상의 모든 노드들은 이 프레임의 ID(식별자)를 판별하여 전송된 메시지에 대한 통신여부를 판단한다.The CAN protocol communicates by broadcasting, and data is transmitted in units of frames. Every frame has a unique ID (identifier), so all nodes on the network determine the ID (identifier) of the frame and transmit it. It is determined whether or not to communicate the message.

도 1에 도시된 바와 같이, CAN 네트워크 시스템은 다수 개의 노드(node)를 구비하며 각 노드(2) 사이의 메시지 송수신은 CAN 버스(1)를 통해 이루어진다. 여기에서 상기 각 노드(2)는 메시지를 송수신함으로써 해당 동작을 수행하는 복수의 전자 장치(ECU)들이 된다. 도 1에서 CAN 버스(1)는 굵은 선으로 도시하였다.As shown in FIG. 1, the CAN network system includes a plurality of nodes, and message transmission and reception between each node 2 is performed through the CAN bus 1. Herein, each node 2 becomes a plurality of electronic devices (ECUs) that perform a corresponding operation by transmitting and receiving a message. In FIG. 1, the CAN bus 1 is shown by the thick line.

네트워크 시스템에 사용되는 메시지는 송신측이나 수신측의 주소를 포함하지 않으며, 수신측의 식별자(ID) 정보만을 포함한다. CAN 버스(1)는 CAN 프로토콜에 따라 다수 개의 노드들(2) 또는 다수개의 전자 장치들(2) 각각에 고유한 식별자(ID)를 할당한다. 이는 공지된 기술에 따른 것이므로 상세한 설명은 생략하기로 한다. CAN 버스(1)의 각 노드에 연결된 전자장치(ECU)는 CAN 버스(1)를 통해 전송되는 메시지를 획득한다. 메시지의 식별자가 자신의 식별자와 동일하면 획득한 메시지를 입력 메시지로써 받아들이고, 이에 따른 동작을 수행한다.The message used for the network system does not include the address of the sender or the receiver, but includes only the identifier (ID) information of the receiver. The CAN bus 1 assigns a unique identifier (ID) to each of the plurality of nodes 2 or the plurality of electronic devices 2 in accordance with the CAN protocol. Since this is in accordance with known techniques, a detailed description thereof will be omitted. An electronic device (ECU) connected to each node of the CAN bus 1 obtains a message transmitted via the CAN bus 1. If the identifier of the message is the same as its identifier, the acquired message is accepted as an input message, and the operation is performed accordingly.

설명의 편의를 위해 CAN 버스에 연결된 각종 장치를 노드라고 명명한다. 노드는 마스터 노드(10)와 슬레이브 노드(20)가 있다. 자동차에서는 마스터 노드(10)가 중앙 제어 장치일 수 있고, 슬레이브 노드(20)가 중앙 제어 장치의 제어를 받는 각종 장치일 수 있다.For convenience, the various devices connected to the CAN bus are called nodes. The node has a master node 10 and a slave node 20. In the automobile, the master node 10 may be a central control device, and the slave node 20 may be various devices controlled by the central control device.

CAN 통신 표준에 따라 서로 다른 노드는 서로 다른 노드 아이다(ID)를 부여 받는다. CAN 시스템(100)에서 네트워크 에러가 발생하는 경우 일반적으로 에러 카운터가 증가한다. 에러 카운터가 증가하면서 사전에 설정된 기준 임계치를 초과하게 되면 시스템은 특정 노드에 에러가 발생했다고 판단한다. 에러가 발생했다고 판단하면 시스템 특성 및 설정에 따라 다양한 조치가 가능하다. 해당 노드를 네트워크에서 배제할 수도 있고, 에러를 무시할 수도 있다. 에러 관련된 내용은 본 발명의 요지와 관계가 없으므로 자세한 설명은 생략하기로 한다. 기준 임계치 또한 사용자의 요구 또는 시스템의 특성에 따라 자유롭게 설정될 수 있음은 물론이다.According to the CAN communication standard, different nodes are given different node IDs. If a network error occurs in the CAN system 100, the error counter generally increases. If the error counter is incremented and the preset threshold is exceeded, the system determines that an error has occurred at a particular node. If it is determined that an error has occurred, various actions are possible depending on the system characteristics and settings. The node can be excluded from the network or the error can be ignored. Error-related information is not related to the gist of the present invention, so a detailed description thereof will be omitted. The reference threshold may also be freely set according to the needs of the user or the characteristics of the system.

기존 표준에는 모든 노드가 서로 다른 ID를 보유하고 있어야 하기 때문에 에러가 발생돼 에러 카운터가 누적되면 통신이 끊어진다. 에러가 설정된 기준 임계치를 초과하고 난 후 해당 노드 또는 전체 시스템을 다시 사용하기 위해 에러 카운트를 초기화한다. 최근 마이크로컨트롤러(microcontroller)의 성능이 아주 우수해졌기 때문에 에러를 초기화하는 처리 과정을 아주 짧은 시간 내에 처리할 수 있게 되었다. 1μs ~ 100 μs내에 관련된 처리가 가능하기 때문에 에러 카운터 초기화가 통신 시간에 영향을 끼치지 않는다.In the existing standard, all nodes must have different IDs, so if an error occurs and an error counter accumulates, communication is cut off. After an error exceeds a set threshold, it initializes the error count to reuse the node or the entire system. The performance of microcontrollers has recently become very good, allowing the process of initializing errors to be processed in a very short time. The error counter initialization does not affect the communication time since related processing is possible within 1μs to 100μs.

본 발명에서는 이와 같이 에러 카운트 초기화를 매우 빠른 시간 내에 처리하는 시스템의 특징을 이용한 새로운 데이터 전송방법을 제안한다. 도 2는 CAN 시스템(100)에서 데이터를 전송하는 방법에 대한 일 예를 개략적으로 설명하는 순서도이다.The present invention proposes a new data transmission method using a feature of a system that processes error count initialization in a very short time. 2 is a flowchart schematically illustrating an example of a method of transmitting data in a CAN system 100.

본 발명에 따라 CAN 시스템(100)에서 데이터를 전송하는 방법은 마스터 노드(10)가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드(20)들에게 데이터 전송을 요청하는 메시지를 전송하는 단계(500), 복수의 슬레이브 노드(20)들 중 적어도 하나의 슬레이브 노드(20)가 데이터를 마스터 노드(10)에 전송하는 단계(501), 복수의 슬레이브 노드(20)들이 동일한 아이디(ID) 갖기 때문에 네트워크 에러 카운트가 누적되는 단계(502), 네트워크 에러 카운트가 기준 임계치를 넘어서면 에러 카운트가 초기화되는 단계(503) 및 복수의 슬레이브 노드(20)들 중 데이터를 전송하지 않은 나머지 슬레이브 노드(20)가 데이터를 마스터 노드(10)에 전송하는 단계(504)를 포함한다.According to the present invention, the method for transmitting data in the CAN system 100 includes the steps of transmitting a message for requesting data transmission to a plurality of slave nodes 20 having a master node 10 having the same ID (500). ), At least one slave node 20 of the plurality of slave nodes 20 transmits data to the master node 10 (501), since the plurality of slave nodes 20 have the same ID (ID). A step 502 of accumulating network error counts, a step 503 of initializing an error count when the network error count exceeds a reference threshold, and the remaining slave nodes 20 which do not transmit data among the plurality of slave nodes 20. Transmits the data to the master node 10 (504).

메시지를 전송하는 단계(500)는 마스터 노드(10) 또는 제어부가 마스터 노드(10)와 복수의 슬레이브 노드(20)들의 아이디를 일치시키고, 데이터 전송을 요청하는 메시지를 전송한다. 제안된 방법은 모든 노드가 아이디(ID)를 동일하게 가지고 있다가 마스터 노드(10)가 해당 아이디(ID)로 데이터 요청을 하면 슬레이브 노드(20)에서 다른 메시지 박스에 할당된 아이디(ID)를 통해 안전하게 마스터 노드(10)로 데이터를 전송한다.In the step 500 of transmitting a message, the master node 10 or the control unit matches the IDs of the master node 10 and the plurality of slave nodes 20 and transmits a message requesting data transmission. In the proposed method, if all nodes have the same ID and the master node 10 requests data with the corresponding ID, the slave node 20 receives the ID assigned to another message box. Data is securely transmitted to the master node 10 through.

아이디(ID)가 같기 때문에 한 번에 모든 슬레이브 노드(20)들이 반응하여 요청한 데이터를 마스터 노드(10) 쪽으로 보낸다.Since IDs are the same, all slave nodes 20 react at once and send the requested data to the master node 10.

적어도 하나의 슬레이브 노드(20)가 데이터를 마스터 노드(10)에 전송하는 단계(501) 및 나머지 슬레이브 노드(20)가 데이터를 마스터 노드(10)에 전송하는 단계(504)에서, 슬레이브 노드(20)는 새로운 아이디(ID)를 할당받아 마스터 노드(10)에 데이터를 전송한다.In step 501 of at least one slave node 20 transmitting data to the master node 10 and in step 504 of remaining slave node 20 transmitting data to the master node 10, the slave node ( 20) receives a new ID (ID) and transmits data to the master node (10).

복수의 슬레이브 노드(20)는 서로 다른 아이디(ID)를 할당받는다. 나아가 복수의 슬레이브 노드(20)는 아이디(ID)가 1씩 증가하는 방식으로 아이디(ID)를 할당받고, 슬레이브 노드(20)는 아이디(ID)가 1씩 증가할 때마다 데이터를 100μs ~ 300 μs 시간의 지연을 두고 데이터를 전송할 수 있다. 데이터가 전송되는 지연 간격은 250 μs 정도가 바람직하다. 데이터를 순차적으로 전송하는 슬레이브 노드(20)의 아이디 증가폭은 다양한 방식이 이용될 수 있음은 물론이다. The plurality of slave nodes 20 are assigned different IDs. Furthermore, the plurality of slave nodes 20 are assigned IDs in such a manner that the IDs increase by 1, and the slave nodes 20 receive 100 μs to 300 data each time the IDs increase by one. Data can be transferred with a delay of μs time. The delay interval at which data is transmitted is preferably about 250 μs. The ID increase width of the slave node 20 for sequentially transmitting data may be used in various ways.

도 3은 CAN 시스템(100)에서 데이터를 전송하는 방법의 과정을 설명한 구성도이다. 도 3은 자동차에서 사용되는 CAN 시스템(100)을 예로 도시한다. 도 3(a)는 마스터 노드(10)에 해당하는 ECU와 슬레이브 노드(20)에 해당하는 ABS(브레이크 시스템), AFS(전조등 제어 시스템) 및 VSS(순항 제어 시스템)은 동일한 노드 아이디(ID)를 갖는다. 즉, 마스터 노드(10)에서 슬레이브 노드(20)에게 데이터 전송을 요청하는 순간에 해당한다.3 is a configuration diagram illustrating a process of a method of transmitting data in a CAN system 100. 3 shows by way of example a CAN system 100 for use in a motor vehicle. 3 (a) shows the ECU corresponding to the master node 10 and the ABS (brake system), AFS (headlight control system) and VSS (cruising control system) corresponding to the slave node 20, the same node ID (ID). Has That is, at the moment when the master node 10 requests the data transmission from the slave node 20.

도 3(b)는 복수의 슬레이브 노드(20)에서 마스터 노드(10)로 데이터가 전송되는 순간에 해당한다. 모든 노드는 서로 다른 아이디(ID)를 갖고 있고, 슬레이브 노드(20)는 예시적으로 ID가 1씩 증가하는 형태를 갖는다. 이에 따른 데이터가 전송되는 순서는 ABS -> AFS -> VSS 순서로 슬레이브 노드(20)에서 마스터 노드(10)로 데이터가 전송된다.
3 (b) corresponds to a moment in which data is transmitted from the plurality of slave nodes 20 to the master node 10. All nodes have different IDs, and the slave node 20 has a form in which IDs are incremented by one. In this order, data is transmitted from the slave node 20 to the master node 10 in the order of ABS->AFS-> VSS.

도 4는 CAN 시스템(100)에서 데이터를 전송하는 방법에 대한 다른 예를 개략적으로 설명하는 순서도이다. 전술한 CAN 시스템(100)에서 데이터를 전송하는 방법을 응용한 방법이다. 전술한 CAN 시스템(100)에서 데이터를 전송하는 방법을 버스트 모드(burst mode)라고 하고, 일반적인 CAN 시스템(100)에서의 데이터 전송 방법을 정상 모드(normal mode)라고 명명한다. 즉 사용자나 시스템이 버스트 모드 또는 정상 모드로 통신을 할 것을 선택하는 방식이다. 버스트 모드만 사용하게 된다면, 통신 절차상 발생하는 다른 에러도 모두 초기화시키기 때문에 안정적인 통신이 보장되지 않는 위험성이 있다. 따라서 안정성이 높지 않아도 되는 서비스나 대상에 대해서는 버스트 모드를 사용하고, 안정성이 요구되는 경우에는 정상 모드를 사용하는 통신 방법이 가능하다.4 is a flowchart schematically illustrating another example of a method of transmitting data in the CAN system 100. It is a method applying the method of transmitting data in the above-described CAN system 100. The method of transmitting data in the above-described CAN system 100 is called a burst mode, and the method of transmitting data in a general CAN system 100 is called a normal mode. In other words, the user or system chooses to communicate in burst or normal mode. If only burst mode is used, there is a risk that stable communication is not guaranteed because all other errors occurring in the communication procedure are also initialized. Therefore, a burst mode is used for a service or a target which does not need to have high stability, and a communication method using a normal mode when stability is required is possible.

도 4에 따른 CAN 시스템(100)에서 데이터를 전송하는 방법은 마스터 노드(10)가 서로 다른 아이디(ID)를 갖는 복수의 슬레이브 노드(20)들로부터 데이터를 전송받는 정상 모드로 데이터를 전송하는 단계(600) 및 마스터 노드(10)가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드(20)들로부터 데이터를 전송받는 버스트 모드로 데이터를 전송하는 단계(700)로 구성된다.In the method of transmitting data in the CAN system 100 according to FIG. 4, the master node 10 transmits data in a normal mode in which data is transmitted from a plurality of slave nodes 20 having different IDs. In operation 600, the master node 10 transmits data in a burst mode in which data is transmitted from a plurality of slave nodes 20 having the same ID.

정상 모드로 데이터 통신이 수행되는 중에 계속 버스트 모드로 전환이 요청되는지 확인한다(650). 버스트 모드로 전환이 요청되는 메시지가 시스템에 수신된 경우 버스트 모드로 전환된다(700). 버스트 모드에서도 다시 정상 모드로 전환이 요청되는지 여부를 계속 확인한다(750). 정상 모드 전환이 요청되면 시스템은 정상 모드로 전환된다(600).While the data communication is performed in the normal mode, it is checked whether the transition to the burst mode is requested (650). If a message is received in the system requesting to switch to the burst mode is switched to the burst mode (700). In burst mode, the controller continuously checks whether the transition to the normal mode is requested (750). If the normal mode switch is requested, the system enters the normal mode (600).

본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. It will be understood that variations and specific embodiments which may occur to those skilled in the art are included within the scope of the present invention.

1: CAN 버스 2 : 노드
10 : 마스터 노드 20 : 슬레이브 노드
100 : CAN 시스템
1: CAN bus 2: node
10: master node 20: slave node
100: CAN system

Claims (11)

CAN 시스템에서 데이터를 전송하는 방법에 있어서,
마스터 노드가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드들에게 데이터 전송을 요청하는 메시지를 전송하는 단계;
상기 복수의 슬레이브 노드들 중 적어도 하나의 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계;
상기 복수의 슬레이브 노드들이 동일한 아이디(ID) 갖기 때문에 네트워크 에러 카운트가 누적되는 단계;
상기 네트워크 에러 카운트가 기준 임계치를 넘어서면 에러 카운트가 초기화되는 단계; 및
상기 복수의 슬레이브 노드들 중 상기 데이터를 전송하지 않은 나머지 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계를 포함하는 CAN 시스템에서 데이터를 전송하는 방법.
In a method of transmitting data in a CAN system,
Transmitting, by the master node, a message requesting data transmission to a plurality of slave nodes having the same ID;
At least one slave node of the plurality of slave nodes transmitting the data to the master node;
Accumulating network error counts because the plurality of slave nodes have the same ID;
Initializing an error count if the network error count exceeds a reference threshold; And
Transmitting the data to the master node by a remaining slave node not transmitting the data among the plurality of slave nodes.
제1항에 있어서,
상기 메시지를 전송하는 단계는
상기 마스터 노드 또는 제어부가 상기 마스터 노드와 상기 복수의 슬레이브 노드들의 아이디를 일치시키고, 상기 데이터 전송을 요청하는 메시지를 전송하는 CAN 시스템에서 데이터를 전송하는 방법.
The method of claim 1,
Sending the message is
The master node or the control unit transmits data in a CAN system that matches the ID of the master node and the plurality of slave nodes, and transmits a message requesting the data transmission.
제1항에 있어서,
상기 적어도 하나의 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계 및 상기 나머지 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계에서, 상기 슬레이브 노드는 새로운 아이디(ID)를 할당받아 상기 마스터 노드에 상기 데이터를 전송하는 CAN 시스템에서 데이터를 전송하는 방법.
The method of claim 1,
In the step of the at least one slave node to transmit the data to the master node and the remaining slave node to transmit the data to the master node, the slave node is assigned a new ID (ID) to the master node Transmitting data in a CAN system for transmitting the data to a computer.
제3항에 있어서,
상기 복수의 슬레이브 노드는 서로 다른 아이디(ID)를 할당받는 CAN 시스템에서 데이터를 전송하는 방법.
The method of claim 3,
The plurality of slave nodes transmit data in a CAN system that is assigned a different ID (ID).
제4항에 있어서,
상기 복수의 슬레이브 노드는 아이디(ID)가 1씩 증가하는 방식으로 상기 아이디(ID)를 할당받고, 상기 슬레이브 노드는 상기 아이디(ID)가 1씩 증가할 때마다 상기 데이터를 100μs ~ 300 μs 시간의 지연을 두고 상기 데이터를 전송하는 CAN 시스템에서 데이터를 전송하는 방법.
5. The method of claim 4,
The plurality of slave nodes are assigned the ID in such a manner that the ID increases by 1, and the slave node receives the data 100 μs to 300 μs each time the ID increases by 1. Method of transmitting data in a CAN system for transmitting the data with a delay of.
CAN 시스템에서 데이터를 전송하는 방법에 있어서,
마스터 노드가 서로 다른 아이디(ID)를 갖는 복수의 슬레이브 노드들로부터 데이터를 전송받는 정상 모드로 데이터를 전송하는 단계; 및
마스터 노드가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드들로부터 데이터를 전송받는 버스트 모드로 데이터를 전송하는 단계를 포함하는 CAN 시스템에서 데이터를 전송하는 방법.
In a method of transmitting data in a CAN system,
Transmitting data in a normal mode in which the master node receives data from a plurality of slave nodes having different IDs; And
And transmitting data in a burst mode in which a master node receives data from a plurality of slave nodes having the same ID.
제6항에 있어서,
상기 정상 모드에서 상기 버스트 모드로 전환을 요청받는 단계가 더 포함하는 CAN 시스템에서 데이터를 전송하는 방법.
The method according to claim 6,
And receiving a request to switch to the burst mode from the normal mode.
제6항에 있어서,
상기 버스트 모드로 데이터를 전송하는 단계는
마스터 노드가 동일한 아이디(ID)를 갖는 복수의 슬레이브 노드들에게 데이터 전송을 요청하는 메시지를 전송하는 단계;
상기 복수의 슬레이브 노드들 중 적어도 하나의 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계;
상기 복수의 슬레이브 노드들이 동일한 아이디(ID) 갖기 때문에 네트워크 에러 카운트가 누적되는 단계;
상기 네트워크 에러 카운트가 기준 임계치를 넘어서면 에러 카운트가 초기화되는 단계; 및
상기 복수의 슬레이브 노드들 중 상기 데이터를 전송하지 않은 나머지 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계를 포함하는 CAN 시스템에서 데이터를 전송하는 방법.
The method according to claim 6,
The step of transmitting data in the burst mode
Transmitting, by the master node, a message requesting data transmission to a plurality of slave nodes having the same ID;
At least one slave node of the plurality of slave nodes transmitting the data to the master node;
Accumulating network error counts because the plurality of slave nodes have the same ID;
Initializing an error count if the network error count exceeds a reference threshold; And
Transmitting the data to the master node by a remaining slave node not transmitting the data among the plurality of slave nodes.
제8항에 있어서,
상기 메시지를 전송하는 단계는
상기 마스터 노드 또는 제어부가 상기 마스터 노드와 상기 복수의 슬레이브 노드들의 아이디를 일치시키고, 상기 데이터 전송을 요청하는 메시지를 전송하는 CAN 시스템에서 데이터를 전송하는 방법.
9. The method of claim 8,
Sending the message is
The master node or the control unit transmits data in a CAN system that matches the ID of the master node and the plurality of slave nodes, and transmits a message requesting the data transmission.
제8항에 있어서,
상기 적어도 하나의 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계 및 상기 나머지 슬레이브 노드가 상기 데이터를 상기 마스터 노드에 전송하는 단계에서, 상기 슬레이브 노드는 서로 다른 아이디(ID)를 할당받는 CAN 시스템에서 데이터를 전송하는 방법.
9. The method of claim 8,
The CAN system in which the at least one slave node transmits the data to the master node and the remaining slave node transmits the data to the master node, the slave node is assigned a different ID (ID) How to transfer data from
제10항에 있어서,
상기 복수의 슬레이브 노드는 아이디(ID)가 1씩 증가하는 방식으로 상기 아이디(ID)를 할당받고, 상기 슬레이브 노드는 상기 아이디(ID)가 1씩 증가할 때마다 상기 데이터를 100μs ~ 300 μs 시간의 지연을 두고 상기 데이터를 전송하는 CAN 시스템에서 데이터를 전송하는 방법.
The method of claim 10,
The plurality of slave nodes are assigned the ID in such a manner that the ID increases by 1, and the slave node receives the data 100 μs to 300 μs each time the ID increases by 1. Method of transmitting data in a CAN system for transmitting the data with a delay of.
KR1020120125777A 2012-11-08 2012-11-08 Data transmitting method in can system KR101332339B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120125777A KR101332339B1 (en) 2012-11-08 2012-11-08 Data transmitting method in can system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120125777A KR101332339B1 (en) 2012-11-08 2012-11-08 Data transmitting method in can system

Publications (1)

Publication Number Publication Date
KR101332339B1 true KR101332339B1 (en) 2013-11-22

Family

ID=49858322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120125777A KR101332339B1 (en) 2012-11-08 2012-11-08 Data transmitting method in can system

Country Status (1)

Country Link
KR (1) KR101332339B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138704A1 (en) * 2018-12-27 2020-07-02 알에스오토메이션주식회사 Distributed control apparatus having real-time compensation means
WO2022085863A1 (en) 2020-10-21 2022-04-28 숭실대학교 산학협력단 Method for handling hacked node on can bus physical layer, physical layer security method through automatic node id setting on can bus, recording medium for carrying out same, and system
KR20220052477A (en) 2020-10-21 2022-04-28 숭실대학교산학협력단 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096680A (en) 2002-09-04 2004-03-25 Mitsubishi Electric Corp Controller area network communications equipment
JP2008005449A (en) 2006-06-26 2008-01-10 Nippon Telegr & Teleph Corp <Ntt> Method and system for managing distributed data
KR20080107046A (en) * 2007-06-05 2008-12-10 현대자동차주식회사 Error detection method for robust can communication in vehicles
JP2010074515A (en) 2008-09-18 2010-04-02 Toshiba Corp Network system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096680A (en) 2002-09-04 2004-03-25 Mitsubishi Electric Corp Controller area network communications equipment
JP2008005449A (en) 2006-06-26 2008-01-10 Nippon Telegr & Teleph Corp <Ntt> Method and system for managing distributed data
KR20080107046A (en) * 2007-06-05 2008-12-10 현대자동차주식회사 Error detection method for robust can communication in vehicles
JP2010074515A (en) 2008-09-18 2010-04-02 Toshiba Corp Network system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138704A1 (en) * 2018-12-27 2020-07-02 알에스오토메이션주식회사 Distributed control apparatus having real-time compensation means
KR20200080866A (en) * 2018-12-27 2020-07-07 알에스오토메이션주식회사 Distributed control device including a real-time compensation means
KR102188746B1 (en) * 2018-12-27 2020-12-09 알에스오토메이션주식회사 Distributed control device including a real-time compensation means
WO2022085863A1 (en) 2020-10-21 2022-04-28 숭실대학교 산학협력단 Method for handling hacked node on can bus physical layer, physical layer security method through automatic node id setting on can bus, recording medium for carrying out same, and system
KR20220052477A (en) 2020-10-21 2022-04-28 숭실대학교산학협력단 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method

Similar Documents

Publication Publication Date Title
US11146420B2 (en) Method for transmitting data via a serial communication bus, bus interface, and computer program
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
CN107979505B (en) Vehicle-mounted network system, communication control method in vehicle-mounted network system and vehicle-mounted gateway
KR100679858B1 (en) Apparatus for forwarding message based on dynamic priority and apparatus for priority adjustment and method for processing dynamic priority message
US7599772B2 (en) Automotive switch fabric with improved resource reservation
Navet et al. In-vehicle communication networks-a historical perspective and review
KR101534923B1 (en) Ethernet backbone network system for vehicle and method for controlling fail safe of the ethernet backbone network system
JP6342754B2 (en) Provide various data transmission rates and redundancy by using physical transmission channels together or separately in the vehicle
JP2012235427A (en) Connection method for bus controller, and communication system
KR101332339B1 (en) Data transmitting method in can system
JP6496836B2 (en) Relay device, electronic control device, and in-vehicle network system
JP7400820B2 (en) In-vehicle communication system, in-vehicle device and vehicle communication method
KR101380118B1 (en) Ethernet network for vehicles and vehicles using the same
KR102292771B1 (en) Participant station for a bus system, and method for increasing the data rate of a bus system
US10541830B2 (en) Serial communication system
Camek et al. An automotive Side-View system based on Ethernet and IP
Umair et al. Communication technologies and network protocols of automotive systems
Ramteke et al. An adaptive data-reduction protocol for the future in-vehicle networks
CN104283751B (en) The processing method and processing device of the message of periodicity sending in a kind of CAN bus
KR101573549B1 (en) Data transmission system and method for transmitting data between different type protocols
JP2019047413A (en) Vehicle network system
Elżbieta Communication in Automotive Networks Illustrated with an Example of Vehicle Stability Program: Part I-Control Area Network
CN115997374A (en) Network with prioritized data streams onboard a vehicle
JP2010028356A (en) Communication management device of on-vehicle network
KR101514398B1 (en) Gateway in-vehicle based on virtual bus concepet and message transmission method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 6