KR20240083594A - 차량용 통신 장치 및 이의 데이터 송수신 방법 - Google Patents

차량용 통신 장치 및 이의 데이터 송수신 방법 Download PDF

Info

Publication number
KR20240083594A
KR20240083594A KR1020220167893A KR20220167893A KR20240083594A KR 20240083594 A KR20240083594 A KR 20240083594A KR 1020220167893 A KR1020220167893 A KR 1020220167893A KR 20220167893 A KR20220167893 A KR 20220167893A KR 20240083594 A KR20240083594 A KR 20240083594A
Authority
KR
South Korea
Prior art keywords
frame
value
transmission
max
data
Prior art date
Application number
KR1020220167893A
Other languages
English (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 KR1020220167893A priority Critical patent/KR20240083594A/ko
Publication of KR20240083594A publication Critical patent/KR20240083594A/ko

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/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Communication Control (AREA)

Abstract

차량용 통신 장치 및 이의 데이터 송수신 방법이 개시된다. 본 발명의 일실시예에 따른 데이터 전송 방법은 상기 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임을 수신 장치에 전송하는 단계, 상기 제1 프레임에 대한 응답 신호를 모니터링하는 단계, 상기 모니터링 결과를 기반으로 상기 적어도 하나의 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정하는 단계 및 상기 응답 신호 및 상기 오프셋 값을 기반으로 상기 적어도 하나의 제2 프레임을 상기 수신 장치에 전송하는 단계를 포함한다.

Description

차량용 통신 장치 및 이의 데이터 송수신 방법 {VEHICLE COMMUNICATION APPARATUS AND DATA TRANSMISSION/RECEPTION METHOD THEREOF}
본 발명은 차량 네트워크 기술에 관한 것으로서, 보다 상세하게는 차량 네트워크의 통신 상태를 고려하여 통신 속도를 실시간으로 최적화할 수 있는 차량용 통신 장치 및 이의 데이터 송수신 방법에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, ECU(Electronic Control Unit))의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스펜션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(Controller Area Network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(Media Oriented System Transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레메틱스(telematics) 시스템, 인포테인먼트(infotainment) 시스템 등을 의미할 수 있다.
이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN(Controller Area Network)은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임의 자동 재전송, CRC(cycle redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
CAN 도메인 네트워크 네트워크 부하는 주기성 메시지에 의해 예상이 가능하며 자동차 OEM은 대기(idle) 상태의 부하와 악조건에서의 네트워크의 부하를 예상하고 관리한다.
한편, 제어기들은 서로 이벤트 트리거에 의해 발생되는 진단 메시지를 주고받을 수 있다. 이러한 진단 메시지는 요청(request) 메시지 및 응답(response) 메시지를 포함할 수 있다. CAN 통신에서는 이러한 일시적인 부하, 중부하 증가 등으로 CAN 메시지의 지연 또는 또는 누락이 발생하기도 한다.
CAN은 한 프레임에 8바이트, CAN FD(Controller Area Network with Flexible Data-rate)의 경우에는 64바이트 이하의 데이터를 전송할 수 있으며, 대용량의 데이터를 전송하기 위해서는 CAN-TP(Controller Area Network Transfer Protocol)라는 전송 프로토콜을 사용한다. CAN-TP의 경우 순차적으로(sequential) 데이터를 전송하며 전송의 누락이 발생하면 데이터를 다시 처음부터 재전송하는 손실(loss)이 발생하며, 전송의 누락이 여러 번 발생하는 경우 전송 자체를 실패하는 경우도 발생한다.
따라서, 본 기술분야에서는 이러한 전송 손실을 최소화하고, 네트워크 상황에 맞는 유연한 흐름 제어를 통해 목표한 데이터를 정확하고 신속하게 전송할 수 있는 기술이 요구되고 있는 실정이다.
한국등록특허 제10-2339055호, 2021년 12월 9일 등록(명칭: 메시지 수신자의 피드백을 실시간으로 반영하여 최적의 푸시 알림 메시지를 전송할 수 있는 메시징 서비스 서버 및 그 동작 방법) 한국공개특허 제10-2019-0130727호, 2019년 11월 25일 공개(명칭: 차량용 제어기 및 그 데이터 전송 제어방법)
본 발명의 기술적 과제는 CAN 통신에서 송수신 제어기들 간에 전송 손실을 최소화하기 위함에 있다.
본 발명의 다른 기술적 과제는 네트워크 상황에 맞는 유연한 흐름 제어를 통해 목표한 데이터를 정확하고 신속하게 전송하기 위함에 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 과제를 실현하기 위한 본 발명의 일실시예에 따른 데이터 전송 방법은 상기 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임을 수신 장치에 전송하는 단계, 상기 제1 프레임에 대한 응답 신호를 모니터링하는 단계, 상기 모니터링 결과를 기반으로 상기 적어도 하나의 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정하는 단계 및 상기 응답 신호 및 상기 오프셋 값을 기반으로 상기 적어도 하나의 제2 프레임을 상기 수신 장치에 전송하는 단계를 포함한다.
이 때, 상기 오프셋 값을 결정하는 단계에서, 상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신된 경우, 상기 오프셋 값은 유지 또는 감소할 수 있다.
이 때, 상기 오프셋 값을 결정하는 단계에서, 상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신되지 않은 경우, 상기 오프셋 값은 증가하고, 상기 제2 프레임은 재전송되는 상기 데이터의 최초 프레임일 수 있다.
이 때, 상기 오프셋 값은 전송 실패구간수(Fn), 전송 성공 여부에 따라 증감하는 거리값(D), 상기 거리값(D)의 상한(D_max) 값을 기반으로 결정되고, 상기 파라미터 Fn, D, D_max 값은 상기 적어도 하나의 제1 프레임의 전송 결과를 기반으로 결정될 수 있다.
이 때, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 간의 최소 시간 간격에 대한 정보를 더 포함할 수 있다.
이 때, 상기 적어도 하나의 제2 프레임 간의 전송 간격은, 아래 수식에 의해 결정될 수 있으며,
Figure pat00001
상기 수식에서 상기 STmin은 상기 최소 시간 간격이고, 상기 ST는 상기 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값이고, 상기 Δt는 상기 오프셋 값들 간의 시간 간격일 수 있다.
이 때, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 내에 포함된 프레임의 개수에 관한 정보를 더 포함할 수 있다.
이 때, 상기 파라미터 Fn 은, 상기 제1 프레임 그룹의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정되고, 상기 오프셋 값은 0이고, 상기 D의 값은 D_max와 동일한 조건을 동시에 충족할 때마다 1씩 감소하도록 설정될 수 있다.
이 때, 상기 파라미터 D_max 는 상기 Fn 이 0 또는 1인 경우에는 초기 설정된 값으로 설정되고, 상기 Fn이 1보다 큰 값으로 증가하거나 상기 Fn이 1보다 큰 값에서 감소하는 경우 Fn 에 상기 초기 설정된 값을 곱한 값으로 설정될 수 있다.
이 때, 상기 파라미터 D 값은 상기 데이터를 구성하는 프레임 그룹의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정되거나, 상기 적어도 하나의 프레임의 전송에 누적되어 실패한 횟수를 음의 정수로 나타낸 값으로 설정되되, 상기 음의 정수 값은 미리 설정된 임계값 이상일 수 있다.
한편, 본 발명의 일실시예에 따른 송신 장치는, 상기 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임 및 상기 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임을 전송하는 통신부 및 상기 적어도 하나의 제1 프레임에 대한 응답 신호를 모니터링하고, 상기 모니터링 결과를 기반으로 상기 적어도 하나의 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정하는 프로세서를 포함하되, 상기 통신부는 상기 응답 신호 및 상기 오프셋 값을 기반으로 상기 적어도 하나의 제2 프레임을 상기 수신 장치에 전송할 수 있다.
이 때, 상기 프로세서는, 상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신된 경우, 상기 오프셋 값을 유지 또는 감소시킬 수 있다.
이 때, 상기 프로세서는, 상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신되지 않은 경우, 상기 오프셋 값을 증가시키고, 상기 제2 프레임은 재전송되는 상기 데이터의 최초 프레임일 수 있다.
이 때, 상기 오프셋 값은 전송 실패구간수(Fn), 전송 성공 여부에 따라 증감하는 거리값(D), 상기 거리값(D)의 상한(D_max) 값을 기반으로 결정되고, 상기 파라미터 Fn, D, D_max 값은 상기 적어도 하나의 제1 프레임의 전송 결과를 기반으로 결정될 수 있다.
이 때, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 간의 최소 시간 간격에 대한 정보를 더 포함할 수 있다.
이 때, 상기 적어도 하나의 제2 프레임 간의 전송 간격은, 아래 수식에 의해 결정될 수 있으며,
Figure pat00002
상기 수식에서 상기 STmin은 상기 최소 시간 간격이고, 상기 ST는 상기 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값이고, 상기 Δt는 상기 오프셋 값들 간의 시간 간격일 수 있다.
이 때, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 내에 포함된 프레임의 개수에 관한 정보를 더 포함할 수 있다.
이 때, 상기 파라미터 Fn 은, 상기 제1 프레임 그룹의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정되고, 상기 오프셋 값은 0이고, 상기 D의 값은 D_max와 동일한 조건을 동시에 충족할 때마다 1씩 감소하도록 설정될 수 있다.
이 때, 상기 파라미터 D_max 는 상기 Fn 이 0 또는 1인 경우에는 초기 설정된 값으로 설정되고, 상기 Fn이 1보다 큰 값으로 증가하거나 상기 Fn이 1보다 큰 값에서 감소하는 경우 Fn 에 상기 초기 설정된 값을 곱한 값으로 설정될 수 있다.
이 때, 상기 파라미터 D 값은 상기 데이터를 구성하는 프레임 그룹의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정되거나, 상기 적어도 하나의 프레임의 전송에 누적되어 실패한 횟수를 음의 정수로 나타낸 값으로 설정되되, 상기 음의 정수 값은 미리 설정된 임계값 이상일 수 있다.
상술한 바와 같은 본 발명의 다양한 실시 예에 의해, CAN 통신에서 송수신 제어기들 간에 전송 손실을 최소화할 수 있다.
또한, 네트워크 상황에 맞는 유연한 흐름 제어를 통해 목표한 데이터를 정확하고 신속하게 전송할 수 있다.
또한, 고정된 ST(Separation Time)를 무리하게 사용함으로써 발생할 수 있는 전송 실패 또는 시간 손실을 최소화한다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명이 적용될 수 있는 TP 메시지를 이용한 데이터 전송 과정의 일례를 나타낸다.
도 2는 종래의 TP 메시지를 이용한 데이터 전송에서 데이터 전송 간격이 짧아 데이터 전송이 누락되는 일예를 나타낸다.
도 3은 종래의 TP 메시지를 이용한 데이터 전송에서 데이터 전송이 누락되는 문제를 해결하기 위하여 데이터 전송 간격을 늘려 데이터가 전송되는 일예를 나타낸다.
도 4는 본 발명의 일실시예에 따른 송신 장치의 데이터 전송 방법을 나타낸다.
도 5는 도 4의 실시예에 따른 데이터 전송 방법에서 각 프레임 전송 결과에 따라 송신 장치 내에 설정된 파라미터 값들이 업데이트되는 일예를 나타낸다.
도 6은 도 4의 실시예에 따른 데이터 전송 방법에서 각 프레임 전송 결과에 따라 송신 장치 내에 설정된 파라미터 값들이 업데이트되는 다른 일예를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 송신 장치와 수신 장치를 나타낸 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명이 적용될 수 있는 TP 메시지를 이용한 데이터 전송 과정의 일례를 나타낸다.
도 1에서 Sender는 송신 장치(110)를 나타내고, Receiver는 수신 장치(130)를 나타내며, 각 장치들 간에는 CAN 버스가 연결되어 있는 것으로 가정한다.
한편, 송신 장치(110)는 “송신기”라 칭할 수 있으며, 수신 장치(110)는 “수신기”라 칭할 수 있다.
이 때, 상기 송신 장치(110) 및 수신 장치(130)는 차량 내의 각 제어기일 수 있으며, 또는, 이들 중 하나는 서버(server)에 해당하고 다른 하나는 클라이언트(client)에 해당할 수 있다.
도 1을 참조하면, 송신 장치(110)는 최초 프레임(FF, First Frame)을 수신 장치(130)로 전송한다(S110).
이 때, 송신 장치(110)는 8바이트(CAN-FD의 경우 64바이트) 이상의 대용량의 데이터를 기 설정된 크기(예를 들어, 8바이트 또는 64바이트)를 갖는 복수의 분할 메시지(Segmented message)로 분할하여 전송할 수 있으며, 최초 프레임은, 분할 메시지의 첫 번째 프레임에 해당한다.
최초 프레임(FF)을 수신한 수신 장치(130)는 이에 대한 응답으로, 블록 사이즈(block size), 최소 시간 간격(STmin, minimum Separation Time) 등의 정보를 포함하는 플로우 컨트롤(FC, Flow Control) 프레임(frame)을 송신 장치(110)로 전송한다(S120).
이후, 송신 장치(110)는 최초 프레임 이후의 나머지 분할 메시지에 해당하는 후속 프레임(CF, Consecutive Frame)을 연속적으로 전송한다(S130~S150).
이 때, 송신 장치(110)는 플로우 컨트롤 프레임 내에 포함된 블록 사이즈(BS, Block Size) 및 최소 시간 간격(STmin, minimum Separation Time)에 기반하여 후속 프레임들을 일정 시간 간격, 즉, 시간 간격(Separation Time) 간격으로 전송할 수 있다.
이 때, 상기 후속 프레임들 사이의 간격은 상기 최소 시간 간격과 동일하거나 이보다 더 큰 시간 간격으로 떨어져 있어야 한다.
한편, 연속적인 후속 프레임(CF)의 전체 길이는 플로우 컨트롤 프레임 내에 포함된 블록 사이즈에 의해 결정될 수 있다.
필요에 따라, 수신 장치(130)는 송신 장치(110)에 플로우 컨트롤(FC) 프레임을 전송할 수 있으며(S160), 송신 장치(110)는 마지막 분할 메시지가 전송될 때까지 후속 프레임(CF)을 전송할 수 있다(S170, S180).
도 2는 종래의 TP 메시지를 이용한 데이터 전송에서 데이터 전송 간격이 짧아 데이터 전송이 누락되는 일예를 나타낸다.
도 2를 참조하면, 송신 장치(210)는 최초 프레임(FF, First Frame)을 수신 장치(230)로 전송하고(S210), 수신 장치(230)는 이에 대한 응답으로 플로우 컨트롤(FC, Flow Control) 프레임(frame)을 송신 장치(210)로 전송한다(S220).
이 때, 상기 플로우 컨트롤 프레임은 최소 시간 간격(STmin, minimum Separation Time)에 대한 정보를 포함할 수 있으며, 상기 최소 시간 간격은 다양한 값을 가질 수 있다. 예를 들어, 상기 STmin은 밀리세컨드의 단위를 나타내는 7바이트 크기의 값으로 표시될 수 있으며, 예를 들어, STmin은 0 내지 127ms 의 시간을 지시할 수 있다.
또한, 송신 장치(210)는 최초 프레임 이후의 나머지 분할 메시지에 해당하는 후속 프레임(CF, Consecutive Frame)을 수신 장치(230)에 연속적으로 전송하고(S230~S250), 수신 장치(230)는 송신 장치(210)에 플로우 컨트롤(FC) 프레임을 전송하고(S260), 송신 장치(110)는 마지막 분할 메시지가 전송될 때까지 후속 프레임(CF)을 전송할 수 있다(S170, S180).
이 때, 송신 장치(210)는 후속 프레임들을 일정 시간 간격, 예를 들어, 최소 시간 간격과 동일한 시간 간격, 즉, 1ms 간격으로 전송할 수 있다.
이 경우, 4k 바이트(byte)의 데이터를 전송하는 데에는 약 586ms의 시간이 소요될 수 있다.
한편, 송신 장치(210)에서 첫 번째 후속 프레임을 전송하고(S230), 두 번째 후속 프레임을 전송할 때(S240), 수신 장치(230) 측에서 첫 번째 후속 프레임에 대한 데이터 처리가 지연되는 등의 이유로 두 번째 후속 프레임의 수신에 실패할 수 있다.
이러한 문제를 해결하기 위해서 전송 장치는 최소 시간 간격에 비하여 더 큰 시간 간격으로 수신 장치에 후속 프레임들을 전송할 수 있다.
도 3은 종래의 TP 메시지를 이용한 데이터 전송에서 데이터 전송이 누락되는 문제를 해결하기 위하여 데이터 전송 간격을 늘려 데이터가 전송되는 일예를 나타낸다.
도 3을 참조하면, 송신 장치(310) 및 수신 장치(330)는 최초 프레임, 플로우 컨트롤 프레임, 후속 프레임들을 송수신할 수 있으며(S310~S370), 각각의 후속 프레임들은 도 2의 실시예에서의 1ms보다 긴, 예를 들어, 2ms의 시간 간격으로 전송될 수 있다.
이 경우, 4k 바이트(byte)의 데이터를 전송하는 데에는 약 1172ms의 시간이 소요될 수 있다.
이와 같이, 전송 장치로부터 수신 장치로 대용량 데이터를 전송할 때 최소 시간 간격에 비하여 긴 시간 간격으로 데이터를 전송하는 경우 데이터의 누락이 발생할 위험은 감소하지만 전체 데이터의 전송에 소요되는 시간이 크게 늘어나는 단점이 있다.
이하에서는, 이러한 문제점들을 해결하기 위하여, 프레임 전송에 누락이 발생하는 경우 프레임들 간의 전송 시간 간격을 증가시키고, 프레임 전송에 누락이 발생하지 않고 데이터가 다시 안정적으로 전송되는 경우에 다시 후속 프레임들 간의 전송 간격을 단축시킴으로써 동적으로 시간 간격을 설정하는 방법에 관하여 설명한다.
도 4는 본 발명의 일실시예에 따른 송신 장치의 데이터 전송 방법을 나타낸다.
도 4를 참조하면, 송신 장치는 파라미터 Fn, D, D_max, ST의 초기값을 구성한다(S410).
이 때, 상기 Fn 은 전송 실패구간수를 나타내고, D는 전송 성공 여부에 따라 증감하는 거리값, D_max는 상기 거리값의 상한값을 나타낸다.
이 때, 상기 파라미터 Fn, D, D_max 는 ST 값을 결정하고, 업데이트하기 위한 파라미터들이고, ST는 수신 장치에 복수의 후속 프레임들을 연속적으로 전송할 때, 각 프레임들 간의 프레임 전송 간격을 설정하기 위한 파라미터일 수 있다.
이 때, Fn, D의 초기값은 0 또는 1로 설정될 수 있으며, D_max의 초기값은 1 보다 큰 임의의 값으로 설정될 수 있다. 예를 들어, D_max는 3으로 설정될 수 있다.
이 때, D_max는 D의 상한값을 나타내며, 예를 들어, D_max가 3인 경우, D는 3보다 큰 값을 가질 수 없다.
이 때, 상기 ST는 각 프레임들 간의 프레임 전송 간격에 대한 오프셋 단위일 수 있으며, 예를 들어, 본 각 프레임들 간의 프레임 전송 간격은 아래 수학식 1에 의해 설정될 수 있다.
Figure pat00003
상기 수학식 1에서 STmin은 전송 간격의 최소값을 나타내며, 수신 장치로부터 수신될 수 있다. 상기 최소 시간 간격은 다양한 값을 가질 수 있다. 예를 들어, 상기 STmin은 밀리세컨드의 단위를 나타내는 7바이트 크기의 값으로 표시될 수 있으며, 예를 들어, STmin은 0 내지 127ms 의 시간을 지시할 수 있다.
ST는 각 프레임들 간의 세부 시간 간격을 조정하기 위한 오프셋(offset) 값일 수 있다. 예를 들어, ST 값은 0, 1, 2 중 하나의 값으로 설정될 수 있다. Δt는 오프셋 값들 간의 시간 간격일 수 있다.
예를 들어, STmin이 1ms이고, ST는 0, 1, 2 중 하나의 값이고, Δt가 1ms일 때, 송신 장치로부터 수신 장치에 전송되는 각 후속 프레임들은 1ms, 2ms, 3ms 중 하나의 동적 전송 간격으로 전송될 수 있다.
한편, 본 발명에서 상기 Δt는 해상도(resolution)로 정의될 수 있다.
이 때, 상기 ST의 최대값 및 해상도는 사용자 설정에 따라 가변적으로 설정될 수 있으며, CAN-TP(Controller Area Network Transfer Protocol)의 채널(channel)마다 서로 다르게 설정될 수 있다.
예를 들어, 전송 장치의 CAN ID(Identifier)는 0x700, 수신 장치의 CAN ID는 0x708로 구성된 CAN-TP 네트워크에서 채널 1과 채널 2의 2개의 전송 채널이 설정되어 있을 때, 채널 1에서는 해상도(resolution)가 1로 설정될 수 있으며, 채널 2에서는 해상도가 10으로 설정될 수 있다.
다음으로, 송신 장치는 수신 장치에 적어도 하나의 제1 프레임을 전송하고(S420), 이에 대한 응답 신호를 모니터링한다(S430).
이 때, 송신 장치는 8바이트(CAN-FD의 경우 64바이트) 이상의 대용량의 데이터를 기 설정된 크기(예를 들어, 8바이트 또는 64바이트)를 갖는 복수의 분할 메시지(Segmented message)로 분할하여 전송할 수 있다.
이 때, 상기 복수의 분할 메시지를 구성하는 하나의 분할 메시지는 적어도 하나의 프레임을 포함하는 프레임 그룹일 수 있으며, 데이터를 구성하는 최초의 분할 메시지는 하나의 프레임으로 구성된 최초 프레임(First Frame)일 수 있다.
이 때, 최초 프레임(First Frame)을 제외한 나머지 프레임들은 블록 사이즈를 기반으로 하나 이상의 프레임을 포함하는 프레임의 그룹들로 분할되어 전송될 수 있다. 예를 들어, 송신 장치로부터 수신 장치에 전송될 전체 데이터의 크기가 256바이트이고 하나의 프레임이 8바이트, 블록 사이즈는 24바이트라고 가정할 때, 송신 장치는 최초 프레임을 제외한 나머지 248바이트의 프레임을 24바이트씩 분할하여, 10개의 후속 프레임의 그룹과 8바이트의 마지막 블록으로 분할하여 전송할 수 있다.
이 때, 상기 응답 신호는 블록 사이즈(BS, block size), STmin 등의 정보를 포함하는 플로우 컨트롤(FC, Flow Control) 프레임(frame)을 송신 장치로 전송할 수 있다.
다음으로, 송신 장치는 상기 플로우 컨트롤 프레임 모니터링 결과를 기반으로 단계 S420에서 전송된 제1 프레임이 성공적으로 전송되었는지 여부를 판단한다(S440). 이 때, 송신 장치는 상기 제1 프레임의 전송 후, 수신 장치로부터 미리 설정된 임계 시간 내에 플로우 컨트롤 프레임이 수신되었는지 여부를 기반으로 상기 제1 프레임이 성공적으로 전송되었는지 여부를 판단할 수 있다.
송신 장치는 예를 들어, 상기 임계 시간 내에 수신 장치로부터 플로우 컨트롤 프레임이 수신되면 상기 제1 프레임이 성공적으로 전송된 것으로 판단하고, 상기 임계 시간 내에 수신 장치로부터 플로우 컨트롤 프레임이 수신되지 않으면 상기 제1 프레임의 전송이 실패한 것으로 판단할 수 있다.
단계 S440에서 제1 프레임이 성공적으로 전송된 것으로 판단되면 송신 장치는 프레임 전송 성공에 따른 Fn, D, D_max, ST 값을 업데이트하고(S450), 단계 S440에서 최초 프레임 전송에 실패한 것으로 판단되면 송신 장치는 프레임 전송 실패에 따른 Fn, D, D_max, ST 값을 업데이트한다(S480).
이 때, Fn 은 프레임의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간(Fail Range)으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정될 수 있다. 또한, Fn 은 나머지 파라미터 값들이 일정한 조건을 만족하는 경우 1 감소하도록 설정될 수 있다.
예를 들어, 도 5 및 도 6을 참조하면, 전송 장치가 수신 장치에 프레임 그룹을 전송하고 플로우 컨트롤 프레임 수신을 모니터링함으로써 프레임 그룹 전송 성공/실패를 판단할 수 있다. 이 때, 각각의 프레임 그룹은 C1, C2, C3, …, Cn으로 정의될 수 있다. 예를 들어, 데이터를 구성하는 제1 프레임 그룹은 C1에 해당하고, 바로 다음 번 전송되는 제2 프레임 그룹은 C2로 정의될 수 있다.
도 5를 참조하면, C1 프레임의 전송 이전에 Fn 의 초기값인 F0은 0으로 설정될 수 있으나, 제1 프레임 그룹의 전송 결과, 전송에 실패하여 C1 구간에서 F1 = 1로 업데이트된다. 한편, 전송 장치가 바로 다음 번 전송되는 후속 프레임 그룹의 전송에 실패하는 경우 상기 최초 프레임의 전송 실패와 바로 다음 번의 후속 프레임 그룹의 전송 실패는 동일한 하나의 실패 구간 내에 포함되어 C2에서도 여전히 F1 = 1의 값을 갖는다.
또한, Fn 값은 전송 장치가 이후의 C3 내지 C9의 프레임 그룹의 전송에 성공하여 F1 = 1의 값을 유지하고, C10에서는 전송에 실패하여 새로운 전송 실패 구간에 해당하므로 F2 = 2로 업데이트된다.
한편, Fn 은 나머지 파라미터 값들이 일정 조건을 만족하는 경우 1 감소하도록 설정될 수 있다.
구체적으로, Fn은 ST = 0 이고, D = D_max 의 조건을 만족하는 경우, 다음의 프레임 그룹이 전송된 이후에 1 씩 감소하도록 업데이트될 수 있다. 예를 들어, 도 6을 참조하면, C22 구간에서 F2 = 2 이고, ST = 0, D = D_max = 6 을 만족하므로, 다음 사이클인 C23 구간에서 Fn 은 1 감소하여 F3 = 1 로 업데이트된다.
한편, D_max 값은 Fn 이 0 또는 1인 경우에는 초기값을 갖고, Fn 이 1 보다 큰 값으로 증가하거나, Fn 이 1보다 큰 값에서 감소하는 경우에는 “D_max = Fn * D_max의 초기값”을 만족하도록 업데이트될 수 있다.
예를 들어, 도 5 내지 도 6을 참조하면, D_max는 C1 내지 C9 구간에서는 초기값인 3으로 설정되고, F1 = 1 에서 F2 = 2 으로 업데이트되는 C10에서는 Fn의 값이 1보다 큰 값으로 증가함에 따라 D_max = F2 * 3 = 6으로 업데이트된다. 또한, C23 구간에서는 F3 = 1 로 업데이트됨에 따라 D_max = F3 * 3 = 3 으로 업데이트된다.
한편, D의 초기값은 0으로 설정될 수 있으며, D의 값은 프레임 전송 성공/실패를 판단한 각각의 전송 결과에 따라 음수 또는 양수의 값으로 업데이트된다.
이 때, 송신 장치가 연속해서 프레임의 전송에 실패하는 경우 D의 값은 1 만큼 추가 감소할 수 있다. 예를 들어, 도 5를 참조하면, D는 C1에서는 최초 프레임 전송에 실패하여 D = -1 로 업데이트된다. 또한, C2에서는 후속 프레임의 전송에 실패하여 D = -2로 업데이트된다.
한편, 송신 장치가 프레임의 전송에 성공하면 D의 값은 1로 업데이트되고, 다음 사이클에서 추가로 프레임의 전송에 성공하면 D의 값은 1 만큼 추가 증가할 수 있다. 이 때, D의 값은 D_max 를 만족할때까지 증가할 수 있으며, 이전의 사이클에서 D = D_max인 경우 D = 1로 업데이트될 수 있다. 즉, D의 값은 프레임의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정될 수 있다. 예를 들어, 다시 도 5를 참조하면, C2 에서 D = -2 였지만, C3에서 송신 장치가 프레임 전송에 성공하여 D = 1 로 업데이트되고 C4 내지 C5 까지 연속해서 프레임 전송에 성공하여 D 는 2, 3으로 업데이트되고, 이 때, D_max = 3이므로, C6에서 D= 1로 업데이트된다. 한편, C10에서 프레임 전송에 실패하여 D = -1 로 업데이트되고, C11에서는 다시 프레임 전송에 성공하여 D = 1로 업데이트된다.
한편, ST의 값은 프레임 전송/실패 여부 및 D와 D_max의 비교 결과에 따라 초기값에서 1 씩 증가하거나 1 씩 감소한다. 구체적으로, ST는 최초 프레임 전송 시에는 초기값인 ST = 0으로 설정되고, 최초 프레임의 전송에 실패한 경우 다음 프레임 그룹의 ST 값이 1씩 증가하여 프레임이 전송될 수 있다. 한편, 현재 프레임 그룹의 전송에 성공하고 D=D_max를 만족하는 경우 다음에 전송될 프레임의 전송 간격을 설정하기 위한 ST 값이 1씩 감소한다. 즉, 송신 장치가 연속해서 D_max 번 프레임 그룹의 전송에 성공할 경우 ST 값이 1 감소한다.
예를 들어, 도 5를 참조하면, C1에서는 ST= 0으로 전송되고, C1에서 프레임 전송에 실패하였으므로 C2 의 프레임 그룹은 ST = 1 로 업데이트되어 전송된다. 또한, C2에서도 프레임 전송에 실패하였으므로 C3의 프레임 그룹은 ST = 2 로 업데이트되어 전송된다. 한편, C3, C4에서 프레임 그룹의 전송에 성공하였으므로 C4, C5에서 ST = 2 를 유지한 채 프레임 그룹이 전송되며, C5에서 D = D_max를 만족하므로 C6에서 ST의 값은 1 감소하여, ST = 1로 업데이트된 프레임 간격으로 프레임 그룹이 전송된다. 또한, C6, C7에서 프레임 그룹 전송에 성공하였으므로 C7, C8에서 ST = 1을 유지한 채 프레임 그룹이 전송되며, C8에서 D=D_max를 만족하므로 C9에서 ST의 값은 1 감소하여, ST = 0 으로 업데이트된 프레임 간격으로 전송된다.
한편, ST 가 음수 값을 갖는 경우 최소 전송 간격을 지시하는 STmin 보다 전송 간격이 짧아지기 때문에 ST는 음수 값을 갖지 못하도록 설정될 수 있다. 예를 들어, 도 6을 참조하면, C22에서 D=D_max를 만족하고, 송신 장치는 프레임 전송에 성공하였음에도 C23에서 ST = 0을 유지하고 있음을 확인할 수 있다.
한편, 단계 S450에서 프레임 전송 성공에 따른 Fn, D, D_max, ST 값을 업데이트하면, 송신 장치는 수신 장치로부터 수신한 응답 신호내에 포함된 BS, STmin 및 업데이트된 ST 값을 기반으로 수신 장치에 후속 프레임을 전송한다(S460).
이 때, 최초 프레임(First Frame)을 제외한 나머지 프레임들은 블록 사이즈를 기반으로 하나 이상의 프레임을 포함하는 프레임의 그룹들로 분할되어 전송될 수 있다. 예를 들어, 송신 장치로부터 수신 장치에 전송될 전체 데이터의 크기가 256바이트이고 하나의 프레임이 8바이트, 블록 사이즈는 24바이트라고 가정할 때, 송신 장치는 최초 프레임을 제외한 나머지 248바이트의 프레임을 24바이트씩 분할하여, 10개의 후속 프레임의 그룹과 8바이트의 마지막 블록으로 분할하여 전송할 수 있다. 이 때, 도 5를 참조하면, 최초 프레임은 C1에 대응하고, 10개의 후속 프레임의 그룹은 C2 내지 C11에 대응하고, 마지막 블록은 C12에 대응할 수 있다.
한편, 하나의 후속 프레임 그룹에서 각각의 프레임들 간의 전송 간격은 상기 STmin 및 업데이트된 ST 값을 기반으로 상기 수학식 1과 같이 설정될 수 있다. 예를 들어, STmin이 1ms이고, Δt가 1ms일 때, 도 5를 참조하면, C2에서 프레임들 간의 전송 간격은 2ms이고, C3 내지 C5에서 프레임들 간의 전송 간격은 3ms 일 수 있다.
한편, 단계 S480에서 프레임 전송 실패에 따른 Fn, D, D_max, ST 값을 업데이트하면, 송신 장치는 수신 장치로부터 수신한 응답 신호내에 포함된 BS, STmin 및 업데이트된 ST 값을 기반으로 수신 장치에 데이터를 재전송한다(S420).
이 때, CAN 통신의 특성 상 송신 장치는 전체 프레임들 중 하나의 프레임이 누락된 경우 데이터의 최초 프레임부터 다시 전송한다.
다만, 본 발명에 따른 동적 전송 간격 설정으로 인하여 다음번 전송에서 송신 장치는 각 프레임들 간의 전송 시간 간격을 증가시켜 데이터가 성공적으로 전송될 확률이 증가할 수 있다.
예를 들어, 도 5를 참조하면, STmin = 1ms이고 Δt가 1ms일 때, C1에서 ST = 0 이므로, 수학식 1에 따른 프레임들 간의 동적 전송 간격은 1ms이지만, C1에서 프레임 전송에 실패한 이후의 C2에서 프레임들 간의 동적 전송 간격은 2ms로 증가한다. 또한, C2에서 프레임 전송에 추가로 실패하면, C3에서 프레임들 간의 동적 전송 간격은 3ms로 증가하여 프레임이 전송된다.
도 7은 본 발명의 일 실시예에 따른 송신 장치(700)와 수신 장치(750)를 나타낸 블록도이다.
도 7에 도시된 바와 같이, 송신 장치(700)는 프로세서(710), 통신부(720), 메모리(730)를 포함한다.
프로세서(710)는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 프로세서(710)는 본 명세서에서 제안된 데이터 전송 방법을 구현한다. 프로세서(710)는 구체적으로 본 명세서에서 게시된 실시예에서 수신 장치(750)로 전송될 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임에 대한 응답 신호를 모니터링하고, 상기 모니터링 결과를 기반으로 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정한다.
이 때, 상기 오프셋 값은 파라미터 전송 실패구간수(Fn), 전송 성공 여부에 따라 증감하는 거리값(D), 상기 거리값(D)의 상한(D_max) 값을 기반으로 결정되고, 상기 파라미터 Fn, D, D_max 값은 상기 제1 프레임 그룹의 전송 결과를 기반으로 업데이트될 수 있다.
이 때, 응답 신호는 상기 후속 프레임 간의 최소 시간 간격에 대한 정보를 더 포함할 수 있다.
이 때, 상기 후속 프레임 간의 전송 간격은, 수학식 1에 의해 결정될 수 있다.
이 때, 응답 신호는 상기 적어도 하나의 제2 프레임 내에 포함된 상기프레임 개수에 대한 정보를 포함할 수 있다.
이 때, 상기 파라미터 Fn 값은, 상기 제1 프레임 그룹의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정되고, 상기 오프셋 값은 0이고, 상기 D의 값은 D_max와 동일한 조건을 동시에 충족할 때마다 1씩 감소하도록 설정될 수 있다.
상기 파라미터 D_max 값은 상기 Fn 이 0 또는 1인 경우에는 초기값으로 설정되고, 상기 Fn이 1보다 큰 값으로 증가하거나 상기 Fn이 1보다 큰 값에서 감소하는 경우 D_max = Fn * D_max의 초기값으로 설정될 수 있다.
이 때, 상기 파라미터 D 값은 상기 데이터를 구성하는 프레임 그룹의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정되거나, 상기 적어도 하나의 프레임의 전송에 누적되어 실패한 횟수를 음의 정수로 나타낸 값으로 설정되되, 상기 음의 정수 값은 미리 설정된 임계값 이상일 수 있다.
통신부(720)는 프로세서(710)와 연결되어, 데이터 전송 방법을 구현하기 위한 모든 정보를 송신 및/또는 수신한다. 예를 들어, 통신부(720)는 송신 장치(700)로부터 수신 장치(750)로 전송할 상기 데이터의 적어도 일부를 구성하는 제1 프레임 그룹 및 후속하는 제2 프레임 그룹을 전송한다.
메모리(730)는 ROM(read-only memory), RAM(random access memory), 플래시 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 메모리(730)는 데이터 전송 방법을 구현하기 위한 정보를 저장한다. 예를 들어, 메모리(730)는 Fn, D, D_max, ST, STmin 또는 BS, 또는 이들의 조합 중 적어도 하나를 저장한다.
한편, 수신 장치(750)는 프로세서(760), 통신부(770), 메모리(780)를 포함한다.
프로세서(760)는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 프로세서(760)는 본 명세서에서 제안된 수신 장치의 동작들을 구현한다. 프로세서(760)는 송신 장치(700)에 전송하기 위한 플로우 컨트롤 프레임(Flow Control Frame)을 생성한다.
이 때, 상기 플로우 컨트롤 프레임은 블록 사이즈(BS) 또는 최소 시간 간격(STmin, minimum Separation Time)에 대한 정보를 포함할 수 있으며, 상기 최소 시간 간격은 다양한 값을 가질 수 있다. 예를 들어, 상기 STmin은 밀리세컨드의 단위를 나타내는 7바이트 크기의 값으로 표시될 수 있으며, 예를 들어, STmin은 0 내지 127ms 의 시간을 지시할 수 있다.
통신부(770)는 프로세서(760)와 연결되어, 데이터 송수신 방법을 구현하기 위한 모든 정보를 송신 및/또는 수신한다. 예를 들어, 통신부(770)는 송신 장치(700)로부터 최초 프레임 또는 후속 프레임을 수신하고, 이에 대한 응답으로, 송신 장치(700)에 플로우 콘트롤 프레임을 전송한다.
메모리(780)는 ROM(read-only memory), RAM(random access memory), 플래시 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 메모리(1530)는 차량 내 장치의 진단 방법을 구현하기 위한 정보를 저장한다. 예를 들어, 메모리(780)는 플로우 컨트롤 프레임(Flow Control Frame)을 저장한다.
지금까지 설명한 본 발명의 실시예들에 의하면, CAN 통신에서 송수신 제어기들 간에 전송 손실을 최소화할 수 있다.
또한, 네트워크 상황에 맞는 유연한 흐름 제어를 통해 목표한 데이터를 정확하고 신속하게 전송할 수 있다.
또한, 고정된 ST(Separation Time)를 무리하게 사용함으로써 발생할 수 있는 전송 실패 또는 시간 손실을 최소화한다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.

Claims (20)

  1. 차량용 네트워크에서 송신 장치에 의한 데이터 전송 방법에 있어서,
    상기 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임을 수신 장치에 전송하는 단계;
    상기 제1 프레임에 대한 응답 신호를 모니터링하는 단계;
    상기 모니터링 결과를 기반으로 상기 적어도 하나의 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정하는 단계; 및
    상기 응답 신호 및 상기 오프셋 값을 기반으로 상기 적어도 하나의 제2 프레임을 상기 수신 장치에 전송하는 단계
    를 포함하는 데이터 전송 방법.
  2. 제1항에 있어서, 상기 오프셋 값을 결정하는 단계에서,
    상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신된 경우, 상기 오프셋 값은 유지 또는 감소하는 것을 특징으로 하는 데이터 전송 방법.
  3. 제1항에 있어서, 상기 오프셋 값을 결정하는 단계에서,
    상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신되지 않은 경우, 상기 오프셋 값은 증가하고, 상기 제2 프레임은 재전송되는 상기 데이터의 최초 프레임인 것을 특징으로 하는 데이터 전송 방법.
  4. 제1항에 있어서, 상기 오프셋 값은 전송 실패구간수(Fn), 전송 성공 여부에 따라 증감하는 거리값(D), 상기 거리값(D)의 상한(D_max) 값을 기반으로 결정되고, 상기 파라미터 Fn, D, D_max 값은 상기 적어도 하나의 제1 프레임의 전송 결과를 기반으로 결정되는 것을 특징으로 하는 데이터 전송 방법.
  5. 제1항에 있어서, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 간의 최소 시간 간격에 대한 정보를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  6. 제5항에 있어서, 상기 적어도 하나의 제2 프레임 간의 전송 간격은, 아래 수식에 의해 결정될 수 있으며,
    Figure pat00004

    상기 수식에서 상기 STmin은 상기 최소 시간 간격이고, 상기 ST는 상기 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값이고, 상기 Δt는 상기 오프셋 값들 간의 시간 간격인 것을 특징으로 하는 데이터 전송 방법.
  7. 제1항에 있어서, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 내에 포함된 프레임의 개수에 관한 정보를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  8. 제4항에 있어서, 상기 파라미터 Fn 은,
    상기 제1 프레임 그룹의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정되고,
    상기 오프셋 값은 0이고, 상기 D의 값은 D_max와 동일한 조건을 동시에 충족할 때마다 1씩 감소하도록 설정된 것을 특징으로 하는 데이터 전송 방법.
  9. 제4항에 있어서, 상기 파라미터 D_max 는 상기 Fn 이 0 또는 1인 경우에는 초기 설정된 값으로 설정되고, 상기 Fn이 1보다 큰 값으로 증가하거나 상기 Fn이 1보다 큰 값에서 감소하는 경우 Fn 에 상기 초기 설정된 값을 곱한 값으로 설정된 것을 특징으로 하는 데이터 전송 방법.
  10. 제2항에 있어서, 상기 파라미터 D 값은 상기 데이터를 구성하는 프레임 그룹의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정되거나, 상기 적어도 하나의 프레임의 전송에 누적되어 실패한 횟수를 음의 정수로 나타낸 값으로 설정되되, 상기 음의 정수 값은 미리 설정된 임계값 이상인 것을 특징으로 하는 데이터 전송 방법.
  11. 차량용 네트워크에서 데이터를 전송하는 송신 장치에 있어서,
    상기 데이터의 적어도 일부를 구성하는 적어도 하나의 제1 프레임 및 상기 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임을 전송하는 통신부; 및
    상기 적어도 하나의 제1 프레임에 대한 응답 신호를 모니터링하고, 상기 모니터링 결과를 기반으로 상기 적어도 하나의 제1 프레임에 후속하여 전송될 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값을 결정하는 프로세서
    를 포함하되, 상기 통신부는 상기 응답 신호 및 상기 오프셋 값을 기반으로 상기 적어도 하나의 제2 프레임을 상기 수신 장치에 전송하는 것을 특징으로 하는 송신 장치.
  12. 제1항에 있어서, 상기 프로세서는,
    상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신된 경우, 상기 오프셋 값을 유지 또는 감소시키는 것을 특징으로 하는 송신 장치.
  13. 제1항에 있어서, 상기 프로세서는,
    상기 제1 프레임에 대한 응답 신호가 미리 설정된 임계 시간 내에 수신되지 않은 경우, 상기 오프셋 값을 증가시키고, 상기 제2 프레임은 재전송되는 상기 데이터의 최초 프레임인 것을 특징으로 하는 송신 장치.
  14. 제1항에 있어서, 상기 오프셋 값은 전송 실패구간수(Fn), 전송 성공 여부에 따라 증감하는 거리값(D), 상기 거리값(D)의 상한(D_max) 값을 기반으로 결정되고, 상기 파라미터 Fn, D, D_max 값은 상기 적어도 하나의 제1 프레임의 전송 결과를 기반으로 결정되는 것을 특징으로 하는 송신 장치.
  15. 제1항에 있어서, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 간의 최소 시간 간격에 대한 정보를 더 포함하는 것을 특징으로 하는 송신 장치.
  16. 제5항에 있어서, 상기 적어도 하나의 제2 프레임 간의 전송 간격은, 아래 수식에 의해 결정될 수 있으며,
    Figure pat00005

    상기 수식에서 상기 STmin은 상기 최소 시간 간격이고, 상기 ST는 상기 적어도 하나의 제2 프레임 간의 전송 간격에 대한 오프셋 값이고, 상기 Δt는 상기 오프셋 값들 간의 시간 간격인 것을 특징으로 하는 송신 장치.
  17. 제1항에 있어서, 상기 응답 신호는 상기 적어도 하나의 제2 프레임 내에 포함된 프레임의 개수에 관한 정보를 더 포함하는 것을 특징으로 하는 송신 장치.
  18. 제4항에 있어서, 상기 파라미터 Fn 은,
    상기 제1 프레임 그룹의 전송에 연속으로 실패한 전송 결과를 하나의 실패 구간으로 정의하였을 때, 누적된 실패 구간의 개수가 증가할 때마다 1씩 증가하도록 설정되고,
    상기 오프셋 값은 0이고, 상기 D의 값은 D_max와 동일한 조건을 동시에 충족할 때마다 1씩 감소하도록 설정된 것을 특징으로 하는 송신 장치.
  19. 제4항에 있어서, 상기 파라미터 D_max 는 상기 Fn 이 0 또는 1인 경우에는 초기 설정된 값으로 설정되고, 상기 Fn이 1보다 큰 값으로 증가하거나 상기 Fn이 1보다 큰 값에서 감소하는 경우 Fn 에 상기 초기 설정된 값을 곱한 값으로 설정된 것을 특징으로 하는 송신 장치.
  20. 제2항에 있어서, 상기 파라미터 D 값은 상기 데이터를 구성하는 프레임 그룹의 전송에 연속적으로 성공한 횟수를 D_max로 나눈 나머지 값으로 설정되거나, 상기 적어도 하나의 프레임의 전송에 누적되어 실패한 횟수를 음의 정수로 나타낸 값으로 설정되되, 상기 음의 정수 값은 미리 설정된 임계값 이상인 것을 특징으로 하는 송신 장치.
KR1020220167893A 2022-12-05 2022-12-05 차량용 통신 장치 및 이의 데이터 송수신 방법 KR20240083594A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220167893A KR20240083594A (ko) 2022-12-05 2022-12-05 차량용 통신 장치 및 이의 데이터 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220167893A KR20240083594A (ko) 2022-12-05 2022-12-05 차량용 통신 장치 및 이의 데이터 송수신 방법

Publications (1)

Publication Number Publication Date
KR20240083594A true KR20240083594A (ko) 2024-06-12

Family

ID=91469612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220167893A KR20240083594A (ko) 2022-12-05 2022-12-05 차량용 통신 장치 및 이의 데이터 송수신 방법

Country Status (1)

Country Link
KR (1) KR20240083594A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130727A (ko) 2018-05-15 2019-11-25 현대자동차주식회사 차량용 제어기 및 그 데이터 전송 제어방법
KR102339055B1 (ko) 2021-08-12 2021-12-13 김민혁 메시지 수신자의 피드백을 실시간으로 반영하여 최적의 푸시 알림 메시지를 전송할 수 있는 메시징 서비스 서버 및 그 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130727A (ko) 2018-05-15 2019-11-25 현대자동차주식회사 차량용 제어기 및 그 데이터 전송 제어방법
KR102339055B1 (ko) 2021-08-12 2021-12-13 김민혁 메시지 수신자의 피드백을 실시간으로 반영하여 최적의 푸시 알림 메시지를 전송할 수 있는 메시징 서비스 서버 및 그 동작 방법

Similar Documents

Publication Publication Date Title
US11146420B2 (en) Method for transmitting data via a serial communication bus, bus interface, and computer program
JP6110534B2 (ja) 直列バスシステム内でデータ伝送の信頼性を調整するための方法及び装置
CN108599904B (zh) 一种数据传输方法及装置
JP6500875B2 (ja) 車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法
JP2008306592A (ja) 車載通信システム、車載通信装置及び車載通信方法
CN112099464B (zh) 用于车辆的以太网的通信方法
JP2010147590A (ja) Canノード
JP2014529918A (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置
JP5089234B2 (ja) 通信装置
JP2007038904A (ja) 車載ゲートウェイ装置及び同装置におけるメッセージ中継方法
Talbot et al. Comparision of fieldbus systems can, ttcan, flexray and lin in passenger vehicles
US11233736B2 (en) Vehicle gateway and method of controlling the same
US20100217889A1 (en) Accelerated block option for trivial file transfer protocol (tftp)
KR20200136751A (ko) 차량 진단 통신 장치, 그를 포함한 시스템 및 그 방법
US20170134299A1 (en) Method and apparatus for controlling message over heterogeneous network
JP2015065546A (ja) 車両制御装置
JPH10257078A (ja) 車両多重通信装置
KR20240083594A (ko) 차량용 통신 장치 및 이의 데이터 송수신 방법
JP3736460B2 (ja) ゲートウェイおよびこのゲートウェイを用いた分散システム
CN106713142B (zh) 在can总线上传输ip报文的方法及利用can总线网络构建的ip局域网
JP5902844B2 (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置
Umair et al. Communication technologies and network protocols of automotive systems
CN107769897B (zh) 通信设备和重传控制方法
KR101332339B1 (ko) Can 시스템에서 데이터를 전송하는 방법
CN113169966A (zh) 用于监控数据传输系统的方法、数据传输系统和机动车