KR100747760B1 - Time division scheduling method on can and the can system thereof - Google Patents
Time division scheduling method on can and the can system thereof Download PDFInfo
- Publication number
- KR100747760B1 KR100747760B1 KR1020060084503A KR20060084503A KR100747760B1 KR 100747760 B1 KR100747760 B1 KR 100747760B1 KR 1020060084503 A KR1020060084503 A KR 1020060084503A KR 20060084503 A KR20060084503 A KR 20060084503A KR 100747760 B1 KR100747760 B1 KR 100747760B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- time
- cycle
- node
- critical
- Prior art date
Links
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/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
도 1은 본 발명의 바람직한 일 실시예에 따른 시분할 스케줄링 방법을 제공하기 위한 CAN 시스템을 개략적으로 나타낸 구성도.1 is a configuration diagram schematically showing a CAN system for providing a time division scheduling method according to an embodiment of the present invention.
도 2는 본 발명의 바람직한 일 실시예에 따른 한 사이클의 시간 구성을 도시한 도면.2 illustrates a time structure of one cycle according to a preferred embodiment of the present invention.
도 3은 본 발명의 바람직한 일 실시예에 따른 CAN 시스템의 마스터 노드가 사이클 메시지를 생성 및 전송하는 과정을 도시한 흐름도.3 is a flowchart illustrating a process of generating and transmitting a cycle message by a master node of a CAN system according to an exemplary embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 CAN 시스템의 노드가 시분할 스케줄링 방식을 이용한 메시지 처리 과정을 도시한 흐름도.4 is a flowchart illustrating a message processing procedure using a time division scheduling scheme of a node of a CAN system according to an exemplary embodiment of the present invention.
도 5는 본 발명의 바람직한 실시예에 따른 이벤트 트리거에 따른 시분할 스케쥴링 과정을 도시한 흐름도.5 is a flowchart illustrating a time division scheduling process according to an event trigger according to a preferred embodiment of the present invention.
<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>
100 : CAN 시스템100: CAN system
10 : 마스터 노드10: master node
12 : 주기 생성 모듈12: cycle generation module
30 : 크리티컬 노드30: Critical Node
32 : 메시지 스케줄링 모듈32: message scheduling module
50 : 논크리티컬 노드50: noncritical node
본 발명은 CAN(controller area network)에 관한 것으로서, 좀 더 상세하게는 CAN에서의 시분할 스케줄링 방법 및 그 CAN 시스템에 관한 것이다.The present invention relates to a controller area network (CAN), and more particularly, to a time division scheduling method in a CAN and a CAN system thereof.
일반적으로 자동차 분야에서 엔진 관리 시스템, 변속장치 제어, 계기 팩, 그리고 차체 전자 기술 같은 온-보드 전자 제어 장치(ECUs)들 간의 정보 교환에 사용되는 캔(CAN : controller area network)은, 제어 응용시스템 내에 있는 센서나 기동장치 등과 같은 들을 서로 연결해 주는 마이크로 제어기용 을 가리킨다.In the automotive sector, the CAN (controller area network), which is used to exchange information between on-board electronic control units (ECUs) such as engine management systems, transmission control, instrument packs, and body electronics, is a control application system. Refers to a microcontroller that connects the sensors, starting devices, etc. within each other.
종래의 CAN은 이벤트 트리거(event trigger) 방식을 사용하며, 그에 따른 비선점형 특성 및 중재 메커니즘(mechanism)으로 인해 메시지 지연을 초래하여 차량의 안정성과 편리성 증대를 위한 다양한 시스템으로의 적용이 제한된다. 즉, 우선순위를 두어 메시지를 전송함에 있어, 중재 메커니즘으로 인해 우선순위가 높은 메시지도 약간의 지연(delay)이 발생하며, 우선순위가 낮은 메시지는 CAN 고유의 경쟁(arbitration) 메커니즘으로 인해 전송 지연이 발생한다.Conventional CAN uses an event trigger method, which results in message delay due to non-preemptive characteristics and arbitration mechanism, thereby restricting its application to various systems for increasing vehicle stability and convenience. . In other words, in the transmission of messages with priority, the mediation mechanism causes some delay in the higher priority messages, and the lower priority messages are delayed in transmission due to the CAN-specific arbitration mechanism. This happens.
따라서, 차량 내 CAN 기술로 타임 트리거(time trigger) 방식의 프로토콜들이 제안되고 있는 실정이다. 그러나 종래의 타임 트리거 방식의 CAN(TTCAN : Time Triggered CAN)은 CAN과는 다른 별도의 하드웨어 장비가 추가적으로 구비되어야 하며, 이에 따라 비용 추가 등의 문제가 발생한다.Accordingly, time trigger protocols have been proposed as an in-vehicle CAN technology. However, a conventional time triggered CAN (TTCAN: Time Triggered CAN) must be additionally equipped with a hardware device different from the CAN, and thus a problem such as an additional cost occurs.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 메시지 전송 시간 지연을 해소할 수 있는 CAN에서의 시분할 스케줄링 방법 및 그 CAN 시스템을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a time division scheduling method in CAN and a CAN system that can solve a message transmission time delay.
또한, 본 발명은 별도의 하드웨어 추가 없이 타임 트리거 기반의 프로토콜로 메시지 전송 시간을 보장할 수 있는 CAN에서의 시분할 스케줄링 방법 및 그 CAN 시스템을 제공하는데 다른 목적이 있다.Another object of the present invention is to provide a time division scheduling method and a CAN system in CAN that can guarantee message transmission time using a time trigger-based protocol without additional hardware.
또한, 본 발명은 설계자의 의도에 따라 특정 메시지의 전송 시기를 결정할 수 있으며, 긴급 메시지에 대한 전송 시간을 보장할 수 있는 CAN에서의 시분할 스케줄링 방법 및 그 CAN 시스템을 제공하는데 또 다른 목적이 있다.Another object of the present invention is to provide a time division scheduling method and a CAN system in CAN that can determine a transmission time of a specific message according to a designer's intention and can guarantee a transmission time for an emergency message.
본 발명의 또 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Still other objects of the present invention will become more apparent through the preferred embodiments described below.
상술한 목적을 달성하기 위한 본 발명의 일측면에 따르면, CAN(controller area network) 시스템에 있어서, 일정 시간 주기로 사이클 메시지를 생성하는 주기 생성 모듈을 포함하는 마스터 노드; 및 상기 사이클 메시지에 상응하여 미리 지정된 시간에 메시지의 송신을 시도하는 하나 이상의 슬레이브 노드를 포함하는 시분할 스케줄링 CAN 시스템이 제공된다.According to an aspect of the present invention for achieving the above object, a controller area network (CAN) system, the master node including a cycle generation module for generating a cycle message at a predetermined time period; And one or more slave nodes attempting to transmit the message at a predetermined time corresponding to the cycle message.
여기서 보다 바람직하게는, 상기 마스터 노드는 네트워크 게이트웨이일 수 있다.More preferably, the master node may be a network gateway.
또한, 상기 슬레이브 노드는 상기 지정된 시간을 인식하기 위한 메시지 스케줄링 모듈을 포함할 수 있다.In addition, the slave node may include a message scheduling module for recognizing the designated time.
또한, 상기 사이클 메시지에 따른 하나의 사이클은 복수의 타임 슬롯으로 구분되며, 상기 타임 슬롯마다 하나의 노드가 메시지를 송신할 수 있다.In addition, one cycle according to the cycle message is divided into a plurality of time slots, and one node may transmit a message for each time slot.
또한, 상기 슬레이브 노드는 크리티컬 노드와 논크리티컬 노드로 구분되며, 상기 사이클은 크리티컬 노드가 메시지를 전송하는 크리티컬 슬롯 및 복수의 논크리티컬 노드가 경쟁(arbitration)하여 메시지를 전송하는 논크리티컬 슬롯을 포함할 수 있다.In addition, the slave node is divided into a critical node and a non-critical node, and the cycle may include a critical slot for transmitting a message by a critical node and a non-critical slot for transmitting a message by a plurality of non-critical nodes. Can be.
또한, 상기 타임 슬롯은 메시지 전송시간 및 처리시간을 합한 값과 일치하거나 그 이상으로 설정될 수 있다.In addition, the time slot may be set equal to or greater than the sum of the message transmission time and the processing time.
또한, 상기 슬레이브 노드는 발생된 이벤트(event)에 따른 긴급 메시지를, 다음에 수신되는 사이클 메시지에 따른 사이클의 특정 타임 슬롯을 예약하여 전송할 수 있다.In addition, the slave node may transmit an emergency message according to the generated event by reserving a specific time slot of a cycle according to a cycle message received next.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, CAN(controller area network) 시스템에서의 시분할 스케줄링 방법에 있어서, 마스터 노드에서 사이클 메시지를 생성하여 버스(BUS)를 통해 발송하는 단계; 및 상기 사이클 메시지를 수신한 하나 이상의 슬레이브 노드가 상기 사이클 메시지에 따른 글로벌 타임을 인지하고, 메시지를 송신할 수 있도록 미리 지정된 시간을 인지하고, 상기 지정된 시간에 메시지 송신을 시도하는 단계를 포함하는 것을 특징으로 하는 시분할 스케줄링 방법이 제공된다.According to another aspect of the present invention for achieving the above object, a time division scheduling method in a controller area network (CAN) system, comprising: generating a cycle message at the master node and sending it over a bus; And at least one slave node receiving the cycle message recognizes a global time according to the cycle message, recognizes a predetermined time to send a message, and attempts to send a message at the specified time. A time division scheduling method is provided.
여기서 보다 바름직하게는, 상기 사이클 메시지에 따른 하나의 사이클은 복수의 타임 슬롯으로 구분되며, 상기 각 타임 슬롯마다 하나의 노드가 메시지를 송신할 수 있다.More preferably, one cycle according to the cycle message is divided into a plurality of time slots, and one node may transmit a message for each time slot.
또한, 상기 슬레이브 노드는 크리티컬 노드와 논크리티컬 노드로 구분되며, 상기 사이클은 상기 크리티컬 노드가 메시지를 전송하는 크리티컬 슬롯 및 복수의 상기 논크리티컬 노드가 경쟁(arbitration)하여 메시지를 전송하는 논크리티컬 슬롯을 포함할 수 있다.In addition, the slave node is divided into a critical node and a non-critical node, and the cycle includes a critical slot in which the critical node transmits a message and a non-critical slot in which a plurality of the non-critical nodes compete and transmit a message. It may include.
또한, 상기 타임 슬롯은 메시지 전송시간 및 처리시간을 합한 값과 일치하거나 그 이상으로 설정될 수 있다.In addition, the time slot may be set equal to or greater than the sum of the message transmission time and the processing time.
또한, 긴급 이벤트가 발생된 슬레이브 노드가 다음 사이클의 특정 타임 슬롯을 예약하는 단계를 더 포함할 수 있으며, 상기 마스터 노드가 일정 시간 간격으로 다음 사이클 메시지를 전송하는 단계; 및 상기 특정 타임 슬롯을 예약한 슬레이브 노드가 상기 예약된 특정 타임 슬롯에서 상기 긴급 이벤트에 따른 긴급 메시지를 전송하는 단계를 더 포함할 수 있다.The method may further include a step in which a slave node having an emergency event is reserved for a specific time slot of a next cycle, wherein the master node transmits a next cycle message at a predetermined time interval; And transmitting, by the slave node that reserved the specific time slot, an emergency message according to the emergency event in the reserved specific time slot.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이 해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in describing the present invention with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals regardless of the reference numerals. Duplicate explanations will be omitted.
또한, 본 발명에 실시예에 따른 시분할 스케줄링을 수행하는 CAN 시스템은 설명의 편의를 위해 차량용 시스템을 예로 들어 설명하기로 하되, 이에 한정되지 않음은 이하의 설명을 통해 자명하게 될 것이다.In addition, a CAN system for performing time division scheduling according to an embodiment of the present invention will be described by using a vehicle system as an example for convenience of description, but the present invention is not limited thereto.
도 1은 본 발명의 바람직한 일 실시예에 따른 시분할 스케줄링 방법을 제공하기 위한 CAN 시스템을 개략적으로 나타낸 구성도이고, 도 2는 본 발명의 바람직한 일 실시예에 따른 한 사이클의 시간 구성을 도시한 도면이다.1 is a block diagram schematically illustrating a CAN system for providing a time division scheduling method according to an exemplary embodiment of the present invention, and FIG. 2 is a diagram illustrating a time configuration of one cycle according to an exemplary embodiment of the present invention. to be.
본 발명에 따른 CAN 시스템(100)은 TTCAN(Time Triggered CAN)과 같이 버스(BUS)의 통신 패턴을 미리 정의하여 높은 우선순위의 메시지 전송 보장 및 낮은 우선순위를 가진 노드로부터의 메시지 전송 지연을 줄일 수 있다. CAN 시스템(100)은 사이클(cycle)의 규칙적인 반복을 이용하여 TDMA(Time Division Multiple Access) 방식의 버스 접속을 제어할 수 있다.The
도 1을 참조하면, 본 발명의 실시예에 따른 시분할 스케줄링(scheduling)하는 CAN 시스템(100)은 복수의 노드(node)를 포함하며, 그 중 하나의 노드가 사이클의 주기를 제어하는 마스터 노드(10)의 기능을 수행한다. 여기서, ABS(anti-lock breaking system), ESP(Electronic control Power Steering) 등의 일반 노드 뿐만 아니라, 메인 컨트롤 노드(미도시) 및 타 네트워크와 결합하기 위한 네트워크 게이트웨이(gateway) 등의 모든 노드가 마스터 노드(10)로 설정될 수 있음은 당연하나, ABS, ESP와 같은 일반 노드는 오류가 발생하여 그 기능을 수행하지 못할 경우가 발생할 수 있으므로, 보다 안전한 마스터 노드(10)의 기능을 위해 게이트웨이 노드가 마스터 노드(10)의 기능을 수행하는 것이 보다 바람직하다.Referring to FIG. 1, the
마스터 노드(10)는 다른 노드(이하 '슬레이브 노드'라 칭함)들이 메시지(즉, CAN 데이터)를 전송하는 시간을 인식할 수 있도록 미리 지정된 일정 주기마다(즉, 각 사이클 시작 시간 마다) 사이클 메시지(cycle message)를 생성하여 전송한다. 따라서, 하나의 사이클 마다 사이클 메시지를 수신한 슬레이브 노드들은 사이클 메시지에 따라 한 사이클의 시작 시간(이하, '글로벌(global) 타임'이라 칭함)을 인지하고, 미리 지정된 시간(해당 타임 슬롯(time slot), 도 2 참조)에 메시지를 전송할 수 있다.The
마스터 노드(10)는 상기한 바와 같은 사이클 메시지를 생성하는 주기 생성 모듈(12)을 포함한다. 마스터 노드(10)는 미리 지정된 일정 시간(한 사이클 시간 보다는 크게 설정되어야 함, 도 2참조) 주기로 사이클 메시지를 전송한다. 사이클 메시지를 수신한 각 노드들은 한 사이클 타임 동안 미리 설정된 시간에 메시지를 송신할 수 있다.The
도 2를 참조하면, 한 사이클 타임은 복수의 타임 슬롯으로 분할될 수 있다. 본 실시예에서는 도면에 도시된 바와 같이 한 사이클 타임에 5개의 타임 슬롯이 존재하는 것을 예로 들었으나, 이는 하나의 실시예에 불과하며 이에 한정되는 것은 아니다. 또한, 크리티컬 메시지와 논크리티컬 메시지의 수량 또는/및 순서도 예시된 구성으로 제한되지 않음은 자명하다.Referring to FIG. 2, one cycle time may be divided into a plurality of time slots. In the present embodiment, as shown in the drawing has been shown that there are five time slots in one cycle time, but this is only one embodiment and is not limited thereto. In addition, it is obvious that the quantity or / and order of critical and non-critical messages is not limited to the illustrated configuration.
본 발명의 실시예에 따르면, 한 사이클에는 하나의 사이클이 시작됨을 알리는 레퍼런스 메시지(reference message)인 사이클 메시지(Cycle Msg. 210)를 위한 타임 슬롯, 크리티컬 메시지(즉, 크리티컬 노드(30)가 전송하는 메시지, 220, 240)를 송신하기 위한 타임 슬롯인 크리티컬 슬롯, 논크리티컬 메시지(논크리티컬 노 드(50)가 전송하는 메시지, 230, 250)를 송신하기 위한 타임 슬롯인 논크리티컬 슬롯을 포함할 수 있다.According to an embodiment of the present invention, a time slot for a cycle message (Cycle Msg. 210), which is a reference message indicating that one cycle starts in one cycle, and a critical message (that is, the
본 발명의 바람직한 실시예에 따른 타임 슬롯은 메시지를 전송하는 시간인 MTT(message transmitting time)와 노드에서 메시지를 처리하는 시간인 MPT(message processing time)를 더한 시간과 일치하거나 그 이상으로 설정할 수 있다. MTT는 CAN 시스템(100)에서 사용되는 데이터 포맷의 크기인 CAN data frame을 CAN 버스 속도(BUS rate)로 나눈 값이다.A time slot according to a preferred embodiment of the present invention may be set to be equal to or more than a time obtained by adding a message transmitting time (MTT), which is a time for transmitting a message, and a message processing time (MPT), which is a time for processing a message at a node. . MTT is a value obtained by dividing the CAN data frame, which is the size of the data format used in the
다시 도 1을 참조하면, 슬레이브 노드는 크리티컬 노드(critical node, 30)와 논크리티컬 노드(non-critical node, 50)로 구분될 수 있다. 크리티컬 노드(30)는 한 사이클 중 미리 지정된 타임 슬롯(즉, 도 2의 크리티컬 슬롯)에서 데이터 버스(BUS)를 점유하여 메시지를 송신할 수 있다. 즉, 각 크리티컬 노드(30)는 해당하는 사이클 타임 중 메시지를 송신하는 타임 슬롯이 미리 지정된다. 이에 비해, 논크리티컬 노드(50)는 미리 지정된 타임 슬롯이 없으며, 한 사이클 중 논크리티컬 슬롯에서 복수의 논크리티컬 노드(50)가 서로 경쟁(arbitration)하며, 선택된 하나의 논크리티컬 노드(50)가 해당 타임 슬롯에서 메시지를 송신할 수 있다. 각 노드가 경쟁하여 버스를 이용하는 것은 현재의 CAN에서도 사용되는 기술이므로, 당업자에게는 자명하다 할 것이다.Referring back to FIG. 1, the slave node may be divided into a
따라서, 각 슬레이브 노드들(30, 50)은 자신이 메시지를 보내는 시간을 인식해야 하므로, 각각 메시지 스케줄링 모듈(32)을 포함한다. 메시지 스케줄링 모듈(32)은 수신된 사이클 메시지와, 미리 저장된 스케줄링 데이터를 이용하여 해당 노드가 메시지를 전송할 시간(타임 슬롯)을 인식하도록 기능한다.Therefore, each
여기서, 상기한 마스터 노드(10)의 주기 생성 모듈(12) 및 슬레이브 노드의 메시지 스케줄링 모듈(32)은 반드시 하드웨어적으로 구현될 필요는 없으며, 하드웨어 추가에 따른 비용 증감을 억제하도록 프로그램과 같이 소프트웨어적으로 구현되는 것이 보다 바람직하다.In this case, the
이하에서는 마스터 노드(10)가 사이클 메시지를 전송하는 과정 및 각 슬레이브 노들들이 메시지를 수신할 경우 해당하는 동작을 수행하는 과정을 설명하고자 한다.Hereinafter, a process of transmitting a cycle message by the
도 3은 본 발명의 바람직한 일 실시예에 따른 CAN 시스템의 마스터 노드가 사이클 메시지를 생성 및 전송하는 과정을 도시한 흐름도이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 CAN 시스템의 노드가 시분할 스케줄링 방식을 이용한 메시지 처리 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of generating and transmitting a cycle message by a master node of a CAN system according to an exemplary embodiment of the present invention, and FIG. 4 is a time division of a node of a CAN system according to an exemplary embodiment of the present invention. A flowchart illustrating a message processing process using a scheduling method.
도 3을 참조하면, 마스터 노드(10)는 사이클 메시지를 생성하고(단계 310), 생성된 사이클 메시지를 버스(BUS)를 통해 다른 노드들로 전송한다(단계 320).Referring to FIG. 3, the
마스터 노드(10)는 미리 지정된 시간(한 사이클 시간보다 작지 않도록 설정됨)동안 대기한 후(단계 330), 단계 310으로 진행한다.The
따라서, 마스터 노드(10)는 반복적으로 미리 지정된 시간 주기로 사이클 메시지를 전송함으로써, 각 노드 즉 슬레이브 노드들은 자신이 메시지를 송신할 시간을 인지하여, 전송할 메시지가 있을 경우 해당 타임 슬롯에서 메시지를 전송할 수 있다.Therefore, the
도 4를 참조하면, 슬레이브 노드는 메시지가 수신되면(단계 410), 사이클 메시지인지의 여부를 판단한다(단계 420).Referring to FIG. 4, when a message is received (step 410), the slave node determines whether the message is a cycle message (step 420).
판단결과 사이클 메시지인 경우, 슬레이브 노드는 현재 사이클이 메시지를 송신하도록 미리 설정된 사이클 주기인지의 여부를 판단한다(단계 430). 즉, 슬레이브 노드 중 크리티컬 노드(30)는 복수의 사이클 중 자신이 메시지를 보낼 수 있는 특정 사이클에 대한 정보 및 그 사이클의 해당 타임 슬롯에 대한 정보를 가지고 있다. 따라서, 사이클 메시지를 수신한 각 슬레이브 노드는 현재 사이클이 메시지를 송신하도록 미리 지정된 사이클인지의 여부를 판단하여 인식한다. 물론, 논크리티컬 노드(50)들은 논크리티컬 슬롯에서 메시지를 송신하기 때문에 모든 사이클에서 메시지를 송신하도록 경쟁할 수 있으며, 보다 바람직하게는 논크리티컬 노드(50)들도 메시지를 송신할 수 있는 하나 이상의 특정 사이클이 지정될 수도 있다. 만일, 논크리티컬 노드(50)들이 미리 지정된 사이클이 존재하지 않을 경우, 상기한 단계 430은 실행할 필요가 없으며, 곧바로 단계 440으로 진행할 수도 있다.If the determination result is a cycle message, the slave node determines whether the current cycle is a cycle period preset to transmit the message (step 430). That is, the
여기서, 슬레이브 노드가 현재 사이클이 메시지를 송신할 수 있도록 미리 지정된 사이클인지의 여부를 판단하기 위해 사이클 메시지에 포함된 식별정보를 이용할 수 있다.Here, the slave node may use the identification information included in the cycle message to determine whether the current cycle is a cycle designated in advance so that the message can be transmitted.
단계 430에서의 판단결과, 사이클 메시지에 따른 현재 사이클이 메시지를 송신할 수 있도록 미리 지정된 사이클인 경우, 슬레이브 노드는 해당 사이클의 미리 지정된 타임 슬롯에서 메시지를 전송한다(단계 440). 물론, 논크리티컬 노드(50)들은 미리 지정된 논크리티컬 슬롯에서 타 논크리티컬 노드(50)와 경쟁하여 메시지를 송신한다.As a result of the determination in
도 5는 본 발명의 바람직한 실시예에 따른 이벤트 트리거에 따른 시분할 스케쥴링 과정을 도시한 흐름도이다.5 is a flowchart illustrating a time division scheduling process according to an event trigger according to a preferred embodiment of the present invention.
본 발명의 바람직한 실시예에 따른 CAN 시스템은 상기한 바와 같이 TDMA 방식의 시분할 스케줄링을 사용하며, 만일 특정 노드가 긴급한 메시지를 전송해야 할 경우에는 이벤트 트리거(event trigger) 방식으로 메시지를 송신할 수도 있다.The CAN system according to a preferred embodiment of the present invention uses TDMA time division scheduling as described above, and if a specific node needs to transmit an urgent message, it may transmit a message in an event trigger method. .
예를 들어, ABS(anti-lock breaking system)와 같은 노드는 반드시 주기적으로 메시지를 송신할 필요는 없으며 브레이크 작동과 같은 긴급한 이벤트가 발생될 경우에만 긴급 메시지를 전송할 수도 있다.For example, a node such as an anti-lock breaking system (ABS) may not necessarily send a message periodically, but may also send an emergency message only when an urgent event such as a brake operation occurs.
따라서, 본 발명의 바람직한 실시예에 따른 CAN 시스템의 특정 노드는 긴급한 이벤트가 발생하여 긴급 메시지를 송신해야 할 경우, 다음 사이클의 특정 타임 슬롯(도 2에 도시된 바와 같이, 한 사이클의 첫번째 타임 슬롯은 사이클 메시지가 차지하므로 두 번째 이후의 타임 슬롯 중 하나를 이용. 예를 들어 두 번째 타임 슬롯)을 예약하여 해당 긴급 메시지를 전송한다. 물론, 해당 특정 타임 슬롯에 메시지를 송신하도록 미리 지정된 노드가 존재할 수 있으나, 긴급 메시지의 전송이 우선될 수 있으므로 해당 노드는 다음 사이클에서 메시지를 송신하도록 구현되는 것이 바람직하다.Therefore, when a specific event of the CAN system according to the preferred embodiment of the present invention has to send an emergency message due to an urgent event occurs, the specific time slot of the next cycle (as shown in Figure 2, the first time slot of one cycle) Is occupied by a cycle message and uses one of the second and subsequent time slots (e.g., the second time slot) to send the corresponding emergency message. Of course, there may be a node previously designated to send a message in that particular time slot, but since the transmission of an emergency message may be prioritized, the node is preferably implemented to send a message in the next cycle.
도 5를 참조하여 그 과정을 설명하면, 이벤트가 발생됨에 따라(단계 510), 해당 노드는 발생된 이벤트가 긴급한 이벤트인지 여부를 판단한다(단계 520).Referring to FIG. 5, as the event is generated (step 510), the node determines whether the generated event is an urgent event (step 520).
판단 결과, 긴급하지 않은 일반 이벤트인 경우 도 4에 도시된 바와 같은 시분할 스케쥴링 과정을 통해 해당 이벤트에 따른 메시지를 송신한다(단계 530).As a result of the determination, in case of the non-urgent general event, a message according to the corresponding event is transmitted through a time division scheduling process as shown in FIG. 4 (step 530).
단계 520에서의 판단 결과 긴급한 이벤트인 경우, 다음 사이클의 특정 타임 슬롯을 예약한다(단계 540). 타임 슬롯의 예약은 CAN 시스템(100)을 제어하는 메인 컨트롤 노드(미도시)에 의해 제어될 수 있으며, 또는 마스터 노드에 의해 제어될 수도 있다. 마스터 노드에 의해 제어될 경우, 마스터 노드는 사이클 메시지를 송신할 때, 해당 사이클의 특정 노드가 예약되었음을 슬레이브 노드들이 인식할 수 있도록 식별정보를 사이클 메시지에 포함시킬 수 있다.If it is an urgent event as a result of the determination in
따라서, 해당 노드는 긴급 메시지를 위한 특정 타임 슬롯을 예약하기 위한 예약 신호를 메인 컨트롤 노드 또는 마스터 노드(10)로 제공한다. 다른 실시예에 따르면, 별도의 예약 신호 없이, 해당 노드는 다음 사이클의 특정 타임 슬롯을 사용하여 메시지를 전송할 수도 있으며, 이 경우 해당 노드는 식별정보(예를 들어 우선순위 정보)를 이용하여 타 노드들이 상기한 특정 타임 슬롯을 이용하지 못하도록 할 수 있다.Therefore, the node provides the main control node or the
해당 노드는 상기한 바와 같이 예약된 사이클의 특정 타임 슬롯 시간에 긴급 메시지를 전송한다(단계 550).The node sends an emergency message at a specific time slot time of the reserved cycle as described above (step 550).
따라서, 본 발명에 따른 CAN 시스템(100)은 특정 노드의 긴급 메시지에 대한 전송 시간을 보장할 수 있다.Therefore, the
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented in a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.
이상에서 상술한 바와 같이 본 발명에 따르면, 메시지 전송 지연 시간을 해소할 수 있는 CAN에서의 시분할 스케줄링 방법 및 그 CAN 시스템을 제공할 수 있는 효과가 있다.As described above, according to the present invention, there is an effect of providing a time division scheduling method and a CAN system in CAN that can eliminate a message transmission delay time.
또한, 본 발명은 별도의 하드웨어 추가 없이 타임 트리거 기반의 프로토콜로 메시지 전송 시간에 대해 보장할 수 있는 효과도 있다.In addition, the present invention has an effect that can be guaranteed for the message transmission time with a time trigger-based protocol without additional hardware.
또한, 본 발명은 설계자의 의도에 따라 특정 메시지의 전송 시기를 결정할 수 있으며, 긴급 메시지에 대한 전송 시간을 보장할 수 있는 효과도 있다.In addition, the present invention can determine the transmission time of a specific message according to the intention of the designer, there is an effect that can ensure the transmission time for the emergency message.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경 시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art that various modifications of the present invention without departing from the spirit and scope of the invention described in the claims below And that it can be changed.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060084503A KR100747760B1 (en) | 2006-09-04 | 2006-09-04 | Time division scheduling method on can and the can system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060084503A KR100747760B1 (en) | 2006-09-04 | 2006-09-04 | Time division scheduling method on can and the can system thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100747760B1 true KR100747760B1 (en) | 2007-08-08 |
Family
ID=38602400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060084503A KR100747760B1 (en) | 2006-09-04 | 2006-09-04 | Time division scheduling method on can and the can system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100747760B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100900980B1 (en) * | 2007-07-16 | 2009-06-04 | 한국생산기술연구원 | Data transfer system and method for considering response delay on CAN devices |
KR100917338B1 (en) * | 2007-09-21 | 2009-10-05 | 쌍용자동차 주식회사 | Forwarding method of a can message for a car network communication |
KR20200026508A (en) | 2018-09-03 | 2020-03-11 | 현대자동차주식회사 | Network apparatus for designing collision avoidance and Method for controlling the same |
KR20220076961A (en) * | 2020-12-01 | 2022-06-08 | 현대오토에버 주식회사 | Master controller of vehicle, slave controller of vehicle, and task scehduling message sending mehotd thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1069733A2 (en) | 1999-07-14 | 2001-01-17 | New Holland U.K. Limited | A controller area network |
JP2004096680A (en) | 2002-09-04 | 2004-03-25 | Mitsubishi Electric Corp | Controller area network communications equipment |
KR20050031509A (en) * | 2003-09-30 | 2005-04-06 | 주식회사 만도 | Suspension system of car vehicle and method for controlling thereof |
KR20050033138A (en) * | 2003-10-06 | 2005-04-12 | 주식회사 만도 | A communicaton speed setiing method of can communication node |
KR20060058602A (en) * | 2004-11-25 | 2006-05-30 | 한국전자통신연구원 | Apparatus for forwarding message based on dynamic priority and apparatus for priority adjustment and method for processing dynamic priority message |
-
2006
- 2006-09-04 KR KR1020060084503A patent/KR100747760B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1069733A2 (en) | 1999-07-14 | 2001-01-17 | New Holland U.K. Limited | A controller area network |
JP2004096680A (en) | 2002-09-04 | 2004-03-25 | Mitsubishi Electric Corp | Controller area network communications equipment |
KR20050031509A (en) * | 2003-09-30 | 2005-04-06 | 주식회사 만도 | Suspension system of car vehicle and method for controlling thereof |
KR20050033138A (en) * | 2003-10-06 | 2005-04-12 | 주식회사 만도 | A communicaton speed setiing method of can communication node |
KR20060058602A (en) * | 2004-11-25 | 2006-05-30 | 한국전자통신연구원 | Apparatus for forwarding message based on dynamic priority and apparatus for priority adjustment and method for processing dynamic priority message |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100900980B1 (en) * | 2007-07-16 | 2009-06-04 | 한국생산기술연구원 | Data transfer system and method for considering response delay on CAN devices |
KR100917338B1 (en) * | 2007-09-21 | 2009-10-05 | 쌍용자동차 주식회사 | Forwarding method of a can message for a car network communication |
KR20200026508A (en) | 2018-09-03 | 2020-03-11 | 현대자동차주식회사 | Network apparatus for designing collision avoidance and Method for controlling the same |
US11240852B2 (en) | 2018-09-03 | 2022-02-01 | Hyundai Motor Company | Network apparatus for designing collision avoidance and method for controlling the same |
KR20220076961A (en) * | 2020-12-01 | 2022-06-08 | 현대오토에버 주식회사 | Master controller of vehicle, slave controller of vehicle, and task scehduling message sending mehotd thereof |
KR102485286B1 (en) * | 2020-12-01 | 2023-01-04 | 현대오토에버 주식회사 | Master controller of vehicle, slave controller of vehicle, and task scehduling message sending mehotd thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100679858B1 (en) | Apparatus for forwarding message based on dynamic priority and apparatus for priority adjustment and method for processing dynamic priority message | |
Navet et al. | Trends in automotive communication systems | |
US11233750B2 (en) | Method and apparatus for allocating transmission opportunities in vehicle network | |
Navet et al. | In-vehicle communication networks-a historical perspective and review | |
US10397332B2 (en) | In-vehicle communication system | |
US11171807B2 (en) | Method and apparatus for allocating priority transmission opportunities in vehicle network | |
CN103890747A (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
JP2014515897A (en) | Method and apparatus for adjusting the reliability of data transmission in a serial bus system | |
KR102431490B1 (en) | Method and apparatus for synchronization of communication node using multiple domains in automotive network | |
JP5712783B2 (en) | Electronic control unit, in-vehicle network, data transmission method | |
KR100747760B1 (en) | Time division scheduling method on can and the can system thereof | |
KR102431489B1 (en) | Method and apparatus for synchronization of communication node using multiple domains in automotive network | |
Cena et al. | On the properties of the flexible time division multiple access technique | |
WO2007024370A2 (en) | System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes | |
JP6410914B1 (en) | Serial communication system | |
Obermaisser | Reuse of CAN-based legacy applications in time-triggered architectures | |
CN113545012B (en) | Communication device, communication system, and message arbitration method | |
JP2012114537A (en) | Electronic control device, vehicle network system, communication method, and program | |
KR100850803B1 (en) | Time-triggered message scheduling method in can system and device, system thereof | |
Marques et al. | Efficient transient error recovery in FlexRay using the dynamic segment | |
JP2019009678A (en) | On-vehicle communication network system | |
Sheu et al. | The intelligent FlexRay safety monitoring platform based on the automotive hybrid topology network | |
Bannatyne | Time triggered protocol-fault tolerant serial communications for real-time embedded systems | |
Cummings | Easing the transition of system designs from CAN to FlexRay | |
Wey et al. | Enhancement of Controller Area Network (CAN) bus arbitration mechanism |
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: 20130628 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140703 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160705 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |