KR20180066372A - 차량용 게이트웨이의 주기 메시지 송수신 방법 - Google Patents

차량용 게이트웨이의 주기 메시지 송수신 방법 Download PDF

Info

Publication number
KR20180066372A
KR20180066372A KR1020160166795A KR20160166795A KR20180066372A KR 20180066372 A KR20180066372 A KR 20180066372A KR 1020160166795 A KR1020160166795 A KR 1020160166795A KR 20160166795 A KR20160166795 A KR 20160166795A KR 20180066372 A KR20180066372 A KR 20180066372A
Authority
KR
South Korea
Prior art keywords
message
gateway
received
reception
sync
Prior art date
Application number
KR1020160166795A
Other languages
English (en)
Other versions
KR101907438B1 (ko
Inventor
김경태
Original Assignee
현대오트론 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대오트론 주식회사 filed Critical 현대오트론 주식회사
Priority to KR1020160166795A priority Critical patent/KR101907438B1/ko
Publication of KR20180066372A publication Critical patent/KR20180066372A/ko
Application granted granted Critical
Publication of KR101907438B1 publication Critical patent/KR101907438B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0091Transmitter details

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량용 게이트웨이의 주기 메시지 송수신 방법에 관한 것으로, 차량용 게이트웨이가 메시지 수신 인터럽트가 발생하는지 체크하는 단계; 메시지 수신 인터럽트가 발생할 경우, 게이트웨이가 메시지 수신 카운터 값을 증가시키는 단계; 지정된 목표 수신 메시지 개수만큼 메시지를 수신할 경우, 게이트웨이가 메시지 수신 버퍼를 검색하는 단계; 및 상기 게이트웨이가 상기 메시지 수신 버퍼에 수신된 메시지를 복사하여 상위 어플리케이션에 통지하거나 일반 제어기에 송신하는 단계;를 포함한다.

Description

차량용 게이트웨이의 주기 메시지 송수신 방법{METHOD FOR TRANSMITTING AND RECEIVING PERIODIC MESSAGE OF GATEWAY DEVICE FOR VEHICLE }
본 발명은 차량용 게이트웨이의 주기 메시지 송수신 방법에 관한 것으로, 보다 상세하게는 차량용 게이트웨이를 통한 메시지 전송 시작 시점의 동기화 및 메시지의 송신 순서를 정렬할 수 있도록 하는 차량용 게이트웨이의 주기 메시지 송수신 방법에 관한 것이다.
일반적으로 차량의 통신 시스템에서는 서로 상이한 통신 네트워크나 제어기(예 : ECU, TCU, CPU 등) 간의 메시지 및 신호 전달을 위해 게이트웨이(또는 통신 게이트웨이 모듈)를 이용하고 있다.
예컨대 도 1에 도시된 바와 같이, 차량의 엔진이나 변속기 등의 기본 기능을 제어하기 위한 제어기, 및 운전자의 편의성 향상을 위한 기능(예 : ADAS, Advanced Driver Assistance System)을 제어하기 위한 각 장치(또는 시스템)의 제어기(예 : ECU, TCU, CPU 등)(120 ~ 140)가 게이트웨이(110)를 통해서 신호나 메시지를 송수신하고 있다.
이하 본 실시예에서는 상기 게이트웨이(110)의 내부 제어기(즉, 게이트웨이 제어기)를 제외한 나머지 차량의 다른 기능을 제어하는 제어기를 편의상 일반 제어기(예 : ECU, TCU, CPU 등)(120 ~ 140)라고 기재한다.
이러한 게이트웨이(110)(즉, 게이트웨이 제어기)는 현재 통신 메시지를 분해 및 재조합해서 전송하는 방식의 시그널 라우팅과, 메시지 전체를 전송하는 메시지 라우팅 방식이 사용되고 있다.
그런데 최근 카 내비게이션, 도로에서 제공되는 정보와 제휴한 자율 주행 제어, 및 원격에서의 사고나 고장 시의 긴급지원 서비스나 도난 방지 서비스 등의 텔레매틱스 기능 등 다양한 기능이 추가됨에 따라, 상기 게이트웨이(즉, 게이트웨이 제어기)의 통신량이 증가됨으로써, 상기 게이트웨이의 제어기(즉, CPU) 부하가 증가되고 있다.
이에 따라 상기 게이트웨이(즉, 게이트웨이 제어기)를 통해 전송되는 통신 메시지의 증가로 인하여 메시지의 수신 주기 오차(예 : 지정된 주기 내에 메시지가 전달되지 않는 오차)가 증가될 수 있기 때문에 이에 대한 개선이 필요한 상황이다.
본 발명의 배경기술은 대한민국 등록특허 10-0923618호(2009.10.19. 등록, 차량 탑재 게이트웨이 장치, 그의 제어 방법, 기록 매체, 접속 장치 및 그의 접속 제어 방법)에 개시되어 있다.
본 발명의 일 측면에 따르면, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 차량용 게이트웨이를 통한 메시지 전송 시작 시점의 동기화 및 메시지의 송신 순서를 정렬할 수 있도록 하는 차량용 게이트웨이의 주기 메시지 송수신 방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 차량용 게이트웨이의 주기 메시지 송수신 방법은, 차량용 게이트웨이가 메시지 수신 인터럽트가 발생하는지 체크하는 단계; 상기 메시지 수신 인터럽트가 발생할 경우, 상기 게이트웨이가 메시지 수신 카운터 값을 증가시키는 단계; 지정된 목표 수신 메시지 개수만큼 메시지를 수신할 경우, 상기 게이트웨이가 메시지 수신 버퍼를 검색하는 단계; 및 상기 게이트웨이가 상기 메시지 수신 버퍼에 수신된 메시지를 복사하여 상위 어플리케이션에 통지하거나 일반 제어기에 송신하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 메시지 수신 인터럽트가 발생하는지 체크 단계, 및 메시지 수신 카운터 값을 증가시키는 단계는 메시지가 수신될 때마다 반복해서 수행되며, 상기 메시지 수신 카운터 값은 목표 수신 메시지 개수가 미리 지정되는 것을 특징으로 한다.
본 발명에 있어서, 상기 메시지 수신 버퍼에 수신된 메시지를 복사하여 상위 어플리케이션에 통지하거나 일반 제어기에 송신하는 단계는, 상기 지정된 목표 수신 메시지 개수만큼 반복해서 수행되는 것을 특징으로 한다.
본 발명에 있어서, 상기 메시지 수신 인터럽트가 발생할 경우, 상기 게이트웨이가 레디(Ready) 레디 메시지 수신 플래그 값이 1로 설정되었는지 체크하는 단계; 상기 레디 메시지 수신 플래그가 0으로 설정되었으면, 상기 게이트웨이가 메시지 수신 버퍼를 검색하는 단계; 상기 게이트웨이가 데이터베이스 상에 등록된 모든 일반 제어기로부터 레디(Ready) 메시지를 수신했는지 체크하는 단계; 상기 모든 일반 제어기로부터 레디(Ready) 메시지를 수신했으면, 상기 게이트웨이가 레디 메시지 수신 플래그 값을 1로 설정하고, 동기(Sync) 메시지를 상기 모든 일반 제어기에 송신하는 단계; 상기 레디(Ready) 메시지가 수신되었거나, 상기 모든 일반 제어기로부터 레디(Ready) 메시지를 수신하지 않았거나, 동기(Sync) 메시지를 상기 일반 제어기들에 송신하면, 상기 게이트웨이가 동기(Sync) 메시지 송신 플래그 값이 1인지 체크하는 단계: 상기 동기(Sync) 메시지 송신 플래그 값이 1이면, 상기 게이트웨이가 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0 인지 체크하고, 상기 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0이 아니면 메시지 수신 카운트를 1 증가시키는 단계; 상기 게이트웨이가 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크하여, 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면, 메시지 수신 버퍼를 검색하는 단계; 상기 메시지 수신 버퍼를 검색한 후, 상기 게이트웨이가 상기 수신된 메시지가 허용 주기 오차를 벗어났는지 체크하고, 수신된 메시지가 허용 주기 오차를 벗어났을 경우, 동기(Sync) 메시지 송신 요청 플래그를 1로 설정하는 단계; 및 상기 수신된 메시지가 허용 주기 오차를 벗어나지 않았거나, 상기 동기(Sync) 메시지 송신 요청 플래그를 1로 설정하였으면, 상기 게이트웨이가 상기 수신 메시지를 복사하여 상기 모든 일반 제어기에 송신하는 단계;를 더 포함한다.
본 발명에 있어서, 상기 수신된 메시지를 일반 제어기에 송신하기 위하여, 상기 게이트웨이는 메시지 송신 인터럽트가 발생할 경우, 동기(Sync) 메시지의 송신이 완료되었는지 체크는 단계; 상기 동기(Sync) 메시지의 송신이 완료되면, 상기 게이트웨이는 동기(Sync) 메시지 송신 플래그를 1로 설정하고, 주기 타이머를 재 시작하는 단계; 상기 주기 타이머 재 시작에 의해 주기 타이머 이벤트가 발생할 경우, 상기 게이트웨이는 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있는지 체크하는 단계; 상기 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있으면, 상기 게이트웨이가 동기(Sync) 메시지를 상기 일반 제어기에 송신한 후, 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정한 다음 수신 타임 슬롯 인덱스를 1 증가시키는 단계; 및 상기 게이트웨이가 상기 수신 타임 슬롯 인덱스가 기 지정된 최대값에 도달했는지 체크하여, 상기 수신 타임 슬롯 인덱스가 최대값에 도달했으면, 수신 타임 슬롯 인덱스를 초기화하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 주기 타이머 이벤트가 발생할 경우, 상기 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있지 않으면, 상기 게이트웨이는 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크하는 단계; 상기 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면, 상기 게이트웨이는 곧바로 상기 수신 타임 슬롯 인덱스를 1 증가시키는 단계; 및 상기 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같지 않으면 동기(Sync) 메시지를 일반 제어기들에 송신한 후, 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정한 다음, 상기 수신 타임 슬롯 인덱스를 1 증가시키는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 게이트웨이가 메시지를 일반 제어기에 송신할 경우, 상기 일반 제어기에 메시지 수신 인터럽트가 발생됨에 따라 상기 일반 제어기가 동기(Sync) 메시지를 수신했는지 체크하는 단계; 상기 동기(Sync) 메시지를 수신했으면, 상기 일반 제어기가 상기 동기(Sync) 메시지로부터 상기 게이트웨이의 수신 타임 슬롯 인덱스를 읽어 자신의 송신 타임 슬롯 인덱스를 동일하게 설정하는 단계; 상기 일반 제어기가 주기 타이머가 실행 중인지 체크하는 단계; 및 상기 주기 타이머가 실행 중이면 상기 일반 제어기가 주기 타이머를 종료하였다가 다시 시작하고, 상기 주기 타이머가 실행 중이 아니면 주기 타이머를 시작하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 주기 타이머의 시작에 따라 주기 타이머 이벤트가 발생할 경우, 상기 일반 제어기가 동기(Sync) 메시지를 수신했는지 체크하는 단계; 상기 동기(Sync) 메시지를 수신했으면, 상기 일반 제어기가 현재 송신 타임 슬롯에 송신할 메시지가 있는지 체크하는 단계; 상기 현재 송신 타임 슬롯에 송신할 메시지가 있으면, 상기 일반 제어기가 메시지를 상기 게이트웨이에 송신하고, 송신 타임 슬롯 인덱스를 1 증가시키는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 일 측면에 따르면, 본 발명은 차량용 게이트웨이를 통해 차량 내의 다른 제어기들의 메시지 전송 시작 시점을 동기화하고, 게이트웨이를 통해 라우팅되는 메시지의 송신 순서를 정렬하며, 타임 슬롯을 통한 수신 메시지 관리 및 주기적인 수신 작업을 수행할 수 있도록 함으로써, 게이트웨이의 메시지 수신 부하를 감소시킬 수 있고, 또한 주기 메시지의 주기 오차율을 감소시킬 수 있도록 한다.
도 1은 일반적인 게이트웨이 통신 시스템의 개략적인 구성을 보인 예시도.
도 2는 본 발명의 일 실시예에 따른 차량용 게이트웨이의 주기 메시지 송수신 방법을 설명하기 위한 흐름도.
도 3은 상기 도 2에 있어서, 주기 메시지의 수신을 위한 타임 슬롯 테이블의 구성을 설명하기 위한 예시도.
도 4는 상기 도 2에 있어서, 주기 메시지 송수신 동기화를 위한 동기(Sync) 메시지 송수신 방법을 설명하기 위한 예시도.
도 5 및 도 6은 상기 도 2에 있어서, 게이트웨이의 통신 메시지 수신 인터럽트 발생 시 처리 방법을 설명하기 위한 흐름도.
도 7은 상기 도 2에 있어서, 게이트웨이의 메시지 송신을 위한 인터럽트 처리 동작을 설명하기 위한 흐름도.
도 8은 상기 도 7에 있어서, 게이트웨이의 주기 타이머 처리 방법을 설명하기 위한 흐름도.
도 9는 상기 도 2에 있어서, 일반 제어기의 메시지 수신을 위한 인터럽트 처리 동작을 설명하기 위한 흐름도.
도 10은 상기 도 9에 있어서, 일반 제어기의 주기 타이머 처리 방법을 설명하기 위한 흐름도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 차량용 게이트웨이의 주기 메시지 송수신 방법의 일 실시예를 설명한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2는 본 발명의 일 실시예에 따른 차량용 게이트웨이의 주기 메시지 송수신 방법을 설명하기 위한 흐름도이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 게이트웨이(110)(즉, 게이트웨이 제어기)는, 통신(예 : CAN) 메시지 수신 인터럽트가 발생하는지 체크하여(S101), 통신 메시지 수신 인터럽트가 발생할 경우에 메시지 수신 카운터 값을 증가시킨다(S102).
상기 통신 메시지의 수신 인터럽트의 발생 체크 단계(S101)와 메시지 수신 카운터 값의 증가 단계(S102)는 메시지가 수신될 때마다 반복해서 수행되며, 상기 메시지 수신 카운터 값은 미리 지정된 목표 수신 메시지 개수(예 : N개)가 될때까지 증가한다.
따라서 상기 지정된 목표 수신 메시지 개수(예 : N개) 만큼 통신 메시지를 수신할 경우, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 버퍼(즉, 수신된 메시지가 저장되는 N개의 메시지 수신 버퍼)(미도시)를 검색한다(S103).
다음 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 상기 메시지 버퍼(즉, 수신된 메시지가 저장되는 N개의 메시지 수신 버퍼)(미도시)에 수신된 메시지(또는 데이터)를 복사하여(S104) 상위 어플리케이션(예 : 수신된 메시지를 처리하거나 전달하는 어플리케이션)으로 통지(또는 일반 제어기에 송신)한다(S105).
이때 상기 수신된 메시지의 복사 단계(S104) 및 상기 복사한 메시지를 통지하는 단계(S105)는 상기 지정된 목표 수신 메시지 개수(예 : N개) 만큼 반복해서 수행된다.
도 3은 상기 도 2에 있어서, 주기 메시지의 수신을 위한 타임 슬롯 테이블의 구성을 설명하기 위한 예시도이다.
도 3에 도시된 바와 같이, 상기 게이트웨이(110)(즉, 게이트웨이 제어기)는 특정 통신 데이터베이스(예 : CAN 데이터베이스)를 기반으로 수신할 주기 메시지를 확인하여 수신 타임 슬롯 인덱스 별로 수신해야 하는 메시지의 개수를 설정할 수 있다.
예컨대 메시지 수신 주기가 5ms 이고 수신할 메시지가 각각 20ms, 40ms의 주기를 가졌다고 가정하면, 수신 타임 슬롯 인덱스 별 목표 수신 메시지 개수는 아래와 같다. 즉, 수신 타임 슬롯 인덱스는 수신 주기(예 : 5ms) 마다 1씩 증가되며 K 값(여기서 수신할 메시지 주기들 중 최대값이 M 이라면, K = (M / 수신주기) - 1 이다)까지 증가하고 다시 초기화된다.
다시 말해 상기 예에서는 메시지의 주기 최대값이 40ms 이므로, 총 수신 타임 슬롯 개수는 8개이고 인덱스는 7까지 증가하고 다시 0으로 초기화된다.
따라서 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 주기 메시지 송신을 위한 송신 타임 슬롯 테이블을 상기 수신 타임 슬롯 테이블과 같은 방식으로 구성하여 타임 슬롯 인덱스 별로 할당된 메시지를 송신한다.
도 4는 상기 도 2에 있어서, 주기 메시지 송수신 동기화를 위한 동기(Sync) 메시지 송수신 방법을 설명하기 위한 예시도이다.
본 실시예에서 일반 제어기(120 ~ 140)들은 시스템(예 : 차량의 통신 시스템) 시작 후 레디(Ready) 메시지를 상기 게이트웨이(즉, 게이트웨이 제어기)(110)에 송신한다. 참고로 메시지 ID는 제어기 간 동일하며 각각 자신의 네트워크 주소를 전달한다.
상기 일반 제어기(120 ~ 140)들은 상기 게이트웨이(즉, 게이트웨이 제어기)(110)로부터 주기 동기(Sync) 메시지를 수신한 시점 기준으로 주기 타이머를 시작하고, 상기 주기 타이머에 의한 이벤트 발생 시마다 송신 타임 슬롯 인덱스를 증가시키고, 상기 증가된 현재의 인덱스에 할당된 메시지를 상기 게이트웨이(즉, 게이트웨이 제어기)(110)에 송신한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 데이터베이스(미도시) 상에 등록된 모든 일반 제어기(120 ~ 140)들로부터 레디(Ready) 메시지를 수신한 후 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지를 송신하고 송신 완료 시점을 기준으로 주기 타이머를 시작한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지에 현재의 수신 타임 슬롯 인덱스 값을 넣어서 송신한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지를 송신한 후 타이머 이벤트가 발생할 때마다(예 : 수신 주기 5ms 마다) 수신 타임 슬롯 인덱스를 증가시킨다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 수신한 주기 메시지의 오차(예 : 지정된 주기 내에 메시지가 전달되지 않는 오차)를 계산하여 기지정된 허용치보다 큰 경우 다음 타이머 이벤트 발생 시 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 현재 수신된 메시지 개수가 수신 타임 슬롯 인덱스 상의 목표 수신 메시지 개수와 같으면 수신한 모든 메시지를 타 채널(예 : 송신채널, 채널 2)로 송신한다.
상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 상기 수신된 메시지를 타 채널(예 : 송신채널, 채널 2)로 송신 시, 메시지 ID 오름차순의 순서대로 목적지 채널로 전송한다. 이때 목적지(예 : 일반 제어기)에서 메시지 수신 시 순서가 변경되어 주기 오차가 생길 수도 있으나, 송신 시 ID로 정렬되어 송신되므로 주기 오차를 제거할 수 있다. 예컨대 시스템(예 : 차량의 통신 시스템) 초기화 시 수신할 메시지 ID를 메시지 수신 버퍼에 할당하는데, 메시지 수신 버퍼의 인덱스와 메시지의 ID를 오름차순으로 정렬하여 할당하면, 이후 수신된 메시지를 타 채널(예 : 송신채널, 채널 2)로 송신하는 경우 별도의 ID 순 정렬작업 없이 메시지 수신 버퍼의 인덱스 순으로 송신할 수 있다.
도 5 및 도 6은 상기 도 2에 있어서, 게이트웨이의 통신 메시지 수신 인터럽트 발생 시 처리 방법을 설명하기 위한 흐름도이다.
도 5에 도시된 바와 같이, 통신 메시지 수신 인터럽트가 발생할 경우(S201), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 레디(Ready) 메시지가 수신되었는지(즉, 레디 메시지 수신 플래그 값이 1로 설정되었는지) 체크한다(S202).
즉, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 레디 메시지 수신 플래그(예 : 레디 메시지 수신 시 1로 설정되는 플래그) 값이 "1"인지 체크한다.
상기 체크(S202) 결과, 레디(Ready) 메시지가 수신되지 않았으면(S202의 아니오)(즉, 레디 메시지 수신 플래그가 0이면), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 수신 버퍼(미도시)를 검색한다(S203).
다음 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 데이터베이스(미도시) 상에 등록된 모든 일반 제어기(120 ~ 140)들로부터 레디(Ready) 메시지를 수신했는지 체크한다(S204).
상기 체크(S204) 결과, 모든 일반 제어기(120 ~ 140)들로부터 레디(Ready) 메시지를 수신했으면(S204의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 레디 메시지 수신 플래그 값을 1로 설정하고(S205), 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신한다(S206).
한편 상기 레디 메시지 수신 플래그 값이 1로 설정되었는지 체크(S202)한 결과, 레디(Ready) 메시지가 수신되었거나(S202의 예), 상기 모든 일반 제어기(120 ~ 140)들로부터 레디(Ready) 메시지를 수신하지 않았거나(S204의 아니오), 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신(S206)한 후, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지 송신 플래그 값이 1인지 체크한다(S207)(도 6 참조).
상기 체크(S207) 결과, 동기(Sync) 메시지 송신 플래그 값이 1이면(S207의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0인지 체크한다(S208).
상기 체크(S208) 결과, 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0이 아니면(S208의 아니오)(즉, 수신 타임 슬롯 인덱스에 1 이상의 목표 수신 메시지 개수가 맵핑되어 있으면), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 수신 카운트를 1 증가시킨다(S209).
다음 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크한다(S210).
상기 체크(S210) 결과, 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면(S210의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 수신 버퍼(미도시)를 검색한다(S211)(즉, 수신 메시지가 있는지 확인한다).
상기 메시지 수신 버퍼(미도시)를 검색한 후, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 수신된 메시지가 허용 주기 오차를 벗어났는지 체크한다(S212).
상기 체크(S212) 결과, 수신된 메시지가 허용 주기 오차를 벗어났을 경우(S212의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지 송신 요청 플래그를 1로 설정한다(S213).
한편 상기 수신된 메시지가 허용 주기 오차를 벗어나지 않았거나(S212의 아니오), 상기 동기(Sync) 메시지 송신 요청 플래그를 1로 설정한 후, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 상기 수신 메시지를 복사하여(S214), 상기 일반 제어기(120 ~ 140)들에 송신한다(S215).
도 7은 상기 도 2에 있어서, 게이트웨이의 메시지 송신을 위한 인터럽트 처리 동작을 설명하기 위한 흐름도이다.
도 7에 도시된 바와 같이, 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 송신 인터럽트가 발생하면(S301), 동기(Sync) 메시지의 송신이 완료되었는지 체크한다(S302).
상기 체크(S302) 결과, 동기(Sync) 메시지의 송신이 완료되면(S302의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지 송신 플래그를 1로 설정하고(S303), 주기 타이머를 재 시작한다(S304).
도 8은 상기 도 7에 있어서, 게이트웨이의 주기 타이머 처리 방법을 설명하기 위한 흐름도이다.
도 8에 도시된 바와 같이, 주기 타이머 이벤트가 발생할 경우(S401), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는, 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있는지 체크한다(S402).
상기 체크(S402) 결과, 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있으면(S402의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신한 후(S403), 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정(S404)한 다음, 수신 타임 슬롯 인덱스를 1 증가시킨다(S405).
한편 상기 주기 타이머 이벤트가 발생한 후(S401), 상기 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있지 않으면(S402의 아니오), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크한다(S408).
상기 체크(S408) 결과, 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면(S408의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 곧바로 상기 수신 타임 슬롯 인덱스를 1 증가시킨다(S405). 그러나 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같지 않으면(S408의 아니오), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 동기(Sync) 메시지를 상기 일반 제어기(120 ~ 140)들에 송신한 후(S403), 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정(S404)한 다음, 수신 타임 슬롯 인덱스를 1 증가시킨다(S405).
다음 상기 수신 타임 슬롯 인덱스가 최대값에 도달했는지 체크한다(S406).
상기 체크(S406) 결과, 수신 타임 슬롯 인덱스가 최대값에 도달했으면(S406의 예), 상기 게이트웨이(즉, 게이트웨이 제어기)(110)는 수신 타임 슬롯 인덱스를 초기화한다(S407).
도 9는 상기 도 2에 있어서, 일반 제어기의 메시지 수신을 위한 인터럽트 처리 동작을 설명하기 위한 흐름도이다.
도 9에 도시된 바와 같이, 상기 일반 제어기(120 ~ 140)들은 메시지 수신 인터럽트가 발생하면(S501), 동기(Sync) 메시지를 수신했는지 체크한다(S502).
상기 체크(S502) 결과, 동기(Sync) 메시지를 수신했으면(S502의 예), 상기 일반 제어기(120 ~ 140)들은 동기(Sync) 메시지로부터 상기 게이트웨이(즉, 게이트웨이 제어기)(110)의 수신 타임 슬롯 인덱스를 읽어 자신의 송신 타임 슬롯 인덱스를 동일하게 설정한다(S503).
다음 상기 일반 제어기(120 ~ 140)들은 주기 타이머가 실행 중인지 체크한다(S504).
상기 체크(S504) 결과, 주기 타이머가 실행 중이면(S504의 예) 상기 일반 제어기(120 ~ 140)들은 주기 타이머를 종료(S505)하였다가 주기 타이머를 시작(S506)(즉, 재시작)하고, 만약 주기 타이머가 실행 중이 아니면(S504의 아니오) 주기 타이머를 시작(S506)한다.
도 10은 상기 도 9에 있어서, 일반 제어기의 주기 타이머 처리 방법을 설명하기 위한 흐름도이다.
도 10에 도시된 바와 같이, 주기 타이머 이벤트가 발생할 경우(S601), 상기 일반 제어기(120 ~ 140)들은 동기(Sync) 메시지를 수신했는지 체크한다(S602).
상기 체크(S602) 결과, 동기(Sync) 메시지를 수신했으면(S602의 예), 상기 일반 제어기(120 ~ 140)들은 현재 송신 타임 슬롯에 송신할 메시지가 있는지 체크한다(S603).
상기 체크(S603) 결과, 현재 송신 타임 슬롯에 송신할 메시지가 있으면(S603의 예), 상기 일반 제어기(120 ~ 140)들은 메시지를 상기 게이트웨이(즉, 게이트웨이 제어기)(110)에 송신하고(S604), 송신 타임 슬롯 인덱스를 1 증가시킨다(S605).
상기와 같이 본 실시예는 차량용 게이트웨이를 통해 차량 내의 다른 제어기들의 메시지 전송 시작 시점을 동기화하고, 게이트웨이를 통해 라우팅되는 메시지의 송신 순서를 정렬하며, 타임 슬롯을 통한 수신 메시지 관리 및 주기적인 수신 작업을 수행할 수 있도록 함으로써, 게이트웨이의 메시지 수신 부하를 감소시킬 수 있고, 또한 주기 메시지의 주기 오차율을 감소시킬 수 있도록 하는 효과가 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
110 : 게이트웨이 120 ~ 140 : 일반 제어기

Claims (9)

  1. 차량용 게이트웨이가 메시지 수신 인터럽트가 발생하는지 체크하는 단계;
    상기 메시지 수신 인터럽트가 발생할 경우, 상기 게이트웨이가 메시지 수신 카운터 값을 증가시키는 단계;
    지정된 목표 수신 메시지 개수만큼 메시지를 수신할 경우, 상기 게이트웨이가 메시지 수신 버퍼를 검색하는 단계; 및
    상기 게이트웨이가 상기 메시지 수신 버퍼에 수신된 메시지를 복사하여 상위 어플리케이션에 통지하거나 일반 제어기에 송신하는 단계;를 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  2. 제 1항에 있어서,
    상기 메시지 수신 인터럽트가 발생하는지 체크 단계, 및 상기 메시지 수신 카운터 값을 증가시키는 단계는 메시지가 수신될 때마다 반복해서 수행되며, 상기 메시지 수신 카운터 값은 목표 수신 메시지 개수가 미리 지정되는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  3. 제 1항에 있어서, 상기 메시지 수신 버퍼에 수신된 메시지를 복사하여 상위 어플리케이션에 통지하거나 일반 제어기에 송신하는 단계는,
    상기 지정된 목표 수신 메시지 개수만큼 반복해서 수행되는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  4. 제 1항에 있어서, 상기 메시지 수신 인터럽트가 발생할 경우,
    상기 게이트웨이가 레디(Ready) 메시지 수신 플래그 값이 1로 설정되었는지 체크하는 단계;
    상기 레디 메시지 수신 플래그가 0으로 설정되었으면, 상기 게이트웨이가 메시지 수신 버퍼를 검색하는 단계;
    상기 게이트웨이가 데이터베이스 상에 등록된 모든 일반 제어기로부터 레디(Ready) 메시지를 수신했는지 체크하는 단계; 및
    상기 모든 일반 제어기로부터 레디(Ready) 메시지를 수신했으면, 상기 게이트웨이가 레디 메시지 수신 플래그 값을 1로 설정하고, 동기(Sync) 메시지를 상기 모든 일반 제어기에 송신하는 단계;를 더 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  5. 제 4항에 있어서,
    상기 레디(Ready) 메시지가 수신되었거나, 상기 모든 일반 제어기로부터 레디(Ready) 메시지를 수신하지 않았거나, 동기(Sync) 메시지를 상기 일반 제어기들에 송신하면, 상기 게이트웨이가 동기(Sync) 메시지 송신 플래그 값이 1인지 체크하는 단계:
    상기 동기(Sync) 메시지 송신 플래그 값이 1이면, 상기 게이트웨이가 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0 인지 체크하고, 상기 수신 타임 슬롯 인덱스에 맵핑된 목표 수신 메시지 개수가 0이 아니면 메시지 수신 카운트를 1 증가시키는 단계;
    상기 게이트웨이가 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크하여, 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면, 메시지 수신 버퍼를 검색하는 단계;
    상기 메시지 수신 버퍼를 검색한 후, 상기 게이트웨이가 상기 수신된 메시지가 허용 주기 오차를 벗어났는지 체크하고, 수신된 메시지가 허용 주기 오차를 벗어났을 경우, 동기(Sync) 메시지 송신 요청 플래그를 1로 설정하는 단계; 및
    상기 수신된 메시지가 허용 주기 오차를 벗어나지 않았거나, 상기 동기(Sync) 메시지 송신 요청 플래그를 1로 설정하였으면, 상기 게이트웨이가 상기 수신 메시지를 복사하여 상기 모든 일반 제어기에 송신하는 단계;를 더 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  6. 제 1항에 있어서, 상기 수신된 메시지를 일반 제어기에 송신하기 위하여,
    메시지 송신 인터럽트가 발생할 경우, 상기 게이트웨이가 동기(Sync) 메시지의 송신이 완료되었는지 체크하는 단계;
    상기 동기(Sync) 메시지의 송신이 완료되면, 상기 게이트웨이는 동기(Sync) 메시지 송신 플래그를 1로 설정하고, 주기 타이머를 재 시작하는 단계;
    상기 주기 타이머 재 시작에 의해 주기 타이머 이벤트가 발생할 경우, 상기 게이트웨이는 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있는지 체크하는 단계;
    상기 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있으면, 상기 게이트웨이가 동기(Sync) 메시지를 상기 일반 제어기에 송신한 후, 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정한 다음 수신 타임 슬롯 인덱스를 1 증가시키는 단계; 및
    상기 수신 타임 슬롯 인덱스가 기 지정된 최대값에 도달했는지 체크하여, 상기 수신 타임 슬롯 인덱스가 최대값에 도달했으면, 상기 게이트웨이가 수신 타임 슬롯 인덱스를 초기화하는 단계;를 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  7. 제 6항에 있어서, 상기 주기 타이머 이벤트가 발생할 경우,
    상기 동기(Sync) 메시지 요청 플래그 값이 1로 설정되어 있지 않으면, 상기 게이트웨이는 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같은지 체크하는 단계;
    상기 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같으면, 상기 게이트웨이는 곧바로 상기 수신 타임 슬롯 인덱스를 1 증가시키는 단계; 및
    상기 메시지 수신 카운트가 기 지정된 목표 수신 메시지 개수와 같지 않으면 동기(Sync) 메시지를 일반 제어기들에 송신한 후, 동기(Sync) 메시지 송신 요청 플래그를 0으로 설정한 다음, 상기 수신 타임 슬롯 인덱스를 1 증가시키는 단계;를 더 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  8. 제 1항에 있어서, 상기 게이트웨이가 메시지를 일반 제어기에 송신할 경우,
    상기 일반 제어기에 메시지 수신 인터럽트가 발생됨에 따라 상기 일반 제어기가 동기(Sync) 메시지를 수신했는지 체크하는 단계;
    상기 동기(Sync) 메시지를 수신했으면, 상기 일반 제어기가 상기 동기(Sync) 메시지로부터 상기 게이트웨이의 수신 타임 슬롯 인덱스를 읽어 자신의 송신 타임 슬롯 인덱스를 동일하게 설정하는 단계;
    상기 일반 제어기가 주기 타이머가 실행 중인지 체크하는 단계; 및
    상기 주기 타이머가 실행 중이면 상기 일반 제어기가 주기 타이머를 종료하였다가 다시 시작하고, 상기 주기 타이머가 실행 중이 아니면 주기 타이머를 시작하는 단계;를 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
  9. 제 8항에 있어서,
    상기 주기 타이머의 시작에 따라 주기 타이머 이벤트가 발생할 경우,
    상기 일반 제어기가 동기(Sync) 메시지를 수신했는지 체크하는 단계;
    상기 동기(Sync) 메시지를 수신했으면, 상기 일반 제어기가 현재 송신 타임 슬롯에 송신할 메시지가 있는지 체크하는 단계;
    상기 현재 송신 타임 슬롯에 송신할 메시지가 있으면, 상기 일반 제어기가 메시지를 상기 게이트웨이에 송신하고, 송신 타임 슬롯 인덱스를 1 증가시키는 단계;를 포함하는 것을 특징으로 하는 차량용 게이트웨이의 주기 메시지 송수신 방법.
KR1020160166795A 2016-12-08 2016-12-08 차량용 게이트웨이의 주기 메시지 송수신 방법 KR101907438B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160166795A KR101907438B1 (ko) 2016-12-08 2016-12-08 차량용 게이트웨이의 주기 메시지 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160166795A KR101907438B1 (ko) 2016-12-08 2016-12-08 차량용 게이트웨이의 주기 메시지 송수신 방법

Publications (2)

Publication Number Publication Date
KR20180066372A true KR20180066372A (ko) 2018-06-19
KR101907438B1 KR101907438B1 (ko) 2018-10-15

Family

ID=62790685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160166795A KR101907438B1 (ko) 2016-12-08 2016-12-08 차량용 게이트웨이의 주기 메시지 송수신 방법

Country Status (1)

Country Link
KR (1) KR101907438B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085303A (ko) * 2020-12-15 2022-06-22 현대오토에버 주식회사 라우팅 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179662A (ja) * 2001-12-10 2003-06-27 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2003319759A (ja) * 1998-05-04 2003-11-11 Conlinco Inc 異性体濃縮共役リノール酸組成物の使用方法
JP2006319759A (ja) * 2005-05-13 2006-11-24 Denso Corp ゲートウェイ装置
KR100923618B1 (ko) * 2007-02-07 2009-10-23 가부시키가이샤 히타치세이사쿠쇼 차량 탑재 게이트웨이 장치, 그의 제어 방법, 기록 매체,접속 장치 및 그의 접속 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319759A (ja) * 1998-05-04 2003-11-11 Conlinco Inc 異性体濃縮共役リノール酸組成物の使用方法
JP2003179662A (ja) * 2001-12-10 2003-06-27 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2006319759A (ja) * 2005-05-13 2006-11-24 Denso Corp ゲートウェイ装置
KR100923618B1 (ko) * 2007-02-07 2009-10-23 가부시키가이샤 히타치세이사쿠쇼 차량 탑재 게이트웨이 장치, 그의 제어 방법, 기록 매체,접속 장치 및 그의 접속 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
일본 공개특허공보 특개2003-179662호(2003.06.27.) 1부. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085303A (ko) * 2020-12-15 2022-06-22 현대오토에버 주식회사 라우팅 방법 및 장치

Also Published As

Publication number Publication date
KR101907438B1 (ko) 2018-10-15

Similar Documents

Publication Publication Date Title
KR102208580B1 (ko) 무인 이동체, 무인 이동체들 사이의 시간 동기화 지원 장치 및 그 방법
JP6886511B2 (ja) データ送信方法及び装置
US20090168742A1 (en) Method for controlling the timing of wireless communications involving telematics-equipped vehicles
JP2008113097A (ja) ゲートウェイ装置及び転送制御方法
CN110731089B (zh) 数据传输装置、一车辆用数据传输方法及车辆
KR101907438B1 (ko) 차량용 게이트웨이의 주기 메시지 송수신 방법
CN106327143B (zh) 用于流程中的节点的方法和装置
US8307121B2 (en) Method and a type of transmit and receive ends for data synchronization
CN108768573B (zh) 一种时钟同步方法及装置
JP5643240B2 (ja) 時刻設定方法、通信装置、および時刻設定プログラム
CN102231699A (zh) 分布式系统中路由处理方法和分布式系统
JP5372699B2 (ja) 車載ネットワーク装置
KR101612825B1 (ko) Can 컨트롤러, 차량 내부 통신을 위한 게이트웨이 및 그 제어 방법
EP2573981A2 (en) System and method for encoding a slot table for a communications controller
CN111246435B (zh) 中继装置
US11973581B2 (en) Method for protecting the time synchronization in a network against unauthorized changes
KR102029978B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
JP7110950B2 (ja) ネットワークシステム
US11599678B2 (en) Method for ensuring the integrity of data to ensure operational safety and vehicle-to-X device
EP3116277B1 (en) Communication apparatus, congestion control method, and storage medium
CN106776065B (zh) 多系统使用Mtp功能的方法及装置
US11184919B2 (en) Communication device and methods for synchronizing communication channels and using the device
EP4050823A1 (en) A method for synchronizing time
CN116841929B (zh) 用于传输数据的方法及装置、电子设备、存储介质
KR20190033376A (ko) IoT 프로토콜 변환 장치

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