KR20210026528A - 차량 내 통신 장치 및 그의 시간 동기화 방법 - Google Patents
차량 내 통신 장치 및 그의 시간 동기화 방법 Download PDFInfo
- Publication number
- KR20210026528A KR20210026528A KR1020190107433A KR20190107433A KR20210026528A KR 20210026528 A KR20210026528 A KR 20210026528A KR 1020190107433 A KR1020190107433 A KR 1020190107433A KR 20190107433 A KR20190107433 A KR 20190107433A KR 20210026528 A KR20210026528 A KR 20210026528A
- Authority
- KR
- South Korea
- Prior art keywords
- synchronization
- time
- message
- vehicle communication
- communication device
- 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/40058—Isochronous transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0041—Delay of data signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- 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/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- 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/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- 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/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/027—Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/30—Arrangements in telecontrol or telemetry systems using a wired architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
- Electric Clocks (AREA)
Abstract
본 발명은 차량 내 통신 장치 및 그의 시간 동기화 방법에 관한 것으로, 클럭 신호를 발생시키는 클럭 발생기, 상기 클럭 신호의 펄스 개수를 카운트하는 내부 카운터, 차량 내 통신망을 통해 메시지를 수신하는 트랜시버, 및 상기 트랜시버를 통해 수신된 메시지가 동기화 메시지인지를 확인하고 상기 동기화 메시지로부터 동기화 시간 정보를 추출하고 상기 동기화 시간 정보를 기반으로 상기 내부 카운터의 카운트 값을 조정하여 시간 동기화를 수행하는 프로세서를 포함한다.
Description
본 발명은 차량 내 통신 장치 및 그의 시간 동기화 방법에 관한 것이다.
일반적으로, CAN(Controller Area Network)은 차량 내에서 각 제어기(Electronic Control Unit, ECU)들 간의 통신을 위해 사용되고 있다. 다시 말해서, CAN에 연결된 노드(ECU)들은 서로 데이터 및/또는 정보 등을 주고 받을 수 있다. 각 노드는 CAN 트랜시버(CAN transceiver), CAN 제어부(CAN controller) 및 CPU(Central Processing Unit)로 구성된다.
여러 센서 정보가 복합적으로 처리되는 ADAS(Advanced Driver Assistance Systems) 시스템 등에서는 각 센서 정보의 시간 정보 동기화가 매우 중요하다. 센서들마다 제어기 성능 및 통신 방식이 틀려 센서 데이터를 통합 처리를 할 때 각 센서 데이터의 생성 시간 정보를 기반으로 통합 처리를 해야 한다. 그래서, 각 센서들은 서로 간의 시간 정보를 동기화시킨 후 이 동기화된 시간 정보를 센서 데이터와 함께 전송한다.
이더넷(ethernet) 통신에서는 센서들간의 시간 동기화를 위해 IEEE 1588과 같은 프로토콜 및 하드웨어(H/W)를 사용한다. 그러나, CAN 통신에서는 센서들의 시간 동기화를 위한 별도의 하드웨어 구성이 없고 CPU 내 소프트웨어(S/W) 기능으로 CAN 통신 시간 동기화를 수행할 수 있다.
종래에는 동기화 시간 정보를 포함한 동기화 메시지를 수신하면, CAN 제어부가 동기화 시간 정보를 CAN 노드의 절대 시간 정보에 반영하여 시간 동기화를 수행한다. 그러나, 시간 동기화 시 동기화 시간 정보를 전송하는데 발생되는 지연과 CAN 노드의 시간 동기화 처리로 발생되는 지연은 CAN 노드들 간의 시간 동기화의 오차를 유발할 수 있다.
또한, 종래에는 시간 설정을 소프트웨어로 처리함에 따라 동기 시간과 큰 오차가 발생할 수 있다. 통계적으로 오차 값을 측정한 후 보정할 수 있으나, 차량이 운행이 되면서 CAN 통신의 지연 시간의 변동 및 소프트웨어 동작 시간의 변동 등으로 그 오차를 쉽게 개선하기 어렵다.
본 발명은 하드웨어 기반의 시간 동기화를 처리하는 차량 내 통신 장치 및 그의 시간 동기화 방법을 제공하고자 한다.
상기한 과제를 해결하기 위하여, 본 발명의 일 실시 예에 따른 차량 내 통신 장치는 클럭 신호를 발생시키는 클럭 발생기, 상기 클럭 신호의 펄스 개수를 카운트하는 내부 카운터, 차량 내 통신망을 통해 메시지를 수신하는 트랜시버, 및 상기 트랜시버를 통해 수신된 메시지가 동기화 메시지인지를 확인하고 상기 동기화 메시지로부터 동기화 시간 정보를 추출하고 상기 동기화 시간 정보를 기반으로 상기 내부 카운터의 카운트 값을 조정하여 시간 동기화를 수행하는 프로세서를 포함한다.
상기 차량 내 통신망은 CAN(Controller Area Network)으로 구현되는 것을 특징으로 한다.
상기 프로세서는 CAN 제어부, 오프셋 처리부 및 스케일러를 포함하는 것을 특징으로 한다.
상기 CAN 제어부는 필터를 통해 상기 수신된 메시지 중 상기 동기화 메시지를 필터링하는 것을 특징으로 한다.
상기 필터는 상기 수신된 메시지의 메시지 식별자가 기저장된 동기화 메시지 식별자와 일치하는지를 확인하는 것을 특징으로 한다.
상기 오프셋 처리부는 통신 지연 정보를 반영하여 상기 동기화 시간 정보를 오프셋하는 것을 특징으로 한다.
상기 오프셋 처리부는 동기화 시간과 통신 지연 시간을 더하여 오프셋 동기화 시간을 산출하는 것을 특징으로 한다.
상기 스케일러는 상기 내부 카운터의 구동 주파수를 기반으로 오프셋된 동기화 시간을 스케일링하는 것을 특징으로 한다.
상기 스케일러는 상기 오프셋 동기화 시간과 구동 주파수의 곱셈 연산을 수행하여 스케일링된 카운트 값을 산출하는 것을 특징으로 한다.
상기 스케일러는 상기 스케일링된 카운트 값을 상기 내부 카운터에 반영하는 것을 특징으로 한다.
상기 내부 카운터는 현재 카운트 값을 상기 스케일링된 카운트 값으로 업데이트하는 것을 특징으로 한다.
적어도 하나의 센서, 및 상기 적어도 하나의 센서를 통해 센서 정보를 취득하면 상기 내부 카운터로부터 출력되는 동기화된 카운트 값을 기반으로 상기 센서 정보를 취득한 취득 시간 정보를 확인하고 상기 센서 정보와 상기 취득 시간 정보를 포함하는 송신 메시지를 생성하여 상기 프로세서로 전송하는 상위 처리장치를 더 포함하는 것을 특징으로 한다.
한편, 본 발명의 일 실시 예에 따른 차량 내 통신 장치의 시간 동기화 방법은 프로세서가 차량 내 통신망을 통해 메시지를 수신하는 단계, 상기 프로세서가 상기 수신된 메시지가 동기화 메시지인지를 확인하는 단계, 상기 프로세서가 상기 동기화 메시지로부터 동기화 시간 정보를 추출하는 단계, 및 상기 프로세서가 상기 동기화 시간 정보를 기반으로 시간 동기화를 수행하는 단계를 포함한다.
상기 차량 내 통신망은 CAN(Controller Area Network)으로 구현되는 것을 특징으로 한다.
상기 동기화 메시지인지를 확인하는 단계는, 상기 프로세서 내 CAN 제어부가 상기 수신된 메시지의 메시지 식별자가 기저장된 동기화 메시지 식별자와 일치하는지를 확인하여 상기 수신된 메시지 중 동기화 메시지를 필터링하는 것을 특징으로 한다.
상기 시간 동기화를 수행하는 단계는, 상기 프로세서의 오프셋 처리부가 통신 지연 정보를 반영하여 상기 동기화 시간 정보를 오프셋 처리하는 단계, 상기 프로세서의 스케일러가 내부 카운터의 구동 주파수를 기반으로 오프셋된 동기화 시간 정보를 스케일링하는 단계, 및 상기 스케일러가 스케일링된 카운트 값을 상기 내부 카운터에 반영하는 단계를 포함하는 것을 특징으로 한다.
상기 동기화 시간 정보를 오프셋 처리하는 단계는, 상기 오프셋 처리부가 동기화 시간과 통신 지연 시간을 더하여 오프셋 동기화 시간을 산출하는 것을 특징으로 한다.
상기 스케일링하는 단계는, 상기 스케일러가 상기 오프셋 동기화 시간과 구동 주파수의 곱셈 연산을 수행하여 스케일링된 카운트 값을 산출하는 것을 특징으로 한다.
상기 내부 카운트에 반영하는 단계는, 상기 내부 카운터가 현재 카운트 값을 상기 스케일링된 카운트 값으로 업데이트하는 것을 특징으로 한다.
본 발명에 따르면, 하드웨어 기반의 시간 동기화를 처리함으로써, 센서 정보의 시간 정확성을 높여 ADAS 등의 센서 통합 제어기의 성능을 개선할 수 있다.
또한, 본 발명에 따르면, 동기화 메시지 식별자, 내부 카운터의 구동 주파수, 및 통신 지연 오프셋 값으로 시간 동기화를 위한 모델링을 최적화하여 시간 동기화 기능 구현의 원가를 절감할 수 있다.
도 1은 본 발명과 관련된 CAN 통신 시스템을 개략적으로 도시한 구성도.
도 2는 본 발명의 일 실시 예에 따른 차량 내 통신 장치(100)를 도시한 블록구성도.
도 3은 본 발명의 일 실시 예에 따른 통신 장치의 시간 동기화 방법을 도시한 흐름도.
도 4는 본 발명의 일 실시 예에 따른 시간 동기화에 따른 오차와 종래의 시간 동기화에 따른 오차를 비교 설명하기 위한 도면.
도 2는 본 발명의 일 실시 예에 따른 차량 내 통신 장치(100)를 도시한 블록구성도.
도 3은 본 발명의 일 실시 예에 따른 통신 장치의 시간 동기화 방법을 도시한 흐름도.
도 4는 본 발명의 일 실시 예에 따른 시간 동기화에 따른 오차와 종래의 시간 동기화에 따른 오차를 비교 설명하기 위한 도면.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
센서 정보 취득 시점의 절대 시간 정보를 센서 정보와 함께 실어 보냄으로써, CAN 통신 지연으로 데이터 전송이 늦어지더라도 수신부에서 센서 정보의 취득 시간을 확인하여 다른 센서들의 시간 정보와 동기화를 시켜 센서 정보를 활용할 수 있다.
본 명세서에서는 CAN(Controller Area Network) 네트워크에 연결된 차량 제어장치(Electric Control Unit, ECU)들 간의 데이터 통신을 위하여 시간 동기화를 처리하는 기술을 제시한다.
도 1은 본 발명과 관련된 CAN 통신 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, CAN 통신 시스템은 CAN 버스(bus)에 연결되는 적어도 2개의 CAN 노드(node)(100)들을 포함한다. 여기서, CAN 버스는 데이터가 오고 가는 전송로로, 2가닥 데이터 배선 즉, CAN-로우(low) 배선과 CAN-하이(high) 배선을 포함한다. CAN 노드(100)는 차량에 탑재되는 전자제어장치(ECU)로 구현될 수 있다. 다시 말해서, CAN 노드(100)는 CAN 통신이 가능한 차량 내 통신 장치이다.
도 2는 본 발명의 일 실시 예에 따른 차량 내 통신 장치(100)를 도시한 블록구성도이다.
도 2를 참조하면, 차량 내 통신 장치(이하, 통신 장치, 100)는 클럭 발생기(clock generator)(110), 내부 카운터(local counter)(120), 스토리지(130), CAN 트랜시버(transceiver)(140), 프로세서(processor)(150) 및 상위 처리장치(host processor)(160)를 포함한다.
클럭 발생기(110)는 클럭 신호(클럭 펄스)를 발생시킨다. 클럭 신호는 상위 처리장치(160)의 동작하는 타이밍(timing)을 제어하기 위한 시간 정보로, 동기 신호 또는 타이밍 신호 등으로 불린다.
내부 카운터(120)는 클럭 발생기(110)로부터 출력되는 클럭 신호의 펄스를 카운트하여 카운트 값을 출력한다. 예컨대, 내부 카운터(120)는 클럭 발생기(110)로부터 출력되는 클럭 펄스의 1초 당 펄스 개수를 카운트하여 카운트된 펄스 개수를 출력한다. 내부 카운터(120)로부터 출력되는 카운트 값은 절대 시간 정보를 제공하는데 사용된다.
내부 카운터(120)의 구동 주파수 및 카운터 비트 수는 CAN 통신에서 요구되는 시간 정확성 단위(ms 또는 us)에 맞게 결정되어야 한다. 예를 들어, CAN 통신에서 1ms의 시간 정확성을 보장하기 위해 1KHz 이상의 구동 주파수 및 "년, 월, 일, 시, 분, 초 및 ms"를 표현할 수 있는 카운터 비트 수가 최소로 필요하다.
스토리지(130)는 내부 카운터(120)의 구동 주파수(동작 주파수), 통신 지연 정보(즉, CAN 통신 지연 오프셋 정보), 및/또는 동기화 메시지 식별자(MSG ID) 등을 저장할 수 있다. 구동 주파수, 통신 지연 정보, 및 동기화 메시지 식별자 등은 사용자에 의해 설정될 수 있다. 여기서, 통신 지연 정보는 CAN 통신에 대한 통계적인 평균 지연 시간(동기화 메시지 전송 지연 및 시간 동기화 처리로 인한 지연 등을 포함)을 포함할 수 있다. 통신 지연 정보는 차량 내부 구성에 따라 통신 장치(100)의 통신 지연 시간을 실측하고 향후 변동성을 감안하여 설정되는 최적의 통신 지연 시간을 포함한다. 동기화 메시지 식별자는 동기화 메시지의 우선순위를 높이기 위해 메시지 식별자의 값이 최소가 되도록 설정할 수 있다. 이러한 스토리지(130)는 플래시 메모리(flash memory), 하드디스크(hard disk), SD 카드(Secure Digital Card), 착탈형 디스크 및 웹 스토리지(web storage) 등의 저장매체 중 적어도 하나의 저장매체(기록매체)로 구현될 수 있다.
CAN 트랜시버(이하, 트랜시버)(140)는 CAN 버스를 통해 메시지를 송신(transmitting)하거나 수신(receiving)할 수 있다. 다시 말해서, 트랜시버(140)는 프로세서(150)로부터 전달받은 메시지를 CAN 버스를 통해 전송하거나 또는 CAN 버스를 통해 수신되는 메시지를 프로세서(150)로 전달한다.
프로세서(150)는 트랜시버(140)를 통해 시간 동기화용 메시지(즉, 동기화 메시지)를 수신하고, 수신된 동기화 메시지에 포함된 동기화 정보를 기반으로 내부 카운터(120)의 카운트 값을 보정하여 시간 동기화를 처리한다. 프로세서(150)는 동기화 메시지를 수신할 때마다 자동으로 시간 동기화 동작을 수행한다. 프로세서(150)는 ASIC(Application Specific Integrated Circuit), DSP(Digital Signal Processor), PLD(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), CPU(Central Processing unit), 마이크로 컨트롤러(microcontrollers) 및 마이크로 프로세서(microprocessors) 중 적어도 하나로 구현될 수 있다. 프로세서(150)에는 메모리(미도시)가 탑재될 수 있다. 메모리(미도시)는 프로세서(150)가 기정해진 동작을 수행하도록 프로그래밍된 소프트웨어를 저장할 수 있다. 이러한 메모리(미도시)는 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read Only Memory, ROM), PROM(Programmable Read Only Memory), EEPROM(Electrically Erasable and Programmable ROM), EPROM(Erasable and Programmable ROM) 또는 레지스터 등의 저장매체 중 적어도 하나로 구현될 수 있다.
프로세서(150)는 CAN 제어부(controller)(151), 오프셋 처리부(152), 및 스케일러(scaler)(153)를 포함한다.
CAN 제어부(151)는 트랜시버(140)를 통해 메시지를 수신하거나 송신할 수 있다. CAN 제어부(151)는 트랜시버(140)에 의해 메시지가 수신되면 필터(F)를 통해 수신된 메시지(수신 메시지)가 동기화 메시지인지를 확인한다. 필터(F)는 수신 메시지의 메시지 식별자(MSG ID)를 확인하여 수신 메시지 중 동기화 메시지를 선별한다. 다시 말해서, 필터(F)는 수신 메시지의 메시지 식별자와 스토리지(130)에 기저장된 동기화 메시지 식별자를 비교하여 두 메시지 식별자가 일치하면 수신 메시지를 동기화 메시지로 인식(판단)한다. 한편, 필터(F)는 두 메시지 식별자가 일치하지 않으면 수신 메시지를 일반 메시지로 인식한다.
CAN 제어부(151)는 수신 메시지가 동기화 메시지로 확인되면, 수신 메시지로부터 동기화 시간 정보를 추출한다. 즉, CAN 제어부(151)는 동기화 메시지로부터 동기화 시간을 추출한다.
오프셋 처리부(152)는 추출된 동기화 시간 정보(동기화 정보)에 통신 지연 정보(즉, 통신 지연 시간)를 반영하여 동기화 시간 정보를 오프셋 처리한다. 예를 들어, 오프셋 처리부(152)는 통신 지연 시간이 1ms(=1000us)인 경우 추출된 동기화 시간과 통신 지연 시간을 더하여 오프셋 동기화 시간(=동기화 시간 + 1000us)을 산출할 수 있다.
스케일러(153)는 내부 카운터(120)의 구동 주파수를 기반으로 오프셋된 동기화 시간을 스케일링한다. 다시 말해서, 스케일러(153)는 내부 카운터(120)의 구동 주파수로 바꾸기 위해 오프셋 동기화 시간을 카운트 값으로 스케일링한다. 예컨대, 내부 카운터(120)의 구동 주파수가 32KHz인 경우, 스케일러(153)는 오프셋 동기화 시간과 구동 주파수를 이용하여 스케일링된 카운트 값(=(오프셋 동기화 시간 × 32000Hz)/1000000)을 산출한다. 스케일러(153)는 스케일링된 카운트 값을 내부 카운터(120)에 반영한다. 즉, 내부 카운터(120)는 현재 카운트 값을 스케일링된 카운트 값으로 업데이트한다.
상위 처리장치(160)는 통신 장치(100)에 부여된 특정 기능(예컨대, 센싱 기능)을 수행한다. 이러한 상위 처리장치(160)는 ASIC, CPU(Central Processing unit), 마이크로 컨트롤러(microcontrollers) 또는 마이크로 프로세서(microprocessor) 중 적어도 하나로 구현될 수 있다.
상위 처리장치(160)는 내부 카운터(120)로부터 출력되는 카운트 값 즉, 초당 펄스 개수를 시간 정보(예: 년, 월, 일, 시, 분 및 초)로 변환한다. 여기서, 시간 정보는 동기화된 시간을 의미한다. 상위 처리장치(160)는 카운트 값을 시간 정보로 변환하는 변환기(미도시)를 포함할 수 있다.
상위 처리장치(160)는 센서(S)를 통해 센서 정보를 취득할 수 있다. 여기서, 센서 정보는 센서(S)에 의해 측정된(센싱된) 데이터 즉, 센서 데이터를 의미한다. 상위 처리장치(160)는 센서(S)로부터 출력되는 센서 정보를 취득하면 센서 정보가 취득된 시간(취득 시간)을 확인한다. 상위 처리장치(160)는 내부 카운터(120)로부터 출력되는 카운트 값에 기반한 동기화된 시간을 취득 시간으로 획득한다.
상위 처리장치(160)는 센서 정보를 다른 차량 내 장치로 전송하고자 하는 경우 센서 정보 및 취득 시간(즉, 동기화된 시간)을 포함하는 송신 메시지(transmit message)를 생성한다. 상위 처리장치(160)는 생성된 송신 메시지를 CAN 제어부(151)에 전송한다. CAN 제어부(151)는 송신 메시지를 트랜시버(140)를 통해 전송할 수 있다.
또한, 상위 처리장치(160)는 CAN 제어부(151)로부터 전송되는 수신 메시지(received message)를 전달받으면 수신 메시지를 처리한다. 다시 말해서, CAN 제어부(151)는 수신 메시지가 일반 메시지이면 상위 처리장치(160)로 바이패스(bypass)한다. 상위 처리장치(160)는 수신 메시지에 포함된 센서 정보의 취득 시간을 확인하여 다른 센서들의 시간 정보와 동기화시켜 센서 정보를 활용할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 통신 장치의 시간 동기화 방법을 도시한 흐름도이다.
도 3을 참조하면, 프로세서(150)는 트랜시버(140)를 통해 메시지를 수신한다(S110). 즉, 프로세서(150)는 CAN 통신을 통해 메시지를 수신한다.
프로세서(150)는 수신된 메시지(이하, 수신 메시지)가 동기화 메시지인지를 확인한다(S120). 프로세서(150)는 수신 메시지의 메시지 식별자와 스토리지(130)에 기저장된 동기화 메시지 식별자가 일치하는지를 확인한다. 프로세서(150)는 두 메시지 식별자가 일치하면 수신 메시지를 동기화 메시지로 결정하고, 두 메시지 식별자가 일치하지 않으면 수신 메시지를 일반 메시지로 결정한다.
프로세서(150)는 S120에서 수신 메시지가 동기화 메시지로 확인되면, 수신 메시지에서 동기화 시간 정보를 추출한다(S130). 프로세서(150)는 동기화 메시지에 포함된 동기화 시간을 추출한다.
프로세서(150)는 추출된 동기화 시간 정보에 통신 지연 정보를 반영하여 오프셋 처리한다(S140). 예를 들어, 통신 지연 정보가 1ms인 경우, 프로세서(150)는 추출된 동기화 시간과 통신 지연 정보 1ms(=1000us)를 합하여 오프셋 동기화 시간을 산출한다.
프로세서(150)는 내부 카운터(120)의 구동 주파수를 기반으로 오프셋된 동기화 시간 정보를 스케일링한다(S150). 프로세서(150)는 내부 카운터(120)의 구동 주파수를 고려하여 오프셋 동기화 시간을 카운트 값으로 변환(변경)한다. 예컨대, 내부 카운터(120)의 구동 주파수가 32KHz인 경우, 프로세서(150)는 오프셋 동기화 시간과 구동 주파수를 이용하여 스케일링된 카운트 값(=(오프셋 동기화 시간 × 32000Hz)/1000000)을 산출한다.
프로세서(150)는 스케일링된 카운트 값을 내부 카운터(120)에 반영하여 시간 동기화를 처리한다(S160). 프로세서(150)는 내부 카운터(120)의 현재 카운트 값을 스케일링된 카운트 값으로 업데이트한다.
이후, 상위 처리장치(160)는 센서(S)를 통해 센서 정보를 취득하며 동기화된 시간 정보를 센서 정보의 취득 시간으로 확인하고 센서 정보 및 취득 시간을 이용하여 송신 메시지를 생성하여 전송한다.
한편, S120에서 수신 메시지가 일반 메시지인 경우, 프로세서(150)는 기정해진 절차에 따라 수신 메시지를 처리한다(S170). 예를 들어, 프로세서(150)는 수신 메시지가 일반 메시지이면, 수신 메시지를 상위 처리장치(160)로 바이패스 한다.
도 4는 본 발명의 일 실시 예에 따른 시간 동기화에 따른 오차와 종래의 시간 동기화에 따른 오차를 비교 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 제1통신 장치의 제1CAN 제어부는 시간 동기화가 필요하지 않고, 제2통신 장치의 제2CAN 제어부는 시간 동기화가 필요한 경우, 제1CAN 제어부는 동기화 시간(동기 시간)을 포함한 동기화 메시지를 제2CAN 제어부로 전송할 수 있다. 종래에는 소프트웨어적으로 시간 동기화를 처리함에 따라 10ms의 지연 시간이 발생했으나, 본 발명은 하드웨어적으로 시간 동기화를 처리함으로 시간 동기화 처리로 인한 지연 시간이 0.1ms로 줄였다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: CNA 노드, 차량 내 통신 장치
110: 클럭 발생기
120: 내부 카운터 130: 스토리지
140: CAN 트랜시버 150: 프로세서
151: CAN 제어부 152: 오프셋 처리부
153: 스케일러 160: 상위 처리장치
120: 내부 카운터 130: 스토리지
140: CAN 트랜시버 150: 프로세서
151: CAN 제어부 152: 오프셋 처리부
153: 스케일러 160: 상위 처리장치
Claims (19)
- 클럭 신호를 발생시키는 클럭 발생기,
상기 클럭 신호의 펄스 개수를 카운트하는 내부 카운터,
차량 내 통신망을 통해 메시지를 수신하는 트랜시버, 및
상기 트랜시버를 통해 수신된 메시지가 동기화 메시지인지를 확인하고 상기 동기화 메시지로부터 동기화 시간 정보를 추출하고 상기 동기화 시간 정보를 기반으로 상기 내부 카운터의 카운트 값을 조정하여 시간 동기화를 수행하는 프로세서를 포함하는 차량 내 통신 장치.
- 제1항에 있어서,
상기 차량 내 통신망은 CAN(Controller Area Network)으로 구현되는 것을 특징으로 하는 차량 내 통신 장치.
- 제2항에 있어서,
상기 프로세서는 CAN 제어부, 오프셋 처리부 및 스케일러를 포함하는 것을 특징으로 하는 차량 내 통신 장치.
- 제3항에 있어서,
상기 CAN 제어부는 필터를 통해 상기 수신된 메시지 중 상기 동기화 메시지를 필터링하는 것을 특징으로 하는 차량 내 통신 장치.
- 제4항에 있어서,
상기 필터는 상기 수신된 메시지의 메시지 식별자가 기저장된 동기화 메시지 식별자와 일치하는지를 확인하는 것을 특징으로 하는 차량 내 통신 장치.
- 제3항에 있어서,
상기 오프셋 처리부는 통신 지연 정보를 반영하여 상기 동기화 시간 정보를 오프셋하는 것을 특징으로 하는 차량 내 통신 장치.
- 제6항에 있어서,
상기 오프셋 처리부는 동기화 시간과 통신 지연 시간을 더하여 오프셋 동기화 시간을 산출하는 것을 특징으로 하는 차량 내 통신 장치.
- 제7항에 있어서,
상기 스케일러는 상기 내부 카운터의 구동 주파수를 기반으로 오프셋된 동기화 시간을 스케일링하는 것을 특징으로 하는 차량 내 통신 장치.
- 제8항에 있어서,
상기 스케일러는 상기 오프셋 동기화 시간과 구동 주파수의 곱셈 연산을 수행하여 스케일링된 카운트 값을 산출하는 것을 특징으로 하는 차량 내 통신 장치.
- 제9항에 있어서,
상기 스케일러는 상기 스케일링된 카운트 값을 상기 내부 카운터에 반영하는 것을 특징으로 하는 차량 내 통신 장치.
- 제10항에 있어서,
상기 내부 카운터는 현재 카운트 값을 상기 스케일링된 카운트 값으로 업데이트하는 것을 특징으로 하는 차량 내 통신 장치.
- 제1항에 있어서,
적어도 하나의 센서, 및
상기 적어도 하나의 센서를 통해 센서 정보를 취득하면 상기 내부 카운터로부터 출력되는 동기화된 카운트 값을 기반으로 상기 센서 정보를 취득한 취득 시간 정보를 확인하고 상기 센서 정보와 상기 취득 시간 정보를 포함하는 송신 메시지를 생성하여 상기 프로세서로 전송하는 상위 처리장치를 더 포함하는 것을 특징으로 하는 차량 내 통신 장치.
- 프로세서가 차량 내 통신망을 통해 메시지를 수신하는 단계,
상기 프로세서가 상기 수신된 메시지가 동기화 메시지인지를 확인하는 단계,
상기 프로세서가 상기 동기화 메시지로부터 동기화 시간 정보를 추출하는 단계, 및
상기 프로세서가 상기 동기화 시간 정보를 기반으로 시간 동기화를 수행하는 단계를 포함하는 차량 내 통신 장치의 시간 동기화 방법.
- 제13항에 있어서,
상기 차량 내 통신망은 CAN(Controller Area Network)으로 구현되는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
- 제14항에 있어서,
상기 동기화 메시지인지를 확인하는 단계는,
상기 프로세서 내 CAN 제어부가 상기 수신된 메시지의 메시지 식별자가 기저장된 동기화 메시지 식별자와 일치하는지를 확인하여 상기 수신된 메시지 중 동기화 메시지를 필터링하는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
- 제15항에 있어서,
상기 시간 동기화를 수행하는 단계는,
상기 프로세서의 오프셋 처리부가 통신 지연 정보를 반영하여 상기 동기화 시간 정보를 오프셋 처리하는 단계,
상기 프로세서의 스케일러가 내부 카운터의 구동 주파수를 기반으로 오프셋된 동기화 시간 정보를 스케일링하는 단계, 및
상기 스케일러가 스케일링된 카운트 값을 상기 내부 카운터에 반영하는 단계를 포함하는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
- 제16항에 있어서,
상기 동기화 시간 정보를 오프셋 처리하는 단계는,
상기 오프셋 처리부가 동기화 시간과 통신 지연 시간을 더하여 오프셋 동기화 시간을 산출하는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
- 제17항에 있어서,
상기 스케일링하는 단계는,
상기 스케일러가 상기 오프셋 동기화 시간과 구동 주파수의 곱셈 연산을 수행하여 스케일링된 카운트 값을 산출하는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
- 제16항에 있어서,
상기 내부 카운트에 반영하는 단계는,
상기 내부 카운터가 현재 카운트 값을 상기 스케일링된 카운트 값으로 업데이트하는 것을 특징으로 하는 차량 내 통신 장치의 시간 동기화 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190107433A KR20210026528A (ko) | 2019-08-30 | 2019-08-30 | 차량 내 통신 장치 및 그의 시간 동기화 방법 |
US16/801,471 US11239989B2 (en) | 2019-08-30 | 2020-02-26 | In-vehicle communication device and time synchronization method thereof |
CN202010183105.0A CN112448874B (zh) | 2019-08-30 | 2020-03-16 | 车载通信装置及其时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190107433A KR20210026528A (ko) | 2019-08-30 | 2019-08-30 | 차량 내 통신 장치 및 그의 시간 동기화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210026528A true KR20210026528A (ko) | 2021-03-10 |
Family
ID=74679236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190107433A KR20210026528A (ko) | 2019-08-30 | 2019-08-30 | 차량 내 통신 장치 및 그의 시간 동기화 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11239989B2 (ko) |
KR (1) | KR20210026528A (ko) |
CN (1) | CN112448874B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7059959B2 (ja) * | 2019-02-12 | 2022-04-26 | トヨタ自動車株式会社 | 車載ネットワークシステム |
EP4102777A1 (en) * | 2021-06-09 | 2022-12-14 | Continental Automotive Technologies GmbH | Lin bus system time synchronisation in a motor vehicle |
CN113799714B (zh) * | 2021-09-06 | 2023-04-18 | 东风汽车集团股份有限公司 | 一种adas***多传感器信号时空同步控制***及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2266945C (en) * | 1994-12-09 | 2002-04-02 | Brent Townshend | High speed encoder and encoding method |
JPH09138243A (ja) * | 1995-10-25 | 1997-05-27 | Hewlett Packard Co <Hp> | 捕捉クロックの位相変調装置 |
US6249526B1 (en) * | 1997-06-30 | 2001-06-19 | Intel Corporation | Versatile time division multiple access slot assignment unit |
US20040139238A1 (en) * | 2000-12-27 | 2004-07-15 | Luhrs Peter A. | Programmable switching system |
CN1633780A (zh) * | 2001-05-01 | 2005-06-29 | 皇家菲利浦电子有限公司 | 无线通信方案 |
SE525273C2 (sv) * | 2002-01-07 | 2005-01-18 | Kvaser Consultant Ab | Distribuerat styr- och övervakningssystem |
EP1355458B1 (en) * | 2002-04-16 | 2005-09-21 | ROBERT BOSCH GmbH | Method for transmitting data within a communication system |
US7084898B1 (en) * | 2003-11-18 | 2006-08-01 | Cisco Technology, Inc. | System and method for providing video conferencing synchronization |
JP4401239B2 (ja) * | 2004-05-12 | 2010-01-20 | Necエレクトロニクス株式会社 | 通信メッセージ変換装置、通信方法及び通信システム |
KR101472896B1 (ko) * | 2013-12-13 | 2014-12-16 | 현대자동차주식회사 | 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치 |
US11115433B2 (en) * | 2015-06-29 | 2021-09-07 | Argus Cyber Security Ltd. | System and method for content based anomaly detection in an in-vehicle communication network |
JP6523497B1 (ja) * | 2018-01-17 | 2019-06-05 | 三菱電機株式会社 | マスタ制御装置およびこれを用いた同期通信システム |
-
2019
- 2019-08-30 KR KR1020190107433A patent/KR20210026528A/ko unknown
-
2020
- 2020-02-26 US US16/801,471 patent/US11239989B2/en active Active
- 2020-03-16 CN CN202010183105.0A patent/CN112448874B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US11239989B2 (en) | 2022-02-01 |
US20210067311A1 (en) | 2021-03-04 |
CN112448874A (zh) | 2021-03-05 |
CN112448874B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210026528A (ko) | 차량 내 통신 장치 및 그의 시간 동기화 방법 | |
US10146725B2 (en) | Method and device for checking the correct functioning of a serial data transmission | |
US5566180A (en) | Method for recognizing events and synchronizing clocks | |
US7620075B2 (en) | Serial communication system with baud rate generator | |
CN109669899B (zh) | 自适应调节串口通信波特率的方法及串口装置 | |
US7383458B2 (en) | Method and device for synchronizing the cycle time of a plurality of TTCAN buses based on determined global time deviations and corresponding bus system | |
JP2008518497A (ja) | シリアルデータバスのためのスレーブバスサブスクライバ | |
EP3451577A1 (en) | Computing device, authentication system, and authentication method | |
CN102170347B (zh) | 同步信号检测装置 | |
CN103116322A (zh) | 微调可调振荡器以匹配 can 总线的方法及can 总线通信控制器 | |
JP2007060400A (ja) | 通信タイミング制御方法および通信タイミング制御システム | |
JP2007282093A (ja) | クロック信号発生装置及び方法 | |
KR20030084984A (ko) | 버스 시스템의 적어도 하나의 노드의 동기화를 위한 방법및 장치 및 이에 상응하는 버스 시스템 | |
CN112106314A (zh) | 用于确定同步精度的方法、计算机程序、通信单元和机动车 | |
CN102081400B (zh) | 一种事件顺序记录模块及其调整方法 | |
WO2004105278A1 (en) | Time-triggered communication system and method for the synchronization of a dual-channel network | |
JP2020195056A (ja) | 時刻同期プログラム,情報処理装置及び時刻同期方法 | |
JP2012178770A (ja) | 時刻同期システム | |
JP2001324584A (ja) | 時刻同期装置、時刻同期システム及び時刻同期装置の制御方法 | |
US20020095612A1 (en) | Method and system for synchronizing users of a communications link | |
US20050041765A1 (en) | Synchronization of data-processing units | |
US11507525B2 (en) | High speed communication system | |
JPH11153630A (ja) | 不正確なクロック信号の測定及び補償方法及び装置 | |
JP4591961B2 (ja) | 1線式データ通信方式における通信装置 | |
CN102970092A (zh) | 确定时钟信号质量 |