KR101058414B1 - Method and apparatus of locating slot in static segment for reliability in flexray communication - Google Patents

Method and apparatus of locating slot in static segment for reliability in flexray communication Download PDF

Info

Publication number
KR101058414B1
KR101058414B1 KR1020090114327A KR20090114327A KR101058414B1 KR 101058414 B1 KR101058414 B1 KR 101058414B1 KR 1020090114327 A KR1020090114327 A KR 1020090114327A KR 20090114327 A KR20090114327 A KR 20090114327A KR 101058414 B1 KR101058414 B1 KR 101058414B1
Authority
KR
South Korea
Prior art keywords
message
slot
cycle
flexray
time
Prior art date
Application number
KR1020090114327A
Other languages
Korean (ko)
Other versions
KR20110057779A (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 KR1020090114327A priority Critical patent/KR101058414B1/en
Publication of KR20110057779A publication Critical patent/KR20110057779A/en
Application granted granted Critical
Publication of KR101058414B1 publication Critical patent/KR101058414B1/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/40143Bus networks involving priority mechanisms
    • H04L12/40156Bus networks involving priority mechanisms by using dedicated slots associated with a priority level
    • 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/40241Flexray

Abstract

본 발명은 FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법 및 장치를 개시하고 있다.The present invention discloses a method and apparatus for placing slots in static segments for improved reliability in FlexRay communication.

본 발명의 일 실시 예에 따른 FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법은 사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하는 단계, 상기 계산된 총 전송 준비시간과 겹치지 않는 사용 슬롯에 메시지를 할당하는 단계, 상기 사이클에서 상기 메시지를 전송하는 단계를 포함한다.According to an embodiment of the present invention, a method of arranging slots in a static segment for improving reliability in FlexRay communication may include calculating a total transmission preparation time for a message to be transmitted in a cycle, and not overlapping the calculated total transmission preparation time. Allocating a message to an unused slot, and transmitting the message in the cycle.

차량 네트워크, FlexRay, 동기화, 메시지, CAN, 전송 준비 시간 Vehicle Network, FlexRay, Synchronization, Messages, CAN, Transmission Ready Time

Description

FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법 및 장치{METHOD AND APPARATUS OF LOCATING SLOT IN STATIC SEGMENT FOR RELIABILITY IN FLEXRAY COMMUNICATION}METHOD AND APPARATUS OF LOCATING SLOT IN STATIC SEGMENT FOR RELIABILITY IN FLEXRAY COMMUNICATION}

본 발명은 FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법 및 장치를 개시하고 있다. The present invention discloses a method and apparatus for placing slots in static segments for improved reliability in FlexRay communication.

현대의 차량 내에는 마이크로프로세서, 센서, 그리고 엑추에이터 등의 다양한 전자기기들이 사용되고 있으며 이들은 차량의 안전한 주행과 운전자의 편의를 위해 상호 간의 신뢰성 있는 정보 교환을 필요로 한다. In modern vehicles, various electronic devices such as microprocessors, sensors, and actuators are used, and they require reliable information exchange between each other for safe driving and driver's convenience.

차량 내부의 통신 방식으로 가장 널리 사용되고 있는 것은 CAN (Control Area Network)으로서 최고 1 Mbps의 전송률로 데이터를 전송할 수 있다. 그러나 이벤트 기반 (Event- triggered) 통신 방식의 한계와 비교적 낮은 전송률로 인해 x-by-wire 시스템과 같이 고도의 신뢰성과 안전성이 요구되는 시스템에 적용하기에는 적합하지 않은 방식이다. 이의 대안으로 확정적 통신(deterministic communication)의 속성을 지니며 적은 지터(jitter)로 주기적인 데이터 교환이 가능한 FlexRay가 개발되었다. FlexRay는 시간 동기 (Time-triggered)에 의해 확정성 을 제공하는 TDMA 방식과 이벤트 기반 통신 방식을 혼용하여 적용할 수 있는 유연성을 제공하도록 설계되었다. 그러나, 시간 동기에 의해 운용되는 FlexRay는 데이터를 전송 준비하는 시간이 길어질 경우, 메시지 송신의 지연이 발생하게 되며, 이러한 지연이 다른 데이터를 전송하는 데 있어 영향을 미칠 수 있다는 문제가 있다. The most widely used in-vehicle communication is the Control Area Network (CAN), which can transmit data at data rates up to 1 Mbps. However, due to the limitations of event-triggered communication methods and relatively low data rates, they are not suitable for applications requiring high reliability and safety, such as x-by-wire systems. As an alternative, FlexRay has been developed, which has the property of deterministic communication and allows periodic data exchange with little jitter. FlexRay is designed to provide the flexibility to use a combination of TDMA and event-based communication methods that provide determinism by time-triggered. However, FlexRay, which is operated by time synchronization, causes a delay in message transmission when the time to prepare for data transmission becomes long, and this delay may affect the transmission of other data.

본 발명은 FlexRay 통신에서 메시지 전송을 준비하는 과정에서 발생하는 지연을 해결하기 위해 정적 세그먼트 내에서 슬롯을 배치하는 방안을 제시하고자 한다.The present invention proposes a method of arranging slots in a static segment in order to solve a delay occurring in preparing a message transmission in FlexRay communication.

또한, 통신 네트워크에서의 통신 효율과 메시지의 중요도를 고려하여 중요한 메시지의 경우, 전송 준비 시간의 지연에 영향을 받지 않도록 하고자 한다.In addition, in consideration of communication efficiency and importance of a message in a communication network, an important message is intended to not be affected by a delay of a transmission preparation time.

특히, 본 발명에서는 FlexRay 프로토콜 명세에서 제시하고 있는 프로토콜 계층에서의 '프레임 동기화'를 통해 근본적으로 해결할 수 없는 전송 측 노드에서의 '메시지 전송의 지연'을 개선하기 위한 방법을 제안하고자 한다.In particular, the present invention proposes a method for improving the 'message transmission delay' at the transmitting node which cannot be fundamentally solved through 'frame synchronization' in the protocol layer proposed in the FlexRay protocol specification.

전술한 과제를 달성하기 위해, 본 발명의 일 실시 예에 따른 FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법은 사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하는 단계, 상기 계산된 총 전송 준비시간과 겹치지 않는 사용 슬롯에 메시지를 할당하는 단계, 상기 사이클에서 상기 메시지를 전송하는 단계를 포함한다.In order to achieve the above object, a method for arranging slots in a static segment for improving reliability in FlexRay communication according to an embodiment of the present invention includes calculating a total transmission preparation time for a message to be transmitted in a cycle, the Allocating a message to a usage slot that does not overlap with the calculated total transmission preparation time, and transmitting the message in the cycle.

본 발명의 다른 실시 예에 FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치는 메시지의 송수신을 제어하는 FlexRay 컨트 롤러를 포함하며, 상기 FlexRay 컨트롤러는 사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하여, 상기 계산된 총 전송 준비시간과 겹치지 않는 사용 슬롯에 메시지를 할당하여, 상기 사이클 내에 상기 메시지가 전송되도록 제어하는 것을 특징으로 한다.According to another embodiment of the present invention, an apparatus for arranging slots in a static segment for improving reliability in FlexRay communication includes a FlexRay controller for controlling transmission and reception of a message, and the FlexRay controller includes a total transmission for a message to be transmitted in a cycle. The preparation time is calculated, and a message is allocated to a usage slot that does not overlap with the calculated total transmission preparation time, so that the message is transmitted within the cycle.

본 발명에서는 메시지를 슬롯에 할당하는 데 있어서 더미 슬롯을 FlexRay 사이클의 전반부에 배치하고 슬롯 아이디(slot ID)가 큰 것 (사이클의 후반으로 갈수록 슬롯 아이디 증가)부터 우선순위가 높은 태스크가 전송하는 메시지에 할당 되도록 하며 슬롯 아이디가 낮을수록 우선순위가 낮은 태스크가 사용하도록 함으로써 우선순위가 높은 태스크에 의한 선점이나 인터럽트에 의한 영향이 가해지더라도 의도된 시간 내에 메시지가 전송 될 수 있는 방법을 제안하였다.In the present invention, in assigning a message to a slot, a dummy slot is placed in the first half of a FlexRay cycle, and a message transmitted by a high-priority task from a large slot ID (increased slot ID toward the second half of the cycle) is transmitted. As the slot ID is lower, the lower priority task is used so that the message can be transmitted within the intended time even if the preemption or interruption by the higher priority task is applied.

제안한 방법을 복수 개의 노드에서 다양한 주기의 메시지가 전송되는 상황에 적용한다면 전송 시간의 지연을 최소화시켜 실시간성과 확정성을 극대화 할 수 있을 것이다.If the proposed method is applied to a situation in which messages of various periods are transmitted from multiple nodes, it is possible to maximize the real-time and determinism by minimizing the delay of the transmission time.

이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".

전송률 측면에서 FlexRay는 CAN에 비해 훨씬 높은 최대 10 Mbps를 구현할 수 있으며, 고장 대처 기능을 지원할 수 있도록 이중 채널을 가지도록 설계되어 한 쪽 통신 채널에서 장애가 발생하더라도 여유 채널(혹은 잉여 채널)을 통해 데이터를 송수신 할 수 있도록 하였다. In terms of data rates, FlexRay can achieve up to 10 Mbps, which is much higher than CAN, and is designed to have dual channels to support fault-tolerant features, even if one communication channel fails. To send and receive.

도 1은 FlexRay의 사이클(Cycle)의 구성을 보여주는 도면이다. 하나의 FlexRay 사이클 내에 정적 세그먼트(Static Segment)와 동적 세그먼트(Dynamic Segment)가 포함되며, 각각의 세그먼트 내에는 정적 슬롯(Static Slot)과 동적 슬롯(Dynamic Slot)이 포함된다.1 is a diagram illustrating a configuration of a cycle of FlexRay. Static segments and dynamic segments are included in one FlexRay cycle, and static slots and dynamic slots are included in each segment.

도 2는 FlexRay에서 전송 준비 과정에서 전송 지연이 발생되는 조건을 보여주는 도면이다. 2 is a diagram illustrating a condition in which a transmission delay occurs in preparation for transmission in FlexRay.

도 2에서는 노드에서 사용하는 슬롯(slot)의 수와 전송 준비 시간, 그리고 이에 따라 전송 지연이 발생되는 예를 보여주고 있다.2 shows an example in which the number of slots used in a node, a transmission preparation time, and a transmission delay are generated accordingly.

도 1에서의 FlexRay를 통해 메시지를 송수신하기 위한 종래의 일반적인 방식들에서는 메시지 전송을 위한 '전송 준비 시간 (Tr2g)'을 고려하지 않았으나 실제의 전송에 있어서 이로 인해 의도하지 않는 전송의 지연이 발생할 수 있다. 도 2에서는 노드에서 사용하는 슬롯(slot)의 수와 전송 준비 시간의 관계를 나타내고 있으며 Tr2g_a는 m 번째 슬롯을 통해 프레임을 전송하는데 필요한 전송 준비 시간을 의미하고 Tr2g_b는 n 번째 슬롯을 통해 프레임을 전송하는데 필요한 전송 준비 시간을 의미한다. Tr2g_a와 Tr2g_b의 합은 '총 전송 준비 시간 (Tr2g _ total)'이 된다.In the conventional general methods for transmitting and receiving a message through FlexRay in FIG. 1, 'transmission preparation time (T r2g )' for message transmission is not considered, but in actual transmission, this may cause an unintended delay Can be. In FIG. 2, a relationship between the number of slots used in a node and a transmission preparation time is shown. T r2g _a denotes a transmission preparation time required to transmit a frame through an mth slot, and T r2g _b denotes an nth slot. Transmission preparation time required for transmitting a frame through the terminal. The sum of T r2g _a and T r2g _b becomes 'total transfer preparation time (T r2g _ total )'.

도 2와 같이 하나의 노드에서 사용하는 슬롯의 수가 한 개에서 두 개로 증가함에 따라 '총 전송 준비 시간'이 정수배로 증가하게 되어 Tr2g_a가 m 번째 슬롯과 시간 축 상에서 겹치게 된다. 이것은 m 번째 슬롯을 위한 전송 요청이 m 번째 슬롯의 시작 시점 이후에 완료되는 것을 의미하므로 m 번째 슬롯을 통해 전송되고자 하는 메시지는 다음 사이클(Cycle)에 지연되어 전송되는 결과를 초래하게 된다. 이것은 메시지 전송 시간에 있어서 사이클의 기간(duration)만큼의 시간이 부가되는 것을 의미하므로 메시지 전송의 실시간성을 저해하는 요소가 되며 사이클 내의 슬롯의 구성을 결정할 때 반드시 고려되어야 할 인자이다.As the number of slots used in one node increases from one to two as shown in FIG. 2, 'total transmission preparation time' increases by an integer multiple, so that Tr2g_a overlaps with the m-th slot on the time axis. This means that the transmission request for the m-th slot is completed after the start of the m-th slot. Therefore, a message to be transmitted through the m-th slot will be delayed in the next cycle. This means that a time duration of a cycle is added to the message transmission time, which hinders the real-time of message transmission and is a factor to be considered when determining the configuration of slots in a cycle.

도 3은 본 발명의 일 실시 예에 따른 메시지 재배치 프로세스가 적용되는 FlexRay 통신을 위한 노드의 구성을 보여주는 도면이다.3 is a diagram illustrating a configuration of a node for FlexRay communication to which a message relocation process according to an embodiment of the present invention is applied.

FlexRay 통신을 위한 노드 구성은 각 노드들(301, 302)이 FlexRay 버스(Bus)(350)에 의해 서로 연결되어 있으며 하나의 노드(302)는 내부적으로 호스트 프로세서(Host Processor)(310)와 FlexRay 컨트롤러(Controller)(330)가 컨트롤러-호스트-인터페이스(Controller-Host-Interface)(320)에 의해 연결된 형태이다. FlexRay 컨트롤러(330)는 호스트 프로세서(310)와는 독립적으로 구동되며 FlexRay 프로토콜 서비스를 구현하는 역할을 한다. Node configuration for FlexRay communication is that each node (301, 302) is connected to each other by the FlexRay bus (350) (350) and one node 302 is a host processor (310) and FlexRay internally The controller 330 is connected by a controller-host-interface 320. The FlexRay controller 330 operates independently of the host processor 310 and serves to implement FlexRay protocol service.

도 2에서 살펴본 바와 같이 총 전송 준비 시간이 증가하는 과정에서 실제 전송할 슬롯과 중첩되어 메시지 전송에 있어 지연이 발생하는 것을 방지하기 위해, 다음과 같이 메시지 전송에 필요한 총 전송 준비 시간을 계산하고, 메시지 전송 과정에서 슬롯이 중첩되지 않도록 한다. 이를 위하여 본 발명의 일 실시 예에서는 FlexRay 컨트롤러(330)는 다음과 같이 더미 슬롯(dummy slot)을 할당하고자 한다.As shown in FIG. 2, in order to prevent a delay in message transmission by overlapping with a slot to be transmitted in the process of increasing total transmission preparation time, the total transmission preparation time required for message transmission is calculated as follows. Do not overlap slots during transmission. To this end, in an embodiment of the present invention, the FlexRay controller 330 allocates a dummy slot as follows.

도 4는 본 발명의 일 실시 예에 따른 더미 슬롯을 할당하는 과정을 보여주는 도면이다. 4 is a diagram illustrating a process of allocating a dummy slot according to an embodiment of the present invention.

순서상 가장 먼저 해야 할 일은 사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하는 것이다. 이를 계산하기 위해, 우선 특정 길이의 메시지에 대 한 전송 준비시간을 계산한다(S410). 특정 메시지에 대한 전송 준비시간(Tr2g)는 다음의 수식과 같이 구할 수 있다.The first thing to do in order is to calculate the total ready time for the message to be sent in the cycle. To calculate this, first, a transmission preparation time for a message of a specific length is calculated (S410). The transmission preparation time T r2g for a specific message can be obtained by the following equation.

[수식 1][Equation 1]

Tr2g = Tready + c * payload_lengthT r2g = T ready + c * payload_length

수식 1은 FlexRay 통신의 전송측 컨트롤러가 특정 길이의 메시지를 전송하기 위한 '전송 준비 시간 (Tr2g)'을 계산하는 일 실시 예다. Equation 1 is an embodiment in which the transmitting controller of the FlexRay communication calculates a 'transmission preparation time (T r2g )' for transmitting a message of a specific length.

Tready는 전송 준비를 위해 FlexRay 사이클의 상태와 슬롯의 상태를 체크하는 시간이다. payload_length는 전송하고자 하는 프레임 페이로드(payload)의 16-bit 단위의 길이이며, c는 컨트롤러의 메시지 버퍼에 써넣고자 하는 페이로드(payload)의 길이에 비례하는 메모리 접근 시간을 표현할 때 사용하는 비례계수로서 메모리 버스의 속도가 빠를수록 작아지며 버스의 속도가 느릴수록 커지게 된다. 이는 구현하려는 시스템에 의존적이므로 실험적으로 구해지는 계수이다.T ready is the time to check the state of the FlexRay cycle and the state of the slot in preparation for transmission. payload_length is the 16-bit unit length of the frame payload to be transmitted, and c is a proportion used to express the memory access time proportional to the length of the payload to be written to the message buffer of the controller. As a factor, the faster the memory bus becomes, the smaller the slower the bus becomes. This is an experimentally determined coefficient since it depends on the system to be implemented.

메시지를 전송함에 있어서 사이클과 슬롯의 상태를 체크하는 시간과, 메시지 버퍼에 메시지를 쓰는데 소요되는 시간은 모두 해당 메시지를 슬롯을 통해 전송하는 과정에 있어 필요한 요소이다. 앞서 살펴본 수식 1은 본 발명의 일 실시 예에 따른 것이며, 본 발명을 FlexRay에 적용함에 있어 메시지 버퍼의 사용 또는 슬롯/사이클의 상태 확인 과정이 다른 프로세스로 대체될 경우, S410의 특정 메시지에 대한 전송 준비시간은 대체한 프로세스를 진행하는데 소요되는 시간으로 변경하여 계산할 수 있다. In transmitting a message, the time required to check the cycle and the state of the slot and the time required to write the message to the message buffer are all necessary elements in the process of transmitting the message through the slot. Equation 1 described above is according to an embodiment of the present invention. When the present invention is applied to FlexRay, when the use of the message buffer or the process of checking the status of the slot / cycle is replaced with another process, transmission of a specific message of S410 The preparation time can be calculated by changing the time it takes to proceed with the replacement process.

한편, 총 전송 준비 시간을 계산하기 위해서 메시지 주기의 가짓수를 계산한다(S420). 본 발명의 일 실시 예에 따른 메시지 주기의 가짓수는 사이클 내에 전송하고자 하는 모든 메시지들을 주기별로 구분하여 주기의 가짓수를 산출할 수 있다. S420 과정에서 계산된 값과 앞서 계산된 S410 과정의 전송 준비 시간을 결합하여 한 사이클을 전송하기 위해 필요한 총 전송 준비시간(Tr2g _ total)을 계산한다(S430). 본 발명의 일 실시 예에 따른 총 전송 준비 시간은 수식 2를 통해 구할 수 있다.Meanwhile, in order to calculate the total transmission preparation time, the number of hypotheses of the message period is calculated (S420). According to an embodiment of the present invention, the number of periods of a message may be calculated by dividing all messages to be transmitted within a cycle by period. A total transmission preparation time (T r2g _ total ) required to transmit one cycle is calculated by combining the value calculated in S420 and the transmission preparation time of S410 previously calculated (S430). The total transmission preparation time according to an embodiment of the present invention can be obtained through Equation 2.

[수식 2][Equation 2]

Tr2g _ total = Tr2g * NumPeriodT r2g _ total = T r2g * NumPeriod

수식 2는 앞서 구한 개별 메시지의 전송 준비 시간에 NumPeriod라는 값을 곱하는데, NumPeriod는 전송하고자 하는 모든 메시지를 주기별로 구분했을 때의 가짓수를 의미한다. Equation 2 multiplies the value of NumPeriod by the previously prepared time of transmission of each message, where NumPeriod is the number of pieces when all messages to be transmitted are divided by period.

총 전송 준비 시간이 계산되면, 메시지 전송 준비 시간과 메시지 전송 슬롯이 겹치지 않도록 하기 위한 더미 슬롯(Dummy Slot)을 몇 개로 할 것인지를 계산해야 한다. 따라서, S430 과정에서 계산한 Tr2g _ total을 이용하여 더미 슬롯의 개수(NumDummy)를 산출한다(S440). 산출 수식의 일 실시 예는 수식 3과 같다.Once the total transmission preparation time is calculated, it is necessary to calculate the number of dummy slots to prevent the message transmission preparation time and the message transmission slot from overlapping. Accordingly, the number NumDummy of the dummy slots is calculated using T r2g _ total calculated in S430 (S440). An embodiment of the calculation formula is the same as Equation 3.

[수식 3][Equation 3]

NumDummy = ceil(Tr2g _ total / gdStaticslot)NumDummy = ceil (T r2g _ total / gdStaticslot)

gdStaticSlot은 정적 슬롯(Static Slot)의 크기이며, ceil( )은 정수로 결과 가 나올 수 있도록 소수점을 1 단위로 올림하는 함수이다.gdStaticSlot is the size of the static slot, and ceil () is a function that rounds up the decimal point to one unit so that the result is an integer.

계산된 더미 슬롯의 개수에 따라 FlexRelay 사이클의 앞쪽에 더미 슬롯을 배치하고(S450), FlexRay 사이클의 뒤쪽에는 메시지의 우선 순위를 고려하여 슬롯에 메시지를 할당한다(S460). 그리고 메시지를 전송하고 완료한다.According to the calculated number of dummy slots, a dummy slot is disposed in front of the FlexRelay cycle (S450), and a message is allocated to the slot in consideration of the priority of the message at the rear of the FlexRay cycle (S460). Then send and complete the message.

도 5는 본 발명의 일 실시 예에 따른 더미 슬롯을 할당하는 예를 보여주는 도면이다. 도 5는 앞서 도 4의 과정에 의해 산출된 더미 슬롯이 2개이고 메시지의 개수가 3개인 경우를 보여주는 도면이다.5 is a diagram illustrating an example of allocating a dummy slot according to an embodiment of the present invention. FIG. 5 is a diagram illustrating a case where two dummy slots calculated by the process of FIG. 4 and the number of messages are three.

더미 슬롯(510)은 FlexRay 사이클의 앞 쪽 슬롯으로 설정한다. 더미 슬롯에는 메시지가 할당되지 않는다. 그리고 우선 순위가 가장 높은 태스크가 전송하는 메시지는 더미 슬롯을 제외한 사용 슬롯(520)의 가장 뒤쪽에 있는 슬롯(522)에 할당한다. 그리고 그 다음으로 높은 우선 순위를 가지는 태스크가 전송하는 메시지는 바로 한 슬롯 앞쪽에 할당하는 방식으로 하여, 가장 우선 순위가 낮은 태스크가 전송하는 메시지(521)는 더미슬롯과 인접한, 바로 뒤쪽의 슬롯에 할당되어 전송된다. 도 5에서 더미슬롯 2개를 두고, 사용 가능한 슬롯을 3개를 두어 메시지를 전송하는데, 만약, 도 5에 나타난 사이클에서 메시지를 전송하는데 준비하는 시간이 더미 슬롯의 전체 길이(2개 슬롯의 길이)보다 클 경우, 더미 슬롯을 하나 더 삽입하고 사용 슬롯(520)을 한 슬롯씩 뒤로 밀어내는 형태로 배치한다. 따라서, 모든 태스크의 메시지는 전송 준비 시간에 영향을 받지 않고 전송될 수 있다. 그러나, FlexRay 사이클 내의 슬롯의 개수가 일정 수만큼 고정되어 있다면 더미 슬롯을 삽입하는 데 에 한계가 발생하게 된다. 이 경우 가장 우선 순위가 낮은 태스크의 메시지부터 그 다음 사이클에서 전송될 수 있다. 따라서, 긴급히 보내야 하는, 우선순위가 높은 태스크의 메시지는 전송 준비 시간에 영향을 받지 않고 전송될 수 있다.The dummy slot 510 is set to the front slot of the FlexRay cycle. No message is assigned to the dummy slot. The message transmitted by the task having the highest priority is allocated to the slot 522 located at the rear of the used slot 520 except the dummy slot. Then, the message transmitted by the next highest priority task is allocated in front of one slot, so that the message 521 transmitted by the lowest priority task is placed in the immediately adjacent slot adjacent to the dummy slot. Assigned and sent. In FIG. 5, two dummy slots and three available slots are used to transmit a message. If the time to prepare to transmit a message in the cycle shown in FIG. 5 is the total length of the dummy slot (length of two slots) If larger than 1), one more dummy slot is inserted and the use slot 520 is pushed back by one slot. Thus, messages of all tasks can be transmitted without being affected by the transmission preparation time. However, if the number of slots in the FlexRay cycle is fixed by a certain number, there is a limit to inserting a dummy slot. In this case, messages from the lowest priority task can be sent in the next cycle. Thus, messages of high priority tasks, which are urgently sent, can be transmitted without being affected by the transmission preparation time.

한편, 본 발명의 일 실시 예에서는 매 사이클마다 더미 슬롯의 개수를 계산하지 않고, 이전에 송신한 메시지의 크기 및 개수 등과 비교하여 증감이 발생하지 않는 경우, 더미 슬롯을 이전 과정에서 설정한 개수로 유지하여 진행할 수 있다. 이는, 유사한 범위의 메시지의 크기와 개수는 메시지를 전송하는데 소요되는 전송 준비 시간에 변동이 없으므로, 더미 슬롯의 개수를 별도로 계산하지 않고 이전에 계산한 개수로 유지하여도 메시지의 지연이 발생하지 않기 때문이다.Meanwhile, according to an exemplary embodiment of the present invention, when the number of dummy slots is not calculated every cycle, and no increase or decrease occurs in comparison with the size and number of previously transmitted messages, the dummy slots are set to the number set in the previous process. You can keep going. This is because the size and number of messages in a similar range do not change in preparation time for transmitting a message, so that the delay of the message does not occur even if the number of dummy slots is kept in the previously calculated number without separately calculating the number of dummy slots. Because.

본 발명의 다른 실시 예에서는 전송할 메시지를 태스크의 우선순위로 판단할 뿐만 아니라, 우선 순위 이외의 다양한 기준으로도 판단할 수 있다. 예를 들어, 이전 사이클인 제 1 사이클에서 전송이 지연된 메시지일 경우에는 우선 순위가 낮은 태스크의 메시지라 하여도, 이번에 송신할 사이클(제 2 사이클)에서는 우선 순위와 관계 없이, 가장 뒤쪽의 슬롯에 할당되도록 조절할 수 있다. According to another embodiment of the present invention, the message to be transmitted may be determined not only as the priority of the task but also by various criteria other than the priority. For example, if a message is delayed in the first cycle, which is the previous cycle, even if the message is a task of a lower priority, the cycle to be sent this time (the second cycle) is placed in the rearmost slot regardless of the priority. Can be adjusted to be assigned.

사용 슬롯 내에서 슬롯의 위치에 따라 어떤 메시지를 할당할 것인가는 해당 메시지의 태스크 우선순위, 지연된 횟수, 메시지 자체의 중요도 등 다양한 판단 기준을 적용할 수 있으며, 본 발명은 특정한 기준에 구속되지 않는다.Which message is allocated according to the position of the slot in the used slot can be applied to various determination criteria such as the task priority of the message, the number of delays, the importance of the message itself, and the present invention is not limited to the specific criteria.

본 발명의 일 실시 예에서는 메시지를 슬롯에 할당하는 데 있어서 더미 슬롯을 FlexRay 사이클의 전반부에 배치하고 슬롯 아이디(slot ID)가 큰 것 (사이클의 후반으로 갈수록 슬롯 아이디 증가)부터 우선순위가 높은 태스크가 전송하는 메시지에 할당 되도록 하며 슬롯 아이디가 낮을수록 우선순위가 낮은 태스크가 사용하도록 함으로써 우선순위가 높은 태스크에 의한 선점이나 인터럽트에 의한 영향이 가해지더라도 의도된 시간 내에 메시지가 전송 될 수 있는 방법을 제안하였다.In an embodiment of the present invention, in assigning a message to a slot, a dummy slot is placed at the beginning of a FlexRay cycle, and the task having a high priority from a large slot ID (increasing the slot ID toward the second half of the cycle) The lower slot ID is used by lower priority tasks, so that messages can be transmitted within the intended time even if the preemption or interruption of the higher priority task is applied. Suggested.

제안한 방법을 복수 개의 노드에서 다양한 주기의 메시지가 전송되는 상황에 적용한다면 전송 시간의 지연을 최소화시켜 실시간성과 확정성을 극대화 할 수 있을 것이다.If the proposed method is applied to a situation in which messages of various periods are transmitted from multiple nodes, it is possible to maximize the real-time and determinism by minimizing the delay of the transmission time.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

도 1은 FlexRay의 사이클(Cycle)의 구성을 보여주는 도면이다.1 is a diagram illustrating a configuration of a cycle of FlexRay.

도 2는 FlexRay에서 전송 준비 과정에서 전송 지연이 발생되는 조건을 보여주는 도면이다. 2 is a diagram illustrating a condition in which a transmission delay occurs in preparation for transmission in FlexRay.

도 3은 본 발명의 일 실시 예에 따른 메시지 재배치 프로세스가 적용되는 FlexRay 통신을 위한 노드의 구성을 보여주는 도면이다.3 is a diagram illustrating a configuration of a node for FlexRay communication to which a message relocation process according to an embodiment of the present invention is applied.

도 4는 본 발명의 일 실시 예에 따른 더미 슬롯을 할당하는 과정을 보여주는 도면이다.4 is a diagram illustrating a process of allocating a dummy slot according to an embodiment of the present invention.

도 5는 본 발명의 일 실시 예에 따른 더미 슬롯을 할당하는 예를 보여주는 도면이다.5 is a diagram illustrating an example of allocating a dummy slot according to an embodiment of the present invention.

Claims (12)

사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하는 단계;Calculating a total transmission ready time for a message to transmit in a cycle; 상기 계산된 총 전송 준비시간의 완료 이후 전송을 시작하게 되는 사용 슬롯에 메시지를 할당하는 단계;Allocating a message to a usage slot which will start transmission after completion of the calculated total transmission preparation time; 상기 사이클에서 상기 메시지를 전송하는 단계를 포함하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.Sending the message in the cycle, wherein the slot is placed in a static segment for improved reliability in FlexRay communication. 제 1항에 있어서,The method of claim 1, 상기 메시지를 할당하는 단계는Allocating the message 상기 총 전송 준비시간과 상기 메시지의 수로 상기 사이클에서 필요한 더미 슬롯의 수를 계산하는 단계를 포함하며,Calculating the number of dummy slots required in the cycle using the total transmission preparation time and the number of messages; 상기 더미 슬롯은 상기 사이클 내에서 가장 작은 슬롯 아이디를 가지며, 메시지가 할당되지 않는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.And wherein the dummy slot has the smallest slot ID in the cycle and no message is assigned. 제 1항에 있어서,The method of claim 1, 상기 메시지가 둘 이상인 경우, 상기 사이클 내에서 가장 큰 슬롯 아이디를 가지는 슬롯에 가장 우선순위가 높은 메시지를 할당하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.If the message is more than one, the slot having the highest priority is allocated to the slot having the largest slot ID in the cycle. . 제 1항에 있어서,The method of claim 1, 상기 총 전송 준비 시간을 계산하는 단계는 상기 메시지 중 하나를 전송하기 위해 사이클의 상태를 확인하는데 소요되는 시간, 슬롯의 상태를 확인하는데 소요되는 시간, 또는 상기 메시지를 컨트롤러의 메시지 버퍼에 저장하는데 소요되는 시간 중 하나 이상을 포함하여 전송 준비 시간을 계산하는 단계를 포함하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.The calculating of the total transmission preparation time may include time required to check a state of a cycle, time required to check a state of a slot, or storing the message in a message buffer of a controller to transmit one of the messages. Calculating slot readiness time, including at least one of the time being. 제 1항에 있어서,The method of claim 1, 상기 총 전송 준비 시간은 상기 메시지 주기의 가짓수를 계산하는 단계를 더 포함하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.Wherein the total transmission ready time further comprises calculating the number of hypotheses of the message period, wherein slots are placed within static segments for improved reliability in FlexRay communication. 제 1항에 있어서,The method of claim 1, 상기 메시지가 둘 이상인 경우, 상기 사이클 내에서 가장 큰 슬롯 아이디를 가지는 슬롯에 상기 사이클 이전의 사이클에서 전송이 지연된 메시지를 할당하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법.In the case where there is more than one message, the slot having the largest slot ID in the cycle is assigned a message whose transmission is delayed in the cycle before the cycle. How to place it. FlexReay 통신으로 메시지의 송수신을 제어하는 FlexRay 컨트롤러를 포함하며, FlexReay controller to control the sending and receiving of messages with FlexReay communication, 상기 FlexRay 컨트롤러는The FlexRay controller 사이클에서 전송할 메시지에 대한 총 전송 준비 시간을 계산하여, 상기 계산된 총 전송 준비시간의 완료 이후 전송을 시작하게 되는 사용 슬롯에 메시지를 할당하여, 상기 사이클 내에 상기 메시지가 전송되도록 제어하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.Calculating a total transmission preparation time for a message to be transmitted in a cycle, and assigning the message to a use slot that starts transmission after completion of the calculated total transmission preparation time, thereby controlling the message to be transmitted within the cycle. And slots within static segments for improved reliability in FlexRay communications. 제 7항에 있어서,The method of claim 7, wherein 상기 FlexRay 컨트롤러는 상기 메시지를 할당하기 위해, 상기 총 전송 준비시간과 상기 메시지의 수로 상기 사이클에서 필요한 더미 슬롯의 수를 계산하며, The FlexRay controller calculates the number of dummy slots required in the cycle by the total transmission preparation time and the number of messages to allocate the message, 상기 더미 슬롯은 상기 사이클 내에서 가장 작은 슬롯 아이디를 가지며, 메시지가 할당되지 않는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.Wherein the dummy slot has the smallest slot ID in the cycle, and no message is assigned, wherein the slot is located in a static segment for improved reliability in FlexRay communication. 제 7항에 있어서,The method of claim 7, wherein 상기 메시지가 둘 이상인 경우, 상기 사이클 내에서 가장 큰 슬롯 아이디를 가지는 슬롯에 가장 우선순위가 높은 메시지를 할당하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.In case of more than one message, the device for arranging slots in a static segment for improving reliability in FlexRay communication, characterized in that the highest priority message is allocated to the slot having the largest slot ID in the cycle. . 제 7항에 있어서,The method of claim 7, wherein 상기 FlexRay 컨트롤러는 상기 총 전송 준비 시간을 계산하기 위해 상기 메시지 중 하나를 전송하기 위해 사이클의 상태를 확인하는데 소요되는 시간, 슬롯의 상태를 확인하는데 소요되는 시간, 또는 상기 메시지를 컨트롤러의 메시지 버퍼에 저장하는데 소요되는 시간 중 하나 이상을 포함하여 전송 준비 시간을 계산하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.The FlexRay controller takes time to check the state of a cycle, time spent to check the state of a slot, or sends the message to the controller's message buffer to calculate one of the messages to calculate the total transfer ready time. An apparatus for arranging slots within static segments for improved reliability in FlexRay communications, comprising calculating a transmission ready time including one or more of the time spent in storage. 제 7항에 있어서,The method of claim 7, wherein 상기 FlexRay 컨트롤러는 상기 메시지 주기의 가짓수를 기준으로 상기 총 전송 준비 시간을 계산하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.And the FlexRay controller calculates the total transmission preparation time based on the number of provisions of the message period, wherein the slot is arranged in a static segment to improve reliability in FlexRay communication. 제 7항에 있어서,The method of claim 7, wherein 상기 메시지가 둘 이상인 경우, 상기 사이클 내에서 가장 큰 슬롯 아이디를 가지는 슬롯에 상기 사이클 이전의 사이클에서 전송이 지연된 메시지를 할당하는 것을 특징으로 하는, FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 장치.In the case where there is more than one message, the slot having the largest slot ID in the cycle is assigned a message whose transmission is delayed in the cycle before the cycle. Device for placing it.
KR1020090114327A 2009-11-25 2009-11-25 Method and apparatus of locating slot in static segment for reliability in flexray communication KR101058414B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090114327A KR101058414B1 (en) 2009-11-25 2009-11-25 Method and apparatus of locating slot in static segment for reliability in flexray communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090114327A KR101058414B1 (en) 2009-11-25 2009-11-25 Method and apparatus of locating slot in static segment for reliability in flexray communication

Publications (2)

Publication Number Publication Date
KR20110057779A KR20110057779A (en) 2011-06-01
KR101058414B1 true KR101058414B1 (en) 2011-08-24

Family

ID=44393350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090114327A KR101058414B1 (en) 2009-11-25 2009-11-25 Method and apparatus of locating slot in static segment for reliability in flexray communication

Country Status (1)

Country Link
KR (1) KR101058414B1 (en)

Also Published As

Publication number Publication date
KR20110057779A (en) 2011-06-01

Similar Documents

Publication Publication Date Title
US9998389B2 (en) Method and apparatus for blocking transmission of frames from a network device
JP4814950B2 (en) Transmission / reception system, node, and communication method
EP3240244B1 (en) Controller area network synchronization
JP3625280B2 (en) COMMUNICATION METHOD, COMMUNICATION DEVICE, AND COMMUNICATION SYSTEM
US10602530B2 (en) Access method with access slots and priority resolution
EP3709578A1 (en) Transmission duration report and transmission target time allocation for controller area network synchronization
US9135196B2 (en) Method for operating a bus system for communication with a plurality of communication nodes, and motor vehicle
Herber et al. A network virtualization approach for performance isolation in controller area network (CAN)
KR101058414B1 (en) Method and apparatus of locating slot in static segment for reliability in flexray communication
JP5372699B2 (en) In-vehicle network device
Marques et al. Efficient transient error recovery in FlexRay using the dynamic segment
KR101601303B1 (en) Method for mediating message with differed typed protocol
Hua et al. HOSA: Holistic scheduling and analysis for scalable fault-tolerant FlexRay design
KR101058411B1 (en) Method and apparatus for rearranging and transmitting messages for improving reliability in フ lexRay communication
KR101301078B1 (en) System, Device and Method for Controlling FlexRay Network
CN104581978A (en) User terminal and channel access method
US20240073060A1 (en) Method for rapidly flashing sensor nodes via an ethernet network
US20240022450A1 (en) Method for optimizing the transfer data rate in a sensor network in partial network operation in an ethernet network
Rabai et al. Static and dynamic scheduling for FlexRay network using the combined method
Hua et al. Cooperative and efficient real-time scheduling for automotive communications
KR101076410B1 (en) Method and apparatus of compensating delay of message transmission in in heterogeneous communication
CN117320163A (en) Data transmission method and device
Di Natale Controller Area Network
Sugihara Minimization of the fabrication cost for a bridged-bus-Based TDMA system under hard real-time constraints
JPH0548618A (en) Multiplex transmission equipment

Legal Events

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

Payment date: 20140812

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150721

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 9