KR20190013012A - Method for transceiving data between heterogeneous network - Google Patents
Method for transceiving data between heterogeneous network Download PDFInfo
- Publication number
- KR20190013012A KR20190013012A KR1020170096903A KR20170096903A KR20190013012A KR 20190013012 A KR20190013012 A KR 20190013012A KR 1020170096903 A KR1020170096903 A KR 1020170096903A KR 20170096903 A KR20170096903 A KR 20170096903A KR 20190013012 A KR20190013012 A KR 20190013012A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- data
- protocol
- dlc
- gateway
- 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/40052—High-speed IEEE 1394 serial bus
- H04L12/40097—Interconnection with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 이종망간 데이터 라우팅 방법에 관한 것으로, 보다 상세히는 버스 로드가 고려되는 차량용 게이트웨이를 통한 이종망간 데이터 라우팅 방법에 관한 것이다.The present invention relates to a heterogeneous network data routing method, and more particularly, to a heterogeneous network data routing method through a car gateway considering a bus load.
차량용 게이트웨이 제어기는 서로 다른 네트워크의 데이터를 라우팅하는 역할을 수행할 수 있다. 이때, 이종 통신 프로토콜 간의 데이터를 라우팅할 경우 서로 다른 통신 속도와 1회 전송 가능한 데이터 사이즈가 상이할 수 있다.The in-vehicle gateway controller can serve to route data in different networks. At this time, when data is routed between heterogeneous communication protocols, different communication speeds and data sizes that can be transmitted one time may be different.
예컨대, 차량용 네트워크에서 사용되는 프로토콜별 최대 전송 속도와 1회 전송 데이터는 아래 표 1에 나열된 바와 같다.For example, the maximum transmission rate and transmission data per protocol used in a car network are listed in Table 1 below.
속도 [bps]Maximum transmission
Speed [bps]
1 M
12 M
10 M
100 M / 1G
전송 속도Actual setting
Transmission speed
100 kbps
100 Mbps
전송 데이터1 time
1 to 8 bytes
0 to 8 bytes
0 to 64 bytes
0 to 254 bytes
0 to 1,500 bytes
이와 같이 통신 속도와 1회 전송 가능한 데이터 사이즈가 프로토콜 별로 상이하여 비효율적 데이터 전송이 이루어지거나, 메모리 사용량, CPU 부하가 높아질 수 있다.As described above, the communication speed and the data size that can be transmitted once are different for each protocol, resulting in inefficient data transmission, memory usage, and CPU load.
예를 들어, 고속 CAN (통신 속도 500 kbps, 1회 전송 데이터 8 Byte) 메시지를 CAN FD (통신 속도 2 Mbps, 1회 전송 데이터 64 Byte)로 라우팅 필요 시, 다음과 같이 두 가지 방법이 고려될 수 있다.For example, if a high-speed CAN (500 kbps communication speed, 8 bytes of transmission data) message is to be routed to CAN FD (
첫 번째 방법으로, 고속 CAN의 8 Byte 데이터를 CAN FD로 8 Byte씩 라우팅하는 방법이 있다. 본 방법은 고속이며 대용량 데이터 전송이 가능한 CAN FD 네트워크를 비효율적으로 사용하는 문제점이 있을 뿐만 아니라, 메지시의 우선 순위에 의해 상황에 따라 일부 메지시의 라우팅이 지나치게 지연될 수 있다. 이를 도 1을 참조하여 설명한다.As a first method, there is a method of routing 8 bytes of high-speed CAN data to 8 bytes of CAN FD. This method has a problem of inefficient use of the CAN FD network capable of high-speed and large-capacity data transmission, and routing of some messages may be delayed due to the priority of the message depending on the situation. This will be described with reference to FIG.
도 1은 일반적인 차량 네트워크에서 이종망간 동일 데이터 사이즈 라우팅의 문제점을 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining a problem of routing the same data size among heterogeneous networks in a general vehicle network.
도 1을 참조하면, 게이트웨이를 통해 고속 CAN 프로토콜에 따라 동작하는 제어기 A 및 제어기 B와, CAN FD 프로토콜에 따라 동작하는 제어기 C 및 제어기 D가 데이터를 교환한다. 게이트웨이에서 고속 CAN 네트워크를 통해 다양한 ID의 메시지를 수신하게 된다. 이때, 낮은 ID는 높은 우선 순위를 나타낸다. 게이트웨이는 고속의 대용량 전송가능한 CAN FD로 8 바이트씩 수신한 메시지를 전송하므로, 한 번에 하나의 고속 CAN 메시지에 해당하는 데이터만 전송될 수 있다. 따라서, 우선순위가 낮은 메시지(즉, 400번대 ID)는 게이트웨이에서 전송 대기하게 되는바, 라우팅 딜레이를 야기하게 된다.Referring to FIG. 1, a controller A and a controller B that operate in accordance with the high-speed CAN protocol through a gateway, and a controller C and a controller D that operate in accordance with the CAN FD protocol exchange data. The gateway receives messages of various IDs through the high-speed CAN network. At this time, the lower ID indicates a higher priority. Since the gateway transmits a message received by 8 bytes to a high-speed, large-capacity CAN FD, only data corresponding to one high-speed CAN message can be transmitted at a time. Therefore, a low-priority message (i.e., a 400-series ID) is queued for transmission at the gateway, resulting in a routing delay.
두 번째 방법으로, 고속 CAN의 8 Byte 데이터를 8개 수신 후 통합하여, CAN FD로 64 Byte 라우팅하는 방법이 있다. 즉, 게이트웨이는 고속 CAN 데이터를 수신한 후 지속적으로 메모리에 저장하면서 하나의 CAN FD 메시지로 통합 후 전송하게 되는 것이다. 따라서, 본 방법은 메모리 사용량과 CPU 부하가 증가하는 문제점이 있다. 이를 도 2를 참조하여 설명한다.As a second method, 8 bytes of 8-byte data of high-speed CAN can be integrated and then 64 bytes can be routed to CAN FD. That is, after receiving the high-speed CAN data, the gateway continuously stores the data in the memory, and transmits the integrated CAN FD message. Therefore, this method has a problem of increasing memory usage and CPU load. This will be described with reference to FIG.
도 2는 일반적인 차량 네트워크에서 이종망간 메시지 통합 라우팅의 문제점을 설명하기 위한 도면이다. 도 2에서는 제어기 D가 생략된 점을 제외하면, 기본적인 네트워크 구성은 도 1과 유사하다.2 is a diagram for explaining a problem of integrated routing of heterogeneous messages in a general vehicle network. In Fig. 2, the basic network configuration is similar to Fig. 1, except that the controller D is omitted.
도 2를 참조하면, 게이트웨이에서 CAN FD 메시지의 데이터 사이즈인 64 바이트에 해당하는 고속 CAN 메시지를 다 수신할 때까지 데이터는 버퍼에 저장된다. 이후 CAN FD 송신을 위한 64 바이트 데이터가 모두 모이면, 비로소 저장된 8개의 8 바이트 데이터를 합쳐서 64 바이트 크기의 CAN FD 메시지가 전송된다. 따라서, 게이트웨이의 메모리 사용량과 CPU 로드 증가의 문제점 외에, 64 바이트 데이터가 모두 모일 때까지 미리 수신된 메시지의 라우팅 시간이 지연되는 문제점도 있다.Referring to FIG. 2, data is stored in a buffer until the gateway receives a high-speed CAN message corresponding to 64 bytes, which is the data size of the CAN FD message. Then, if all 64 bytes of data for CAN FD transmission are all collected, the CAN FD message of the size of 64 bytes is transmitted by combining the eight 8-byte data stored. Therefore, there is a problem that the routing time of a previously received message is delayed until 64 bytes of data are collected, in addition to a problem of a memory usage of a gateway and an increase of a CPU load.
본 발명은 보다 효율적으로 이종망간 데이터 전송을 수행할 수 있는 방법을 제공하기 위한 것이다.The present invention is intended to provide a method for performing heterogeneous network data transmission more efficiently.
특히, 본 발명은 차량용 게이트웨이를 통해 이종망간 통신이 수행되는 환경에서 전송 속도를 향상시키되 딜레이는 최소화할 수 있는 이종망간 데이터 전송을 수행할 수 있는 방법을 제공하기 위한 것이다.In particular, the present invention provides a method for performing heterogeneous network data transmission in which the transmission speed is improved and the delay is minimized in an environment where heterogeneous network communication is performed through a gateway for a vehicle.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량용 게이트웨이의 이종망간 데이터 라우팅 방법은, 제1 프로토콜에 따른 적어도 하나의 제어기로부터, 제2 프로토콜에 따른 제어기로 향하는 제1 메시지를 수신하는 단계; 송신 대기 메시지 중 상기 제1 메시지의 ID와 인접한 ID를 갖는 제2 메시지가 존재하지 여부를 판단하는 단계; 상기 판단 결과 존재하는 경우, 상기 제1 메시지와 상기 제2 메시지의 우선 순위를 비교하는 단계; 상기 비교의 결과에 따라 상기 제1 메시지 및 상기 제2 메시지를 상기 제2 프로토콜에 따른 메시지로 통합하는 단계; 및 상기 통합된 메시지를 상기 제2 프로토콜에 따른 제어기로 전송하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method for routing data between heterogeneous networks of a gateway for a vehicle, the method comprising: receiving, from at least one controller according to a first protocol, ; Determining whether a second message having an ID adjacent to the ID of the first message exists among the transmission standby messages; Comparing the priority of the first message and the priority of the second message when the determination result is present; Integrating the first message and the second message into a message according to the second protocol according to a result of the comparison; And transmitting the aggregated message to a controller according to the second protocol.
또한, 본 발명의 일 실시예에 따른 차량용 게이트웨이의 이종망간 라우팅에 따른 수신측 제어기의 메시지 수신 방법은, 상기 게이트웨이로부터 메시지를 수신하는 단계; 상기 수신된 메시지의 ID인 제1 ID에 대응되는 제1 데이터 길이만큼, 상기 수신된 메시지의 데이터를 앞에서부터 커팅하는 단계; 상기 커팅된 데이터를 상기 제1 ID를 갖는 메시지로 복원하는 단계; 및 상기 수신된 메시지의 DLC(Data length code)에서 상기 제1 데이터 길이를 차감하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a message reception method of a receiving-side controller according to inter-network routing of a gateway for a vehicle, the method comprising: receiving a message from the gateway; Cutting the data of the received message from the beginning by a first data length corresponding to a first ID that is an ID of the received message; Restoring the cut data into a message having the first ID; And subtracting the first data length from a data length code (DLC) of the received message.
본 발명에 따른 이종망간 데이터 전송 방법의 효과를 설명하면 다음과 같다.The effect of the heterogeneous network data transmission method according to the present invention is as follows.
먼저, 보다 효율적으로 차량용 게이트웨이를 구비하는 네트워크에서 이종망간 데이트 교환이 수행될 수 있다.First, heterogeneous mangled data exchange can be performed in a network having a vehicle gateway more efficiently.
특히, 소정 조건을 만족하는 둘 이상의 메시지가 한 번에 전송될 수 있어 효율적이면서도 전송 딜레이가 적다.In particular, two or more messages satisfying a predetermined condition can be transmitted at one time, thereby being efficient and having a small transmission delay.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 일반적인 차량 네트워크에서 이종망간 동일 데이터 사이즈 라우팅의 문제점을 설명하기 위한 도면이다.
도 2는 일반적인 차량 네트워크에서 이종망간 메시지 통합 라우팅의 문제점을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 이종망간 데이터 전송을 위한 프로토콜간 메시지 그룹 및 사이즈가 정의된 형태의 일례를, 도 4는 도 3의 정의를 기반으로 본 발명의 일 실시예에 따른 이종망간 데이터 전송 과정의 일례를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 게이트웨이에서 이종망간 데이터를 라우팅하는 과정의 일례를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 수신측 제어기에서 게이트웨이로부터 전송된 데이터를 확인하는 과정의 일례를 나타낸다.BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. It is to be understood, however, that the technical features of the present invention are not limited to the specific drawings, and the features disclosed in the drawings may be combined with each other to constitute a new embodiment.
FIG. 1 is a diagram for explaining a problem of routing the same data size among heterogeneous networks in a general vehicle network.
2 is a diagram for explaining a problem of integrated routing of heterogeneous messages in a general vehicle network.
FIG. 3 illustrates an example of a format in which inter-protocol message groups and sizes are defined for heterogeneous data transmission according to an exemplary embodiment of the present invention. And shows an example of the process of transmitting the manganese data.
5 illustrates an example of a process of routing heterogeneous network data in a gateway according to an embodiment of the present invention.
6 shows an example of a process of checking data transmitted from a gateway in a reception-side controller according to an embodiment of the present invention.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an apparatus and various methods to which embodiments of the present invention are applied will be described in detail with reference to the drawings. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.
그리고 본 발명을 설명함에 있어서 관련된 공지기술에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.
본 발명의 일 실시예에서는, 복수의 CAN 메시지를 CAN FD 메시지의 사이즈를 고려하여 그루핑하고, 동일 그룹에 속하는 인접한 ID를 갖는 CAN 메시지가 하나의 CAN FD 메시지로 전송되도록 할 것을 제안한다. 이러한 방법을 도 3 및 도 4를 참조하여 설명한다.In one embodiment of the present invention, it is proposed that a plurality of CAN messages are grouped considering the size of a CAN FD message, and a CAN message having an adjacent ID belonging to the same group is transmitted in one CAN FD message. This method will be described with reference to Figs. 3 and 4. Fig.
도 3은 본 발명의 일 실시예에 따른 이종망간 데이터 전송을 위한 프로토콜간 메시지 그룹 및 사이즈가 정의된 형태의 일례를, 도 4는 도 3의 정의를 기반으로 본 발명의 일 실시예에 따른 이종망간 데이터 전송 과정의 일례를 나타낸다.FIG. 3 illustrates an example of a format in which inter-protocol message groups and sizes are defined for heterogeneous data transmission according to an exemplary embodiment of the present invention. And shows an example of the process of transmitting the manganese data.
도 3을 참조하면, 게이트웨이에서 라우팅을 하는 고속 CAN 메시지를 CAN FD Size에 맞게 그룹핑 및 CAN FD 전송가능 데이터 사이즈가 정의될 수 있다.Referring to FIG. 3, a data size capable of grouping and CAN FD transmittable can be defined for high-speed CAN messages that are routed in the gateway according to the CAN FD Size.
여기서, 동일한 CAN FD 그룹의 메시지들은 자신 다음의 ID를 갖는 메시지들중 적어도 하나를 순차적으로 포함할 수 있는 사이즈를 전송가능 데이터 사이즈로 갖는다. 예컨대, CAN FD 1그룹에서 ID 0x106을 갖는 메시지는, 전송 가능 데이터 사이즈로 자신의 크기에 해당하는 8과, 다음 ID인 0x107의 크기인 8을 합산한 크기인 16을 갖는다. 다만, 메시지의 최소 크기는 8바이트이므로, 데이터 크기가 8바이트 미만이라도 8바이트가 전송 크기가 된다. 예컨대, CAN FD 2 그룹에서 0x405 메시지는 데이터 크기가 3이라도 전송 가능 데이터의 최소값으로 8을 갖는다. 물론, 자신과, 자신의 다음 ID인 0x406 및 0x407 메시지 각각의 데이터 크기를 합산한 크기인 19 또한 전송 가능 데이터 크기로 갖는다.Here, the messages of the same CAN FD group have a size capable of sequentially including at least one of the messages having the next ID as the transmittable data size. For example, a message having an ID of 0x106 in the CAN FD1 group has a size of 16, which is the sum of 8 corresponding to the size of the sendable data and 8 of the size of 0x107, which is the next ID. However, since the minimum size of the message is 8 bytes, the transmission size is 8 bytes even if the data size is less than 8 bytes. For example, in the CAN FD2 group, the 0x405 message has a minimum value of 8 for the transmittable data even if the data size is 3. Of course, it also has the size of transmittable data 19, which is the size of itself and the sum of the data sizes of the next IDs 0x406 and 0x407, respectively.
도 3과 같은 형태의 테이블은 미리 게이트웨이와 수신측 제어기(즉, CAN FD 프로토콜에 따라 동작하는 제어기)에 공유되어 있는 것이 바람직하다.It is preferable that the table of the form shown in FIG. 3 is shared in advance between the gateway and the receiver-side controller (that is, the controller that operates according to the CAN FD protocol).
도 4를 참조하면, 제어기 A 및 제어기 B가 전송하는 메시지의 종류 및 순서는 도 1의 경우와 동일하다.Referring to FIG. 4, the types and order of the messages transmitted by the controller A and the controller B are the same as those in FIG.
다만, 게이트웨이에서 라우팅 메시지 수신 시, 동일 CAN FD 라우팅 메시지 그룹 중에 수신측 네트워크의 버스 로드 때문에 전송하지 못하고 있는 메시지가 소프트웨어 버퍼 또는 하드웨어 버퍼에서 검색될 수 있다.However, when receiving a routing message from the gateway, a message that can not be transmitted due to the bus load of the receiving side network among the same CAN FD routing message group may be retrieved from the software buffer or the hardware buffer.
이때, 동일 CAN FD 메시지 그룹 내 ID가 인접한 메시지 중에 전송 대기중인 메시지가 발견될 경우, 게이트웨이는 두 메시지 중 우선순위가 높은 메시지의 데이터 길이 코드(DLC: Data Length Code)에 우선순위가 낮은 메시지 사이즈인를 더하고, 우선 순위가 높은 메시지의 데이터에 우선순위가 낮은 메시지의 데이터를 뒤에 붙여서(Append) 송신할 수 있다.In this case, if a message waiting for transmission among the messages adjacent to the IDs in the same CAN FD message group is found, the gateway sets a message size having a lower priority to the data length code (DLC) of the higher priority message And append the data of the message having the lower priority to the data of the message having the higher priority.
예컨대, 도 4에서 0x401 메시지가 전송되지 못하고 버퍼에 있는 상태에서 0x402 메시지가 수신될 경우, 게이트웨이는 두 메시지가 동일한 CAN FD 그룹(도 3에서 2그룹)이며, ID가 서로 인접함을 확인하면, 우선순위가 더 높은 0x401 메시지에 0x402 메시지의 데이터를 뒤에 붙여 송신한다. 이때, DLC는 0x401 메시지 자신의 값인 8에 0x402의 값인 8이 합산되어 16으로 설정될 수 있다.For example, if the 0x402 message is not transmitted in the state shown in FIG. 4 and the 0x402 message is received in the buffer, the gateway confirms that the two messages are the same CAN FD group (two groups in FIG. 3) The data of the 0x402 message is appended to the 0x401 message having the higher priority. At this time, the DLC can be set to 16 by adding 8, which is the value of 0x402, to 8, which is the value of the 0x401 message itself.
상술한 방식으로 전송된 메시지를 수신단 측에서는 다음과 같은 방식으로 언패킹(Unpacking)할 수 있다.The message transmitted in the above-described manner can be unpacked in the following manner on the receiving end side.
수신단에서는 먼저 메시지의 DLC를 확인하여 수신된 메시지에서 해당 ID에 대응되는 데이터 길이만큼 앞에서부터 분리하여 수신된 메시지 ID에 대한 원본 메시지를 복구한다. 다음으로, 남은 데이터를 메시지 ID의 다음 ID에 대응되는 데이터 길이만큼 분리하여 수신된 메시지 ID+1에 대한 원본 메시지를 복구한다. 남은 데이터에 대한 분리과정은 DLC가 0이될 때까지 반복된다.At the receiving end, the DLC of the message is checked first, and the original message for the received message ID is recovered by separating from the received data by the data length corresponding to the ID in the received message. Next, the original message for the received message ID + 1 is recovered by separating the remaining data by the data length corresponding to the next ID of the message ID. The separation process for the remaining data is repeated until the DLC becomes zero.
예를 들어, 도 4와 같은 상황이라면, 총 16바이트 중 먼저 0x401 메시지의 데이터 길이인 8만큼을 시작점부터 분리하여 0x401 메시지를 복구한다. 그에 따라 0x401 메시지가 복구된 후의 DLC는 16-8로 8이 된다.For example, in the situation shown in FIG. 4, a data length of 0x401 message is firstly extracted from the starting point among 16 bytes, and the 0x401 message is restored. Accordingly, after the 0x401 message is recovered, the DLC becomes 16-8 and becomes 8.
다음으로 남은 8바이트는 0x402 메시지의 데이터 길이인 8에 대응하므로, 남은 부분 전체가 0x402 메시지로 복구된다. DLC는 8-8로 0이 되므로, 복구 절차가 종료된다.Since the remaining 8 bytes correspond to the data length of 0x402, 8, the entire remaining portion is recovered as the 0x402 message. Since the DLC is 0 to 8-8, the recovery procedure is terminated.
다른 예로, 29 바이트의 0x401 메시지가 수신된 경우, 복구 절차는 다음과 같이 수행될 수 있다.As another example, if a 29 byte 0x401 message is received, the recovery procedure can be performed as follows.
1) 29 Byte 원본 메시지 → 0x401 (8 Byte) 메시지 복구, DLC = 211) 29 Byte original message → 0x401 (8 Byte) message recovery, DLC = 21
2) 21 Byte 잔존 메시지 → 0x402 (8 Byte) 메시지 복구, DLC = 132) 21 bytes remaining message → 0x402 (8 bytes) message recovery, DLC = 13
3) 13 Byte 잔존 메시지 → 0x403 (8 Byte) 메시지 복구, DLC = 53) 13 bytes remaining message → 0x403 (8 bytes) message recovery, DLC = 5
4) 5 Byte 잔존 메시지 → 0x404 (5 Byte) 메시지 복구, DLC = 04) 5 bytes remaining message → 0x404 (5 bytes) message recovery, DLC = 0
전술한 과정을 순서도로 설명하면 도 5 및 도 6과 같다.The above-described process will be described with reference to FIGS. 5 and 6. FIG.
도 5는 본 발명의 일 실시예에 따른 게이트웨이에서 이종망간 데이터를 라우팅하는 과정의 일례를 나타낸다.5 illustrates an example of a process of routing heterogeneous network data in a gateway according to an embodiment of the present invention.
게이트웨이는 먼저 송신단 제어기로부터 입력된(수신된) 메시지 ID가 속한 그룹 메시지 중 ID가 인접한 메시지 ID를 추출할 수 있다(S510). 이때, 추출되는 ID의 개수는 최소 1개, 최대 2개로 설정될 수 있으나 이는 예시적인 것으로 본 실시예는 추출되는 ID의 개수에 한정되지 아니한다.The gateway may extract the message ID adjacent to the ID of the group message to which the received (received) message ID belongs from the transmitter controller (S510). At this time, the number of IDs to be extracted may be set to at least 1 and at most 2, but this is an example, and the present embodiment is not limited to the number of extracted IDs.
ID가 추출되면, 게이트웨이는 추출된 메시지 ID에 해당되는 메시지가 하드웨어 버퍼나 소프트웨어 버퍼에 송신 대기중인지 여부를 판단할 수 있다(S520).If the ID is extracted, the gateway can determine whether the message corresponding to the extracted message ID is in the hardware buffer or in the software buffer (S520).
송신 대기중인 메시지가 존재하는 경우, 게이트웨이는 수신된 메시지와 대기중인 인접한 메시지의 메시지 우선 순위를 판단하고(S530), 판단 결과에 따라 메시지의 DLC 합산 및 데이터 붙이기 순서를 결정한다.If there is a message waiting to be transmitted, the gateway determines the message priority of the received message and the neighboring message waiting (S530), and determines the DLC summation and the data pasting order of the message according to the determination result.
예컨대, 수신된 메시지가 대기중인 메시지보다 우선 순위가 높은 경우, 수신된 메시지의 DLC에 대기중인 메시지의 DLC가 합산되며(S540A), 수신된 메시지의 데이터 뒤에 대기중인 메시지의 데이터가 붙게된다(S550A).For example, if the received message has a higher priority than the waiting message, the DLC of the message waiting in the DLC of the received message is added (S540A), and the data of the message waiting after the data of the received message is attached ).
반대로, 대기중인 메시지가 수신된 메시지보다 우선 순위가 높은 경우, 대기중인 메시지의 DLC에 수신되 메시지의 DLC가 합산되며(S540B), 대기중인 메시지의 데이터 뒤에 수신된 메시지의 데이터가 붙게된다(S550B).In contrast, if the waiting message has a higher priority than the received message, the DLC of the received message is added to the DLC of the waiting message (S540B), and the data of the message received after the data of the waiting message is attached (S550B ).
메시지 통합이 완료되면, 통합된 메시지는 송신 대기 요청과정을 거쳐(S560) 수신단으로 전송될 수 있다.When message integration is completed, the integrated message may be transmitted to the receiving end through a transmission wait request process (S560).
도 6은 본 발명의 일 실시예에 따른 수신측 제어기에서 게이트웨이로부터 전송된 데이터를 확인하는 과정의 일례를 나타낸다.6 shows an example of a process of checking data transmitted from a gateway in a reception-side controller according to an embodiment of the present invention.
도 6을 참조하면, 수신측 제어기는 게이트웨이로부터 메시지가 수신됨에 따라 해당 메시지의 (최대) 데이터 사이즈를 산출하고(S610), 산출된 DLC가 해당 메시지 ID가 가질 수 있는 값인지 여부를 판단한다(S620). 본 단계(S620)의 판단은 도 3과 같은 테이블을 참조하여 수행될 수 있다.Referring to FIG. 6, the receiving-side controller calculates the (maximum) data size of the corresponding message as it is received from the gateway (S610), and determines whether the calculated DLC has a value of the corresponding message ID S620). The determination of step S620 may be performed with reference to the table shown in FIG.
DLC에 문제가 없는 경우, 수신측 제어기는 메시지 분리 및 복구 절차를 수행한다. 먼저, 수신측 제어기는 수신된 메시지의 DLC, ID 및 데이터를 각각 임시값(Temp) 값으로 설정한다(S630).If there is no problem in the DLC, the receiving-side controller performs the message separation and recovery procedure. First, the receiving-side controller sets the DLC, ID, and data of the received message as temporary values (Temp), respectively (S630).
이후, 수신측 제어기는 임시 ID의 DLC 만큼 데이터를 분리하고, 해당 데이터를 임시 ID의 소프트웨어 버퍼로 붙여넣는다(S640). 따라서, 처음 수신된 메시지의 ID에 해당하는 실제 메시지가 전체 수신된 메시지에서 분리될 수 있다. 다음으로, 임시 ID값이 1 추가되고, 임시 DLC 값은 이전 DLC 값에서 임시 ID에 대응되는 DLC 만큼 차감된다(S650).Thereafter, the receiving-side controller separates the data by the DLC of the temporary ID, and pastes the data into the software buffer of the temporary ID (S640). Therefore, the actual message corresponding to the ID of the first received message can be separated from the entire received message. Next, the temporary ID value is incremented by 1, and the temporary DLC value is subtracted from the previous DLC value by the DLC corresponding to the temporary ID (S650).
분리 과정과 ID/DLC 재설정 과정(S640, S650)은 임시 DLC 값이 남아있는 동안 반복적으로 수행될 수 있다(S660).The separation process and the ID / DLC reset process (S640, S650) can be repeatedly performed while the temporary DLC value remains (S660).
지금까지 살펴본 바와 같이, 전술한 본 발명의 실시예들에 의하면 저속 소용량 통신에서 고속 대용량 통신으로 메시지가 라우팅될 경우, 게이트웨이 제어기의 메모리 사용량, CPU 로드 감소 및 라우팅 메시지의 딜레이 시간이 단축될 수 있다.As described above, according to the embodiments of the present invention described above, when a message is routed from a low-speed small capacity communication to a high-speed large capacity communication, the memory usage, the CPU load reduction, and the delay time of the routing message of the gateway controller can be shortened .
상술한 실시예에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.The method according to the above-described embodiments may be implemented as a program to be executed by a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include a ROM, a RAM, a CD- , A floppy disk, an optical data storage device, and the like.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상술한 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And, functional program, code, and code segments for implementing the above-described method can be easily inferred by programmers in the technical field to which the embodiment belongs.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.
Claims (14)
제1 프로토콜에 따른 적어도 하나의 제어기로부터, 제2 프로토콜에 따른 제어기로 향하는 제1 메시지를 수신하는 단계;
송신 대기 메시지 중 상기 제1 메시지의 ID와 인접한 ID를 갖는 제2 메시지가 존재하지 여부를 판단하는 단계;
상기 판단 결과 존재하는 경우, 상기 제1 메시지와 상기 제2 메시지의 우선 순위를 비교하는 단계;
상기 비교의 결과에 따라 상기 제1 메시지 및 상기 제2 메시지를 상기 제2 프로토콜에 따른 메시지로 통합하는 단계; 및
상기 통합된 메시지를 상기 제2 프로토콜에 따른 제어기로 전송하는 단계를 포함하는, 이종망간 데이터 라우팅 방법.A method for routing data between heterogeneous mobiles in a vehicular gateway,
Receiving a first message from at least one controller according to a first protocol to a controller according to a second protocol;
Determining whether a second message having an ID adjacent to the ID of the first message exists among the transmission standby messages;
Comparing the priority of the first message and the priority of the second message when the determination result is present;
Integrating the first message and the second message into a message according to the second protocol according to a result of the comparison; And
And transmitting the aggregated message to a controller according to the second protocol.
상기 판단하는 단계 이전에,
상기 제1 메시지의 상기 ID가 속한 그룹의 메시지 중 ID가 인접한 메시지 ID를 추출하는 단계를 더 포함하는, 이종망간 데이터 라우팅 방법.The method according to claim 1,
Before the determining step,
Further comprising the step of extracting a message ID adjacent to an ID of a group of the group to which the ID of the first message belongs.
상기 추출하는 단계는,
상기 제1 프로토콜에 따른 복수의 메시지를 ID별로 그루핑하되, 상기 ID별로 가질 수 있는 상기 제2 프로토콜에 따른 메시지의 크기를 정의한 테이블을 참조하여 수행되는, 이종망간 데이터 라우팅 방법.3. The method of claim 2,
Wherein the extracting comprises:
Wherein a plurality of messages according to the first protocol are grouped by ID, and a table defining a size of a message according to the second protocol is defined.
상기 비교하는 단계는,
상기 제1 메시지의 ID와 상기 제2 메시지의 ID의 크기를 비교하는 단계를 포함하는, 이종망간 데이터 라우팅 방법.The method according to claim 1,
Wherein the comparing comprises:
And comparing the ID of the first message with the size of the ID of the second message.
상기 제1 메시지의 우선 순위가 높은 경우,
상기 통합하는 단계는,
상기 제1 메시지의 DLC(Data Length Code)에 상기 제2 메시지의 DLC를 합산하는 단계; 및
상기 제1 메시지의 데이터 뒤에 상기 제2 메시지의 데이터를 붙이는 단계를 포함하는, 이종망간 데이터 라우팅 방법.The method according to claim 1,
If the priority of the first message is high,
Wherein the merging comprises:
Adding a DLC of the second message to a data length code (DLC) of the first message; And
Attaching data of the second message after data of the first message.
상기 제2 메시지의 우선 순위가 높은 경우,
상기 통합하는 단계는,
상기 제2 메시지의 DLC(Data Length Code)에 상기 제1 메시지의 DLC를 합산하는 단계; 및
상기 제2 메시지의 데이터 뒤에 상기 제1 메시지의 데이터를 붙이는 단계를 포함하는, 이종망간 데이터 라우팅 방법.The method according to claim 1,
If the priority of the second message is high,
Wherein the merging comprises:
Adding a DLC of the first message to a data length code (DLC) of the second message; And
Attaching data of the first message after data of the second message.
상기 제2 프로토콜은 상기 제1 프로토콜보다 고속 및 대용량 통신을 지원하는, 이종망간 데이터 라우팅 방법.The method according to claim 1,
Wherein the second protocol supports higher speed and larger capacity communication than the first protocol.
상기 제1 프로토콜은 CAN 프로토콜을 포함하고,
상기 제2 프로토콜은 CAN FD 프로토콜을 포함하는, 이종망간 데이터 라우팅 방법.8. The method of claim 7,
Wherein the first protocol comprises a CAN protocol,
And wherein the second protocol comprises a CAN FD protocol.
상기 게이트웨이로부터 메시지를 수신하는 단계;
상기 수신된 메시지의 ID인 제1 ID에 대응되는 제1 데이터 길이만큼, 상기 수신된 메시지의 데이터를 앞에서부터 커팅하는 단계;
상기 커팅된 데이터를 상기 제1 ID를 갖는 메시지로 복원하는 단계; 및
상기 수신된 메시지의 DLC(Data length code)에서 상기 제1 데이터 길이를 차감하는 단계를 포함하는, 수신측 제어기의 메시지 수신 방법.A message reception method of a reception side controller according to inter-mobility routing of a gateway for a vehicle,
Receiving a message from the gateway;
Cutting the data of the received message from the beginning by a first data length corresponding to a first ID that is an ID of the received message;
Restoring the cut data into a message having the first ID; And
And subtracting the first data length from a DLC (Data Length Code) of the received message.
상기 커팅 후 남은 나머지 데이터에서, 상기 제1 ID의 다음 ID인 제2 ID에 대응되는 제2 데이터 길이 만큼의 데이터를 커팅하는 단계;
상기 제2 데이터 길이 만큼 커팅된 데이터를 상기 제2 ID를 갖는 메시지로 복원하는 단계; 및
상기 제1 데이터 길이가 차감된 DLC에서 상기 제2 데이터 길이를 차감하는 단계를 더 포함하는, 수신측 제어기의 메시지 수신 방법.11. The method of claim 10,
Cutting data corresponding to a second data length corresponding to a second ID, which is a next ID of the first ID, in remaining data remaining after the cutting;
Restoring data cut by the second data length into a message having the second ID; And
Further comprising subtracting the second data length from the DLC in which the first data length is subtracted.
상기 차감하는 단계에서 차감 결과로 상기 DLC가 0이되는 경우, 추가적 메시지 복원을 중단하는 단계를 더 포함하는, 수신측 제어기의 메시지 수신 방법.11. The method according to claim 9 or 10,
And stopping the additional message recovery when the DLC becomes 0 as a result of the subtraction in the subtracting step.
상기 제1 ID의 최대 데이터 사이즈를 산출하는 단계; 및
상기 DLC가 상기 제1 ID가 가질 수 있는 값인지 여부를 판단하는 단계를 더 포함하는, 수신측 제어기의 메시지 수신 방법.11. The method of claim 10,
Calculating a maximum data size of the first ID; And
Further comprising the step of determining whether the DLC is a value that the first ID can hold.
상기 판단하는 단계는,
ID별로 가질 수 있는 적어도 하나의 메시지의 크기를 정의한 테이블을 참조하여 수행되는, 수신측 제어기의 메시지 수신 방법.14. The method of claim 13,
Wherein the determining step comprises:
A message reception method of a receiving-side controller, which is performed by referring to a table that defines a size of at least one message that can be included in each ID.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170096903A KR102368605B1 (en) | 2017-07-31 | 2017-07-31 | Method for transceiving data between heterogeneous network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170096903A KR102368605B1 (en) | 2017-07-31 | 2017-07-31 | Method for transceiving data between heterogeneous network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190013012A true KR20190013012A (en) | 2019-02-11 |
KR102368605B1 KR102368605B1 (en) | 2022-03-02 |
Family
ID=65370092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170096903A KR102368605B1 (en) | 2017-07-31 | 2017-07-31 | Method for transceiving data between heterogeneous network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102368605B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021060900A1 (en) * | 2019-09-25 | 2021-04-01 | 주식회사 엘지화학 | Apparatus and method for managing battery |
EP4231594A4 (en) * | 2020-10-19 | 2023-11-15 | Nissan Motor Co., Ltd. | Relay device, communication network system and communication control method |
US12034570B2 (en) | 2022-03-14 | 2024-07-09 | T-Mobile Usa, Inc. | Multi-element routing system for mobile communications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130114892A (en) * | 2012-04-10 | 2013-10-21 | 한국외국어대학교 연구산학협력단 | Method and apparatus for transmission of data between can network and ethernet network |
KR20160045301A (en) * | 2014-10-17 | 2016-04-27 | 현대자동차주식회사 | Method and apparatus for reducing load in CAN communication |
-
2017
- 2017-07-31 KR KR1020170096903A patent/KR102368605B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130114892A (en) * | 2012-04-10 | 2013-10-21 | 한국외국어대학교 연구산학협력단 | Method and apparatus for transmission of data between can network and ethernet network |
KR20160045301A (en) * | 2014-10-17 | 2016-04-27 | 현대자동차주식회사 | Method and apparatus for reducing load in CAN communication |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021060900A1 (en) * | 2019-09-25 | 2021-04-01 | 주식회사 엘지화학 | Apparatus and method for managing battery |
EP4231594A4 (en) * | 2020-10-19 | 2023-11-15 | Nissan Motor Co., Ltd. | Relay device, communication network system and communication control method |
US12034570B2 (en) | 2022-03-14 | 2024-07-09 | T-Mobile Usa, Inc. | Multi-element routing system for mobile communications |
Also Published As
Publication number | Publication date |
---|---|
KR102368605B1 (en) | 2022-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101578064B1 (en) | Method for transmitting packet and apparatuses using the same | |
US7697522B2 (en) | Systems and methods for aggregation of packets for transmission through a communications network | |
JP6500123B2 (en) | In-vehicle gateway device and in-vehicle network system | |
US20100238932A1 (en) | Method and apparatus for enhanced packet aggregation | |
US20180041432A1 (en) | Data transmission in a communications network | |
EP3599743B1 (en) | Method and device for communicating data frames on a multi-master bus | |
CN102594802B (en) | Method and system for low-latency networking | |
US11637743B2 (en) | Communications device and method of communications | |
KR20190013012A (en) | Method for transceiving data between heterogeneous network | |
US20170134299A1 (en) | Method and apparatus for controlling message over heterogeneous network | |
CN112615806A (en) | Communication apparatus and communication method | |
KR101573549B1 (en) | Data transmission system and method for transmitting data between different type protocols | |
KR102691014B1 (en) | Variable data collection method for using ethernet and can communication | |
JP5585876B2 (en) | Media converter, switching hub, and auto-negotiation system | |
EP3780507A1 (en) | Method and system for performing double message arbitration | |
KR101578065B1 (en) | Method for packaging controller area networks packet and apparatuses using the same | |
KR20150050960A (en) | Method for rearranging transmission order of packet and apparatuses using the same | |
KR101606463B1 (en) | Method for un-packaging flexray packet and apparatuses using the same | |
US20080170577A1 (en) | Station Device, Message Transfer Method, and Program Storage Medium Storing Program Thereof | |
EP1758306B1 (en) | Method and device for transmitting a control signal of a resilient packet ring media access control | |
US11985217B2 (en) | Network interface apparatus | |
KR101606462B1 (en) | Method for un-packaging controller area networks packet and apparatuses using the same | |
US8274997B2 (en) | Transmission method and reception method | |
CN117061351A (en) | Auxiliary network construction method and system based on CAN network | |
EP3767851B1 (en) | Frame error indication |
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 |