KR101462553B1 - 이더넷을 이용한 제어기 영역 네트워크 통신들 - Google Patents

이더넷을 이용한 제어기 영역 네트워크 통신들 Download PDF

Info

Publication number
KR101462553B1
KR101462553B1 KR1020130074652A KR20130074652A KR101462553B1 KR 101462553 B1 KR101462553 B1 KR 101462553B1 KR 1020130074652 A KR1020130074652 A KR 1020130074652A KR 20130074652 A KR20130074652 A KR 20130074652A KR 101462553 B1 KR101462553 B1 KR 101462553B1
Authority
KR
South Korea
Prior art keywords
data packet
ethernet data
ethernet
module
node
Prior art date
Application number
KR1020130074652A
Other languages
English (en)
Other versions
KR20140012887A (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 브로드콤 코포레이션
Publication of KR20140012887A publication Critical patent/KR20140012887A/ko
Application granted granted Critical
Publication of KR101462553B1 publication Critical patent/KR101462553B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • 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]
    • 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/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40163Bus networks involving priority mechanisms by assigning priority to messages according to a message field
    • 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/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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

Landscapes

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

Abstract

이더넷을 이용하여 제어기 영역 네트워크(CAN : controller area network) 노드들 사이에서 CAN 통신들을 구현하기 위한 시스템들 및 방법들이 제공된다. 이더넷 스위치는 CAN 노드로부터 이더넷 데이터 패킷(EDP : Ethernet data packet)을 수신하도록 각각 구성되는 포트들을 포함한다. 각각의 EDP는 대응하는 CAN 노드의 식별자(ID)를 포함하는 CAN 메시지를 포함한다. 제 1 포트는 제 1 EDP를 수신하도록 구성되고, 제 2 포트는 제 2 EDP를 수신하도록 구성된다. 또한, 이더넷 스위치는 제 1 EDP 및 제 2 EDP 사이에서 CAN 충돌을 검출하도록 구성된 제어기 모듈을 포함한다. 제어기 모듈은 CAN 충돌의 검출에 따라, 제 1 EDP에 대응하는 ID 및 제 2 EDP에 대응하는 ID에 기초하여 제 1 EDP 또는 제 2 EDP를 선택하도록 구성된다. 제어기 모듈은 선택된 EDP를 목적지로 라우팅하도록 구성된다.

Description

이더넷을 이용한 제어기 영역 네트워크 통신들{CONTROLLER AREA NETWORK COMMUNICATIONS USING ETHERNET}
관련 출원들에 대한 상호-참조
본 출원은 2012년 7월 23일자로 출원된 "Ethernet Adaptation Layer Function for CAN Controller"라는 명칭의 미국 특허 가출원 제61/674,828호의 이익을 주장하고, 그 전체는 모든 목적들을 위하여 참조로 본 명세서에 통합된다.
본 발명은 일반적으로 네트워크 통신들에 관한 것으로, 특히, 이더넷을 이용한 제어기 영역 네트워크(CAN : Controller Area Network) 통신들에 관한 것이다.
CAN 버스(bus)는 마이크로제어기들 및 장치들이 차량 또는 다른 제어 시스템들 내에서 서로 통신하도록 설계된 차량 버스 표준을 이용한다. CAN 버스는 자동차 응용들을 위해 설계되고 그 기능적 구역에 특정한 메시지-기반 프로토콜(message-based protocol)들을 이용할 수 있지만, 산업 자동화 및 의료 장비와 같은 다른 분야들에서 이용될 수도 있다.
본 발명은 이더넷을 이용하여 제어기 영역 네트워크(CAN : controller area network) 노드들 사이에서 CAN 통신들을 구현하기 위한 시스템들 및 방법들을 제공하는 것을 목적으로 한다.
일 측면에 따르면, 복수의 제어기 영역 네트워크(CAN : controller area network) 노드들 사이에서 CAN 통신들을 구현하기 위한 이더넷 스위치(Ethernet switch)가 제공되고, 상기 이더넷 스위치는:
각각의 CAN 노드로부터 이더넷 데이터 패킷을 수신하도록 각각 구성되는 복수의 포트들로서, 각각의 이더넷 데이터 패킷은 CAN 메시지를 포함하고, 각각의 CAN 메시지는 대응하는 CAN 노드의 식별자(ID : identification)를 포함하는, 상기 복수의 포트들; 및
상기 복수의 포트들 중의 제 1 포트에서 수신된 제 1 이더넷 데이터 패킷 및 상기 복수의 포트들 중의 제 2 포트에서 수신된 제 2 이더넷 데이터 패킷 사이의 CAN 충돌을 검출하도록 구성된 제어기 모듈을 포함하고,
상기 제어기 모듈은 상기 CAN 충돌의 검출에 따라, 상기 제 1 이더넷 데이터 패킷에 대응하는 ID 및 상기 제 2 이더넷 데이터 패킷에 대응하는 ID에 기초하여 상기 제 1 이더넷 데이터 패킷 또는 상기 제 2 이더넷 데이터 패킷을 선택하도록 구성되고,
상기 제어기 모듈은 상기 선택된 이더넷 데이터 패킷을 목적지로 라우팅(routing)하도록 더 구성된다.
바람직하게는, 상기 복수의 CAN 노드들의 각각은 CAN 제어기 및 이더넷 적응 모듈(Ethernet adaptation module)을 포함한다.
바람직하게는, 상기 CAN 충돌(conflict)은 상기 제 1 이더넷 데이터 패킷 및 상기 제 2 이더넷 데이터 패킷을 동시에 수신하는 것을 포함한다.
바람직하게는, 상기 선택된 이더넷 데이터 패킷은 상기 제 1 이더넷 데이터 패킷이고, 상기 제 1 이더넷 데이터 패킷에 대응하는 ID는 상기 제 2 이더넷 데이터 패킷에 대응하는 ID보다 작다.
바람직하게는, 상기 제어기 모듈은 상기 제 1 이더넷 데이터 패킷이 라우팅된 후에 송신 사이클에 따라 상기 제 2 이더넷 데이터 패킷을 라우팅하도록 더 구성된다.
바람직하게는, 상기 제어기 모듈은 상기 선택된 이더넷 데이터 패킷의 목적지를 결정하도록 더 구성된다.
바람직하게는, 상기 목적지는, a) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 중의 단일 CAN 노드, b) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 중의 2개 이상의 CAN 노드들, 또는 c) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 전부를 포함한다.
바람직하게는, 상기 이더넷 스위치는 상기 제어기 모듈에 결합된 클록 모듈을 더 포함하고, 상기 클록 모듈은 송신 클록을 발생하도록 구성되고, 상기 제어기 모듈은 상기 송신 클록에 기초하여 상기 선택된 이더넷 데이터 패킷을 라우팅하도록 구성된다.
바람직하게는, 상기 클록 모듈은 주 기준 클록(primary reference clock)을 수신하고 상기 주 기준 클록에 기초하여 상기 송신 클록을 발생하도록 구성된다.
바람직하게는, 상기 제어기 모듈은 목적지에 의해 지원되는 대역폭에서 상기 선택된 이더넷 데이터 패킷을 상기 목적지로 라우팅하도록 구성된다.
바람직하게는, 상기 제어기 모듈은 CAN 메시지 에러를 검출하고 상기 CAN 메시지 에러의 검출에 기초하여 이더넷 불량 메시지(Ethernet fault message)를 상기 복수의 CAN 노드들 중의 하나 이상으로 송신하도록 구성된다.
일 측면에 따르면, 이더넷을 이용하여 CAN 통신들을 구현하기 위한 제어기 영역 네트워크(CAN : controller area network) 노드가 제공되고, 상기 CAN 노드는:
상기 CAN 노드의 제 1 식별자(ID)를 포함하는 제 1 CAN 메시지를 발생하도록 구성된 CAN 모듈;
상기 제 1 CAN 메시지에 기초하여 제 1 이더넷 데이터 패킷을 발생하고, 이더넷 링크를 통해 상기 제 1 이더넷 데이터 패킷을 목적지로 송신하기 위한 트랜시버(transceiver)에 상기 제 1 이더넷 데이터 패킷을 제공하도록 구성된 이더넷 적응 모듈(Ethernet adaptation module)로서, 상기 이더넷 적응 모듈은 상기 트랜시버로부터 제 2 이더넷 데이터 패킷을 수신하도록 더 구성되고, 상기 제 2 이더넷 데이터 패킷은 상기 이더넷 링크를 통해 상기 트랜시버에 의해 검출되고, 상기 제 2 이더넷 데이터 패킷은 제 2 CAN 메시지를 포함하고, 상기 제 2 CAN 메시지는 제 2 ID를 포함하고, 상기 이더넷 적응 모듈은 상기 제 2 이더넷 데이터 패킷으로부터 상기 제 2 CAN 메시지를 추출하도록 더 구성되는, 상기 이더넷 적응 모듈; 및
상기 제 1 ID 및 상기 제 2 ID를 비교하고, 상기 제 1 ID 및 상기 제 2 ID의 비교에 기초하여 상기 제 1 이더넷 데이터 패킷의 송신이 성공적인지를 결정하도록 구성된 검증 모듈을 포함한다.
바람직하게는, 상기 이더넷 적응 모듈은 상기 제 1 CAN 메시지를 상기 제 1 이더넷 데이터 패킷으로서 캡슐화(encapsulate)하도록 구성된다.
바람직하게는, 상기 CAN 노드는 트랜시버(transceiver)를 더 포함하고, 상기 트랜시버는 상기 제 1 이더넷 데이터 패킷을 목적지로 송신하도록 구성되고, 상기 제 1 CAN 메시지는 상기 제 1 CAN 메시지를 송신하기 위한 송신 시간 정보를 포함하고, 상기 트랜시버는 상기 송신 시간 정보에 따라 상기 제 1 이더넷 데이터 패킷을 송신하도록 구성된다.
바람직하게는, 상기 이더넷 적응 모듈은 이더넷 불량 메시지를 검출하고 상기 이더넷 불량 메시지의 검출에 기초하여 CAN 메시지 에러를 상기 CAN 모듈에 제공하도록 구성된다.
바람직하게는, 상기 이더넷 링크는 공유된 이더넷 버스(shared Ethernet bus)를 포함한다.
일 측면에 따르면, 이더넷을 이용하여 복수의 CAN 노드들 사이에서 CAN 통신들을 구현하기 위한 방법으로서, 상기 방법은:
상기 복수의 CAN 노드들 중의 제 1 CAN 노드로부터 제 1 이더넷 데이터 패킷을 수신하는 단계로서, 상기 제 1 이더넷 데이터 패킷은 제 1 CAN 메시지를 포함하고, 상기 제 1 CAN 메시지는 상기 제 1 CAN 노드의 제 1 식별자(ID)를 포함하는, 상기 제 1 이더넷 데이터 패킷을 수신하는 단계;
상기 복수의 CAN 노드들 중의 제 2 CAN 노드로부터 제 2 이더넷 데이터 패킷을 수신하는 단계로서, 상기 제 2 이더넷 데이터 패킷은 제 2 CAN 메시지를 포함하고, 상기 제 2 CAN 메시지는 상기 제 2 CAN 노드의 제 2 ID를 포함하는, 상기 제 2 이더넷 데이터 패킷을 수신하는 단계;
상기 제 1 이더넷 데이터 패킷 및 상기 제 2 이더넷 데이터 패킷 사이에서 CAN 충돌을 검출하는 단계;
상기 CAN 충돌의 검출에 따라, 상기 제 1 ID 및 상기 제 2 ID에 기초하여 상기 제 1 이더넷 데이터 패킷 또는 상기 제 2 이더넷 데이터 패킷을 선택하는 단계;
상기 선택된 이더넷 데이터 패킷의 목적지를 결정하는 단계; 및
상기 선택된 이더넷 데이터 패킷을 상기 목적지로 라우팅하는 단계를 포함한다.
바람직하게는, 상기 선택된 이더넷 데이터 패킷은 상기 제 1 이더넷 데이터 패킷이고, 상기 목적지는 상기 복수의 CAN 노드들의 세트(set)를 포함하는 제 1 목표 위치이고, 상기 방법은 상기 제 2 이더넷 데이터 패킷의 제 2 목표 위치를 결정하는 단계를 더 포함하고, 상기 제 2 목표 위치는 상기 복수의 CAN 노드들의 세트를 제외한 상기 복수의 CAN 노드들 중의 적어도 하나를 포함한다.
바람직하게는, 상기 방법은 상기 제 1 이더넷 데이터 패킷을 상기 제 1 목표 위치로 그리고 상기 제 2 이더넷 데이터 패킷을 상기 제 2 목표 위치로 동시에 라우팅하는 단계를 더 포함한다.
바람직하게는, 상기 선택된 이더넷 데이터 패킷은 이더넷 링크를 통해 목적지로 라우팅되고, 상기 이더넷 링크는 공유된 이더넷 버스를 포함한다.
본 발명에 따르면, 이더넷을 이용하여 제어기 영역 네트워크(CAN : controller area network) 노드들 사이에서 CAN 통신들을 구현하기 위한 시스템들 및 방법들이 실현될 수 있다.
본 발명의 이해를 더욱 제공하기 위하여 포함되고 본 명세서의 일부를 구성하는 첨부 도면들은 본 발명의 측면들을 예시하고, 상세한 설명과 함께, 본 발명의 원리들을 설명하도록 작용한다.
도 1은 본 발명의 다양한 측면들에 따라, 이더넷 링크들을 통해 CAN 노드들 사이에서 CAN 통신들을 구현하기 위한 이더넷 스위치를 포함하는 차량의 예를 예시한다.
도 2는 본 발명의 다양한 측면들에 따라, 이더넷 스위치(102) 및 CAN 노드들의 구성요소들을 예시하는 블록도이다.
도 3은 본 발명의 다양한 측면들에 따라, 이더넷 링크들을 통해 CAN 노드들 사이에서 CAN 통신들을 구현하기 위한 방법의 예를 예시한다.
도 4는 본 발명의 다양한 측면들에 따라, 제어기의 구성요소들을 예시하는 블록도이다.
다음의 상세한 설명에서, 다수의 특정한 세부사항들은 본 발명의 완전한 이해를 제공하기 위하여 기술되어 있다. 그러나, 본 발명은 이 특정한 세부사항들의 일부 없이도 실시될 수 있다는 것이 명백할 것이다. 다른 사례들에서, 구조들 및 기술들은 본 발명을 모호하게 하지 않기 위하여 상세하게 도시되지 않았다.
차량은 서브시스템(subsystem)들을 위한 몇 개 내지 150개 이상만큼 많은 전자 제어 유닛(ECU : electronic control unit)들을 가질 수 있다. 하나의 ECU는 자동차 내의 엔진 제어 유닛(또한, 엔진 제어 모듈(ECM : engine control module)) 또는 파워트레인 제어 모듈(PCM : Powertrain Control Module)이다. 다른 ECU들은 변속, 에어백(airbag)들, 잠금방지 제동(antilock braking), 크루즈 제어(cruise control), 전기식 파워 스티어링(electric power steering), 오디오 시스템들, 윈도우(window)들, 도어(door)들, 미러 조절, 하이브리드/전기 자동차를 위한 배터리 및 재충전 시스템들, 등을 위해 이용될 수 있다. 이 ECU들 중의 일부는 독립적 서브시스템들을 형성할 수 있지만, 다른 것들 사이의 통신들이 중요하다. 서브시스템은 액튜에이터(actuator)들을 제어하거나 센서(sensor)들로부터 피드백을 수신할 필요가 있을 수 있다.
CAN 표준은 ECU들과 같은 상이한 CAN 노드들을 접속하기 위한 멀티-마스터 브로드캐스트 직렬 버스 표준(multi-master broadcast serial bus standard)이다. 노드들은 (예를 들어, 호스트 프로세서 및 CAN 제어기를 통해) CAN 버스에 접속될 수 있다. 각각의 노드는 메시지들을 송신 및 수신할 수 있다. 메시지는 데이터(예를 들어, 8개에 이르는 데이터 바이트들 이상)와, 메시지의 우선순위를 나타내기 위하여 이용될 수 있는 대응하는 노드의 식별자(ID)를 포함한다. 메시지는 CAN 버스 상으로 직렬로 송신될 수 있다. 송신된 신호 패턴은 비-제로-복귀(NRZ : non-return-to-zero) 라인 코드에 따라 인코딩될 수 있고 모든 노드들에 의해 감지될 수 있다.
버스가 유휴(free) 상태인 경우, 임의의 노드는 송신하기 시작할 수 있다. 2개 이상의 노드들이 동시에 메시지들을 송신하기 시작하는 경우, 더욱 우성(dominant)인 ID(예를 들어, 더 많은 우성 비트들, 즉, 제로(zero)들을 가짐)를 갖는 메시지는 다른 노드들의 덜 우성인 ID들을 무효화할 수 있으므로, 궁극적으로, 가장 우성인 ID를 갖는 메시지들만 남고 이 메시지들이 모든 노드들에 의해 수신된다. 어느 메시지를 송신할 것인지를 결정하는 이 메커니즘은 중재(arbitration)(예를 들어, 우선순위 기반 버스 중재)라고 지칭될 수 있다. 예를 들어, ID들의 수치적으로 더 낮은 값들을 갖는 메시지들은 더 높은 우선순위를 가지고, 그러므로, 중재에서 이길 수 있고 가장 먼저 송신할 수 있다.
본 발명의 다양한 측면들에 따르면, CAN 중재 프로세스를 포함하는 CAN 통신들은 이더넷을 이용하여 구현될 수 있다. 이더넷은 다수의 네트워크화된 컴퓨팅 장치들에 의해 이용되는 친숙한 표준이고, 그 중에서도, 더 높은 대역폭, 다른 네트워크 프로토콜들과의 컨버전스(convergence), 스위칭 동작들, 및 통신 시의 에러들을 진단 및 수리(troubleshooting)하기 위한 양호하게 정의된 세트(set)의 불량 에러(fault error)들을 제공한다. 따라서, CAN 프로토콜 호환 통신들은 이더넷을 이용하여 더 신속하고 더 효율적인 방식으로 구현될 수 있다.
도 1은 본 발명의 다양한 측면들에 따라, 이더넷 링크들(106a, 106b, 106c 및 106d)을 통해 CAN 노드들(104a, 104b, 104c 및 104d) 사이에서 CAN 통신들을 구현하기 위한 이더넷 스위치(102)를 포함하는 차량(100)의 예를 예시한다. 일부 측면들에서, CAN 노드들(104a, 104b, 104c 및 104d)은 엔진 제어, 변속 제어, 에어백들, 잠금방지 제동, 크루즈 제어, 전기식 파워 스티어링, 오디오 시스템들, 윈도우들, 도어들, 미러 조절, 하이브리드/전기 자동차를 위한 배터리 및 재충전 시스템들, 조명, 파워 록(power lock)들, 및/또는 다른 기능들을 위해 이용되는 ECU들일 수 있다. 4개의 CAN 노드들만 도 1에 예시되어 있지만, CAN 통신들은 임의의 수의 CAN 노드들에 대한 이더넷을 이용하여 구현될 수 있다는 것을 이해해야 한다. 또한, 다수의 CAN 버스들은 동일한 이더넷 버스를 이용하여 구현될 수 있다는 것을 이해해야 한다. 또한, 하나 이상의 CAN 통신들을 각각 지원하는 다수의 이더넷 버스들이 구현될 수 있다는 것을 이해해야 한다. 어떤 측면들에 따르면, 송신하기 위한 CAN 메시지를 갖는 CAN 노드(예를 들어, CAN 노드(104a))는 CAN 메시지를 이더넷 데이터 패킷으로 변환하는 이더넷 적응 모듈(Ethernet adaptation module)을 포함할 수 있다. 이 이더넷 데이터 패킷은 이더넷 링크(예를 들어, 이더넷 링크(106a))를 통해 이더넷 스위치(102)에 의해 수신될 수 있고, 그 다음으로, 이 이더넷 스위치(102)는 이더넷 데이터 패킷을 하나 이상의 이더넷 링크들(예를 들어, 이더넷 링크들(106b, 106c 및 106d))을 통해 하나 이상의 수신 CAN 노드들(예를 들어, CAN 노드들(104b, 104c 및 104d))에 송신할 수 있다. 하나 이상의 수신 CAN 노드들은 이더넷 데이터 패킷을 원래의 CAN 메시지로 변환하는 이더넷 적응 모듈들을 각각 포함할 수 있다. 어떤 측면들에 따르면, 이더넷 스위치(102)는 하나 이상의 수신 CAN 노드들에 라우팅(routing) 되어야 할 이더넷 데이터 패킷들의 우선순위를 정하기 위한 CAN 중재 프로세스를 구현할 수 있다.
도 2는 본 발명의 다양한 측면들에 따라, 이더넷 스위치(102) 및 CAN 노드들(104a, 104b, 104c 및 104d)의 구성요소들을 예시하는 블록도이다. 이더넷 스위치(102)는 포트들(206a, 206b, 206c 및 206d), 스위치 제어기 모듈(202), 및 클록 모듈(204)을 포함하고, 이들은 서로 통신하고 있다. CAN 노드(104a)는 이더넷 적응 모듈(208a), CAN 모듈(210a), 검증 모듈(212a), 및 물리 계층(PHY) 모듈(214a)을 포함하고, 이들은 서로 통신하고 있다. 이와 유사하게, CAN 노드(104b)는 이더넷 적응 모듈(208b), CAN 모듈(210b), 검증 모듈(212b), 및 PHY 모듈(214b)을 포함한다. CAN 노드(104c)는 이더넷 적응 모듈(208c), CAN 모듈(210c), 검증 모듈(212c), 및 PHY 모듈(214c)을 포함한다. CAN 노드(104d)는 이더넷 적응 모듈(208d), CAN 모듈(210d), 검증 모듈(212d), 및 PHY 모듈(214d)을 포함한다. 일부 측면들에서, 모듈들은 소프트웨어(예를 들어, 서브루틴들 및 코드)로 구현될 수 있다. 일부 측면들에서, 모듈들의 일부 또는 전부는 하드웨어(예를 들어, 어플리케이션 특정 집적 회로(ASIC : Application Specific Integrated Circuit), 필드 프로그램가능 게이트 어레이(FPGA : Field Programmable Gate Array), 프로그램가능 로직 장치(PLD : Programmable Logic Device), 제어기, 상태 머신, 게이팅된 로직(gated logic), 이산(discrete) 하드웨어 부품들, 또는 임의의 다른 적당한 장치들) 및/또는 이 둘의 조합으로 구현될 수 있다. 본 발명의 다양한 측면들에 따른 이 모듈들의 추가적인 특징들 및 기능들은 본 개시 내용에서 더욱 설명된다.
어떤 측면들에 따르면, CAN 모듈(예를 들어, CAN 모듈들(210a, 210b, 210c 또는 210d)은 CAN 메시지들을 발생하기 위한 로직, 회로, 및/또는 코드를 포함한다. 하나 이상의 구현예들에서, CAN 모듈은 CAN 제어기를 포함한다. 각각의 CAN 메시지는 데이터와, 대응하는 CAN 노드의 식별자(ID)를 포함한다. 예를 들어, CAN 모듈(210a)은 데이터와, CAN 노드(104a)의 ID를 포함하는 CAN 메시지를 발생할 수 있다. 이더넷 적응 모듈(예를 들어, 이더넷 적응 모듈들(208a, 208b, 208c, 또는 208d))은 대응하는 CAN 모듈로부터 수신된 CAN 메시지에 기초하여 이더넷 데이터 패킷을 발생하기 위한 로직, 회로, 및/또는 코드를 포함한다. 어떤 측면들에 따르면, 이더넷 적응 모듈은 CAN 메시지를 이더넷 데이터 패킷으로서 캡슐화(encapsulate)할 수 있고, 이에 따라, CAN 메시지가 이더넷 링크를 통해 송신되도록 할 수 있다. PHY 모듈(예를 들어, PHY 모듈들(214a, 214b, 214c, 또는 214d))은 다른 네트워크 장비와의 통신들을 지원하기 위한 로직, 회로, 인터페이스들, 및/또는 코드를 포함한다. 어떤 측면들에 따르면, PHY 모듈은 트랜시버(transceiver)(예를 들어, 수신기 및 송신기), 스크램블러(scrambler), 디스크램블러(descrambler), 하나 이상의 디지털 신호 프로세싱 블록들, 및/또는 다른 네트워크 장치와의 통신들을 지원하기 위한 다른 구성요소들을 포함할 수 있다. PHY 모듈은 이더넷 적응 모듈로부터 이더넷 데이터 패킷을 수신할 수 있고, 이더넷 링크(예를 들어, 이더넷 링크들(106a, 106b, 106c, 및 106d))를 통해 이더넷 데이터 패킷을 이더넷 스위치(102)에 제공할 수 있다.
본 발명의 다양한 측면들에 따르면, 이더넷 스위치(102)는 포트들(206a, 206b, 206c, 및 206d)을 포함하고, 포트들의 각각은 이더넷 데이터 패킷을 각각의 CAN 노드로부터 수신하도록 구성된다(예를 들어, 포트(206a)는 이더넷 링크(106a)를 통해 CAN 노드(104a)의 PHY 모듈(214a)로부터 이더넷 데이터 패킷을 수신하고, 포트(206b)는 이더넷 링크(106b)를 통해 CAN 노드(104b)의 PHY 모듈(214b)로부터 이더넷 데이터 패킷을 수신하고, 포트(206c)는 이더넷 링크(106c)를 통해 CAN 노드(104c)의 PHY 모듈(214c)로부터 이더넷 데이터 패킷을 수신하고, 포트(206d)는 이더넷 링크(106d)를 통해 CAN 노드(104d)의 PHY 모듈(214d)로부터 이더넷 데이터 패킷을 수신한다). 포트(예를 들어, 포트들(206a, 206b, 206c, 또는 206d)는 수신된 데이터 패킷을 스위치 제어기 모듈(202)에 제공할 수 있고, 스위치 제어기 모듈(202)은 다른 네트워크 장비와의 통신들을 지원하기 위한 로직, 회로, 및/또는 코드를 포함한다. 어떤 측면들에 따르면, 스위치 제어기 모듈(202) 및/또는 포트(예를 들어, 포트(206a, 206b, 206c, 또는 206d)는 트랜시버(예를 들어, 수신기 및 송신기), 스크램블러, 디스크램블러, 하나 이상의 디지털 신호 프로세싱 블록들, 및/또는 다른 네트워크 장비와의 통신들을 지원하기 위한 다른 구성요소들을 포함할 수 있다. 일부 측면들에서, 스위치 제어기 모듈(202)은 이더넷 데이터 패킷을 대응하는 포트를 통해 목적지로 라우팅(routing)하도록 구성된다.
어떤 측면들에 따르면, 클록 모듈(204)은 스위치 제어기 모듈(202)이 타이밍 사이클(timing cycle)들에 따라 데이터 패킷들을 송신 및 수신하는 것을 가능하게 하기 위한 로직, 회로, 및/또는 코드를 포함한다. CAN 메시지는 CAN 메시지를 송신하기 위한 희망하는 시간, 및/또는 CAN 메시지가 에러로 간주되기 전에 CAN 메시지가 그 의도된 목적지로 전달될 수 있는 시간에 관한 정보를 포함할 수 있다. 이와 관련하여, 스위치 제어기 모듈(202)은 이 타이밍 정보를 추출할 수 있고, 클록 모듈(204)은 이더넷 데이터 패킷을 그 의도된 목적지로 송신하기 위하여 용인가능한 시간(예를 들어, 송신 클록)을 결정할 수 있다. 클록 모듈(204)은 (예를 들어, 자유-동작(free-running) 크리스탈 발진기(crystal oscillator)로부터) 발생할 수 있거나 또 다른 네트워크 구성요소(예를 들어, 또 다른 스위치)로부터 수신할 수 있는 주 기준 클록(primary reference clock)을 이용하여 송신 클록을 결정할 수 있다. 스위치 제어기 모듈(202)은 클록 모듈(204)에 의해 발생된 대응하는 송신 클록에 따라 이더넷 데이터 패킷을 송신할 수 있다. 어떤 측면들에 따르면, 스위치 제어기 모듈(202) 및/또는 클록 모듈(204)은 IEEE(Institute of Electrical and Electronics Engineers : 국제 전기 전자 기술자 협회) 802.1AS 표준, IEEE 1588 표준, 및/또는 다른 표준들을 이용하여 CAN 노드들 및/또는 다른 스위치들 사이의 타이밍으로부터 유도된 이더넷 네트워크 클록 및/또는 상기 타이밍과 동기화된 이더넷 네트워크 클록으로부터 CAN 기준 클록을 발생할 수 있다.
또한, PHY 모듈(예를 들어, PHY 모듈들(214a, 214b, 214c, 또는 214d)은 이더넷 스위치(102)로부터 이더넷 데이터 패킷을 수신할 수 있다. 이더넷 적응 모듈(예를 들어, 이더넷 적응 모듈들(208a, 208b, 208c, 또는 208d))은 이더넷 데이터 패킷으로부터 CAN 메시지를 추출할 수 있고, CAN 메시지를 CAN 모듈(예를 들어, CAN 모듈(210a, 210b, 210c, 또는 210d))에 제공할 수 있다.
어떤 측면들에 따르면, CAN 노드(예를 들어, CAN 노드(104a, 104b, 104c, 또는 104d))는 예컨대, 이더넷 데이터 패킷의 송신이 성공적인지(그러므로 재송신될 필요가 없음) 또는 성공적이지 않은지(그러므로, 더 우성인 ID를 갖는 또 다른 이더넷 데이터 패킷이 그 대신으로 송신되었어야 하는 상황에서와 같이, 재송신될 필요가 있음)를 결정함으로써, CAN 중재 프로세스에 참여할 수 있다. CAN 노드는 원래의 이더넷 데이터 패킷(송신 CAN 노드의 특정한 ID를 갖는 CAN 메시지를 포함함)을 송신할 수 있다. CAN 노드는 검증 모듈(예를 들어, 검증 모듈(212a, 212b, 212c, 또는 212d)을 이용함으로써 이러한 송신이 성공적이었는지를 결정할 수 있다. 어떤 측면들에 따르면, 이더넷 링크를 통해 원래의 이더넷 데이터 패킷을 송신하였던 대응하는 PHY 모듈은 이더넷 링크 상의 관찰된(observed) 이더넷 데이터 패킷을 검출할 수 있다. 대응하는 이더넷 적응 모듈은 관찰된 이더넷 데이터 패킷으로부터 CAN 메시지를 추출할 수 있다. 검증 모듈은 이 CAN 메시지로부터의 ID를 송신 CAN 노드의 특정 ID와 비교할 수 있다. 이 ID들이 일치하는 경우, 검증 모듈은 원래의 이더넷 데이터 패킷의 송신이 성공적이었다고 결정한다. 그렇지 않을 경우에는, (예를 들어, 관찰된 이더넷 데이터 패킷이 더 우성인 ID를 가졌고 그 대신에 이더넷 링크를 통해 송신되었으므로) 검증 모듈은 원래의 이더넷 데이터 패킷의 송신이 성공적이지 않았다고 결정한다.
도 3은 본 발명의 다양한 측면들에 따라, 이더넷 링크들(106a, 106b, 106c, 및 106d)을 통해 CAN 노드들(104a, 104b, 104c, 및 104d) 사이에서 CAN 통신들을 구현하기 위한 방법(300)의 예를 예시한다. 예를 들어, 이더넷 스위치(102)는 방법(300)을 구현하기 위해 이용될 수 있다. 그러나, 방법(300)은 다른 구성들을 갖는 시스템들에 의해 구현될 수도 있다. 방법(300)은 도 1, 도 2 및 도 4의 예들을 참조하여 본 명세서에서 설명되지만, 방법(300)은 이 예들로 제한되지 않는다. 또한, 방법(300)은 반드시 도시된 바와 같은 순서로 수행될 필요는 없다. 설계 선호도들에 기초하여, 방법(300)의 순서는 재배치될 수 있다는 것을 이해해야 한다.
예시의 목적들을 위하여, CAN 노드(104a)가 제 1 이더넷 데이터 패킷(CAN 노드(104a)의 제 1 ID를 포함하는 제 1 CAN 메시지를 포함함)을 CAN 노드(104b)에 송신하는 것을 의도한다고 가정한다. 또한, CAN 노드(104c)는 제 2 이더넷 데이터 패킷(CAN 노드(104c)의 제 2 ID를 포함하는 제 2 CAN 메시지를 포함함)을 CAN 노드(104d)에 송신하는 것을 의도한다고 가정한다. CAN 노드들(104a 및 104c)은 제 1 이더넷 데이터 패킷 및 제 2 이더넷 데이터 패킷을 이더넷 스위치(102)에 각각 송신할 수 있고, 이더넷 스위치(102)는 이 패킷들을 포트들(206a 및 206c)을 통해 각각 수신한다(S302).
어떤 측면들에 따르면, 스위치 제어기 모듈(202)은 제 1 이더넷 데이터 패킷 및 제 2 이더넷 데이터 패킷 사이의 CAN 충돌을 검출하도록 구성된다(S304). 즉, 스위치 제어기 모듈(202)은 이더넷 스위치(102)에서 송신할 하나를 초과하는 이더넷 데이터 패킷이 있는지를 검출할 수 있다(예를 들어, 제 1 이더넷 데이터 패킷 및 제 2 이더넷 데이터 패킷은 동시에 수신되었음). 스위치 제어기 모듈(202)이 CAN 충돌을 검출하지 않는 경우(예를 들어, 단일 이더넷 데이터 패킷만이 송신을 위하여 이더넷 스위치(102)에서 이용가능함), 스위치 제어기 모듈(202)은 수신되었던 단일 이더넷 데이터 패킷의 목적지를 결정하는 것을 진행할 수 있다(S308). 그러나, 스위치 제어기 모듈(202)이 CAN 충돌을 검출하는 경우(예를 들어, 하나를 초과하는 이더넷 데이터 패킷들이 수신되었음), 이더넷 스위치(102)는 수신된 이더넷 데이터 패킷들의 송신 순서의 우선순위를 정하기 위한 중재 프로세스를 구현할 수 있다. 예를 들어, 스위치 제어기 모듈(202)은 제 1 ID 및 제 2 ID에 기초한 송신을 위하여 제 1 이더넷 데이터 패킷 또는 제 2 이더넷 데이터 패킷의 어느 하나를 선택한다(S306). 스위치 제어기 모듈(202)은 더 낮은 ID들과 연관되는 이더넷 데이터 패킷들의 우선순위를 정함으로써 CAN 중재 프로세스를 에뮬레이팅(emulating)할 수 있다(예를 들어, "000 0000"의 ID는 최고 우선순위를 가질 수 있는 반면, "111 1111"의 ID는 최저 우선순위를 가질 수 있음). 예시의 목적들을 위하여, CAN 노드(104a)의 ID는 CAN 노드(104c)의 ID보다 작다고 가정한다. 따라서, 스위치 제어기 모듈(202)은 송신을 위하여 (CAN 노드(104a)로부터) 제 1 이더넷 데이터 패킷을 선택할 수 있다. 이와 관련하여, 제 2 이더넷 데이터 패킷은 다음 송신 사이클에서 송신될 수 있다.
어떤 측면들에 따르면, 스위치 제어기 모듈(202)은 (예를 들어, CAN 충돌이 검출된 경우) 선택된 이더넷 데이터 패킷의 목적지 또는 (예를 들어, CAN 충돌이 검출되지 않은 경우) 송신을 위하여 이더넷 스위치(102)에서 이용가능한 단일 이더넷 데이터 패킷의 목적지를 결정한다. 예시의 목적들을 위하여, 제 1 이더넷 데이터 패킷은 송신을 위하여 선택된 이더넷 데이터 패킷이라고 가정한다. 어떤 측면들에 따르면, 제 1 이더넷 데이터 패킷으로부터의 제 1 CAN 메시지는 그 의도된 목적지에 관한 정보를 포함할 수 있다. 이 상황에서, 스위치 제어기 모듈(202)은 제 1 CAN 메시지로부터 의도된 목적지 정보를 추출함으로써 제 1 이더넷 데이터 패킷의 목적지를 결정할 수 있다. 일부 측면들에서, 목적지는 미리 결정될 수 있다. 예를 들어, 하나 이상의 노드들(예를 들어, CAN 노드(104b, 104c, 및/또는 104d))은 CAN 노드(104a)로부터 출발하는 모든 데이터 패킷들을 수신하기 위해 미리 결정될 수 있다. 이 미리 결정된 목적지는 이더넷 스우치(102)에 제공될 수 있고 및/또는 이더넷 스위치(102)에 저장될 수 있다. 이와 관련하여, 스위치 제어기 모듈(202)은 미리 결정된 목적지를 룩업(look up) 함으로써 제 1 이더넷 데이터 패킷의 목적지를 결정할 수 있다.
어떤 측면들에 따르면, 스위치 제어기 모듈(202)은 하나 이상의 대응하는 포트들을 통해 이더넷 데이터 패킷(예를 들어, CAN 충돌이 검출된 경우에 선택된 이더넷 데이터 패킷, 또는 CAN 충돌이 검출되지 않은 경우에 송신을 위하여 이더넷 스위치(102)에서 이용가능한 단일 이더넷 데이터 패킷)을 결정된 목적지로 라우팅한다(S310). 제 1 이더넷 데이터 패킷이 선택된 이더넷 데이터 패킷이고 목적지는 CAN 노드(104b)인 것으로 결정된다고 가정하면, 스위치 제어기 모듈(202)은 포트(206b)를 통해 제 1 이더넷 데이터 패킷을 CAN 노드(104b)로 라우팅할 수 있다.
어떤 측면들에 따르면, 이더넷 통신들의 대역폭은 CAN 노드들에 의해 전형적으로 지원되는 대역폭보다 클 수 있다. 따라서, 각각의 송신 CAN 노드의 최대 대역폭이 제공될 수 있고, 이에 따라, 이더넷을 이용한 CAN 통신들이 이더넷을 이용하지 않는 CAN 통신들보다 더욱 효율적으로 되도록 할 수 있다. 하나 이상의 구현예들에서, CAN 노드(예를 들어, CAN 노드(104a, 104b, 104c, 또는 104d)가 125 초당 킬로비트(kbps : kilobits per second)에서 송신하고 이더넷 스위치(102)가 전이중(full duplex)으로 10 초당 메가비트(mbps : megabits per second)의 대역폭에서 동작하는 경우, 40개에 이르는 CAN 노드들이 중재 손실 없이 송신할 수 있다(예를 들어, 이더넷 데이터 패킷은 송신될 더 우성인 ID를 갖는 또 다른 이더넷 데이터 패킷을 대기할 필요가 없다). 따라서, 이더넷 데이터 패킷들이 동일한 목적지를 가지지 않는다고 가정하면, 다수의 CAN 노드들은 중재 손실 없이 이더넷 데이터 패킷들을 송신할 수 있다. 위에서 논의된 바와 같이, 제 1 이더넷 데이터 패킷의 의도된 목적지는 CAN 노드(104b)인 반면, 제 2 이더넷 데이터 패킷의 의도된 목적지는 CAN 노드(104d)이다. 어떤 측면들에 따르면, 스위치 제어기 모듈(202)은 중재 손실 없이 동시에 제 1 이더넷 데이터 패킷을 CAN 노드(104b)로, 그리고 제 2 이더넷 데이터 패킷을 CAN 노드(104d)로 라우팅할 수 있다.
일부 측면들에서, 이더넷 스위치(102)는 설정된 대역폭에서 CAN 통신들을 구현할 수 있다. 하나 이상의 구현예들에서, CAN 노드들의 네트워크가 125 kbps에서 동작하도록 요구되는 경우, 이더넷 스위치(102)는 그 최대 대역폭(예를 들어, 10 mbps)이 아니라, 설정된 대역폭(예를 들어, 125 kbps)에서 선택된 이더넷 데이터 패킷을 목적지로 라우팅할 수 있다. 일부 측면들에서, 스위치 제어기 모듈(202)은 목적지에 의해 지원되는 대역폭에서 이더넷 데이터 패킷을 그 목적지로 라우팅하도록 구성된다. 이더넷 스위치(102)는 10 mbps의 대역폭에서 동작가능한 것으로 설명되어 있지만, 이더넷 스위치(102)는 임의의 이더넷 대역폭(예를 들어, 100 mbps, 250 mbps, 1000 mbps, 2500 mbps, 등)에서 동작할 수 있다. 각각의 송신 CAN 노드는 125 kbps의 대역폭에서 동작가능한 것으로 설명되어 있지만, 각각의 송신 CAN 노드는 임의의 대역폭(예를 들어, 이더넷 대역폭보다 작음)에서 동작할 수 있다.
본 발명의 다양한 측면들에 따르면, CAN 에러 메시지들과 같은 CAN 버스 상태 시그널링(signaling)은 이더넷을 이용하여 전파(propagate)될 수 있다. 스위치 제어기 모듈(202)은 CAN 메시지 에러(예를 들어, 과도한 순환 중복 검사(cyclic redundancy check) 에러, 로컬 CAN 어드레스 도달불가능(not-reachable) 및/또는 미청취(not-listened-to) 에러, 등)를 검출할 수 있고, 검출된 CAN 메시지 에러에 기초하여 대응하는 이더넷 불량 메시지(Ethernet fault message)를 발생할 수 있다. 스위치 제어기 모듈(202)은 발생된 이더넷 불량 메시지를, 에러가 적용가능한 CAN 노드로 라우팅할 수 있다. 이 CAN 노드의 이더넷 적응 모듈은 (대응하는 PHY 모듈을 통해) 이더넷 불량 메시지를 수신할 수 있고, 수신된 이더넷 불량 메시지에 기초하여 대응하는 CAN 메시지 에러를 발생할 수 있고, CAN 메시지 에러를 대응하는 CAN 모듈에 제공할 수 있다. 일부 측면들에서, 이더넷 적응 모듈은 케이블 불량들(예를 들어, 단락, 단선, 부적당한 전송선, 등)을 CAN 모듈에 보고할 수도 있다.
CAN 통신들은 이더넷 스위치(102)를 이용하여 구현되는 것으로 위에서 설명되어 있지만, CAN 통신들은 공유된 이더넷 버스 동작을 이용하여 구현될 수도 있다(예를 들어, CAN 노드들(104a, 104b, 104c, 및 104d)은 공유된 이더넷 링크를 통해 직접 송신할 수 있음). 공유된 이더넷 버스 동작은 IEEE 802.3 반송파-감지, 다중 접속/충돌 검출(CSMA/CD : Carrier-Sense, Multiple Access/Collision Detection) 방법, 마스터-슬레이브 시간슬롯 접속(master-slave timeslot access) IEEE 802.3 이더넷 PON 방법, 또는 그 변형들을 포함할 수 있다. 공유된 이더넷 버스 동작에서는, 이더넷 데이터 패킷들의 송신 및 수신이 단일 이더넷 링크를 통한다는 점을 제외하고는, 각각의 CAN 노드가 위에서 설명된 바와 같이 이더넷 데이터 패킷들을 송신 및 수신할 수 있다. 따라서, 모든 CAN 노드들은 이더넷 링크를 통해 발생하는 송신들을 청취(listen to)할 수 있다. 또한, 각각의 CAN 노드의 이더넷 적응 모듈은 이더넷 링크를 통한 이더넷 데이터 패킷의 송신이 성공적인지 성공적이지 않은지를 결정하기 위하여 위에서 설명된 바와 같이 중재 프로세스를 구현할 수 있다.
도 4는 본 발명의 다양한 측면들에 따라, 제어기(400)의 구성요소들을 예시하는 블록도이다. 제어기(400)는 프로세서 모듈(404), 저장 모듈(410), 입력/출력(I/O : input/output) 모듈(408), 메모리 모듈(406), 및 버스(402)를 포함한다. 버스(402)는 정보를 통신하기 위한 임의의 적당한 통신 메커니즘일 수 있다. 프로세서 모듈(404), 저장 모듈(410), I/O 모듈(408), 및 메모리 모듈(406)은 제어기(400)의 모듈들 중의 임의의 것 사이에서 정보를 통신하고 및/또는 제어기(400)의 임의의 모듈 및 제어기(400) 외부의 장치 사이에서 정보를 통신하기 위한 버스(402)와 결합된다. 예를 들어, 제어기(400)의 모듈들 중의 임의의 것 사이에서 통신되는 정보는 명령들 및/또는 데이터를 포함할 수 있다. 일부 측면들에서, 버스(402)는 범용 직렬 버스(universal serial bus)일 수 있다. 일부 측면들에서, 버스(402)는 이더넷 접속성을 제공할 수 있다.
일부 측면들에서, 프로세서 모듈(404)은 하나 이상의 프로세서들을 포함할 수 있고, 각각의 프로세서는 상이한 기능들을 수행하거나, 상이한 명령들 및/또는 프로세스들을 실행할 수 있다. 예를 들어, 하나 이상의 프로세서들은 이더넷을 이용하여 CAN 통신들을 구현하기 위한 명령들을 실행할 수 있고, 하나 이상의 프로세서들은 입력/출력 기능들을 위한 명령들을 실행할 수 있다.
메모리 모듈(406)은 프로세서 모듈(404)에 의해 실행될 명령들 및 정보를 저장하기 위한 랜덤 액세스 메모리("RAM : random access memory") 또는 다른 동적 저장 장치들일 수 있다. 메모리 모듈(406)은 프로세서(404)에 의한 명령들의 실행 동안에 일시적인 변수들 또는 다른 중간 정보를 저장하기 위해 이용될 수도 있다. 일부 측면들에서, 메모리 모듈(406)은 저장된 정보를 유지하기 위하여 전력을 요구하지 않으면서 정보를 저장하는 배터리-급전식 정적 RAM(battery-powered static RAM)을 포함할 수 있다. 저장 모듈(410)은 자기 디스크 또는 광학 디스크일 수 있고, 정보 및 명령들을 저장할 수도 있다. 일부 측면들에서, 저장 모듈(410)은 하드 디스크 저장장치 또는 전자 메모리 저장장치(예를 들어, 플래시 메모리)를 포함할 수 있다. 일부 측면들에서, 메모리 모듈(406) 및 저장 모듈(410)은 둘 모두 머신-판독가능 매체(machine-readable medium)이다.
제어기(400)는 I/O 모듈(408)을 통해 시스템 제어 및 관리 시스템(예를 들어, 차량 중앙 게이트웨이) 및/또는 사용자 인터페이스에 결합될 수 있고, 이 사용자 인터페이스는 사용자가 제어기(400)로부터 정보를 수신할 뿐만 아니라, 정보를 통신하고 제어기(400)에 대한 명령들을 선택하도록 할 수 있다. 예를 들어, 차량 중앙 게이트웨이는 대역폭, 로그 불량 진단들, 리셋 및 복원 작용들, 및 로그 통계들을 제공할 수 있다. 사용자 인터페이스는 정보를 사용자에게 디스플레이하기 위한 모니터(예를 들어, 액정 디스플레이(LCD : liquid crystal display), 발광 다이오드(LED : light emitting diode) 디스플레이, 유기 발광 다이오드(OLED : organic light emitting diode) 디스플레이, 플렉시블 디스플레이, 평판 패널 디스플레이, 고체 상태 디스플레이(solid state display))일 수 있다. 사용자 인터페이스는 예를 들어, 키보드(keyboard), 또는 마우스(mouse)를 포함할 수 있거나, 정보 및 명령 선택들을 프로세서 모듈(404)에 통신하기 위하여 I/O 모듈(408)을 통해 제어기(400)에 결합된 센서 피드백(sensory feedback), 시각 피드백(visual feedback), 청각 피드백(auditory feedback), 및/또는 촉각 피드백(tactile feedback)을 갖는 임의의 장치를 포함할 수도 있다.
본 발명의 다양한 측면들에 따르면, 본 명세서에서 설명된 방법들은 제어기(400)에 의해 실행될 수 있다. 하나 이상의 구현예들에서, 프로세서 모듈(404)은 메모리 모듈(406) 및/또는 저장 모듈(410) 내에 포함된 명령들의 하나 이상의 시퀀스들을 실행한다. 일부 측면들에서, 명령들은 저장 모듈(410)과 같은 또 다른 머신-판독가능 매체로부터 메모리 모듈(406)로 판독될 수 있다. 일부 측면들에서, 명령들은 I/O 모듈(408)로부터, 예를 들어, 사용자 인터페이스를 통해 사용자로부터 메모리 모듈(406)로 직접 판독될 수 있다. 메모리 모듈(406) 및/또는 저장 모듈(410) 내에 포함된 명령들의 시퀀스들의 실행은 프로세서 모듈(404)이 이더넷을 이용하여 CAN 통신들을 구현하기 위한 방법들을 수행하도록 할 수 있다. 하나 이상의 구현예들에서, 이더넷을 이용하여 CAN 통신들을 구현하기 위한 연산 알고리즘은 명령들의 하나 이상의 시퀀스들로서 메모리 모듈(406) 및/또는 저장 모듈(410)에 저장될 수 있다. 이더넷 데이터 패킷, CAN 메시지, 이더넷 데이터 패킷의 선택, 목적지, 타이밍 정보, CAN 메시지 에러, 이더넷 불량 메시지, 및/또는 다른 정보와 같은 정보는 저장을 위하여 버스(402)를 통해 프로세서 모듈(404)로부터 메모리 모듈(406) 및/또는 저장 모듈(410)로 통신될 수 있다. 일부 측면들에서, 정보는 버스(402)를 통해 프로세서 모듈(404), 메모리 모듈(406), 및/또는 저장 모듈(410)로부터 I/O 모듈(408)로 통신될 수 있다. 다음으로, 정보는 사용자 인터페이스를 통해 I/O 모듈(408)로부터 사용자로 통신될 수 있다.
멀티-프로세싱 배치의 하나 이상의 프로세서들은 메모리 모듈(406) 및/또는 저장 모듈(410)에 포함된 명령들의 시퀀스들을 실행하기 위하여 사용될 수도 있다. 일부 측면들에서, 하드-와이어드(hard-wired) 회로는 본 발명의 다양한 측면들을 구현하기 위하여 소프트웨어 명령들 대신에 또는 소프트웨어 명령들과 함께 이용될 수 있다. 따라서, 본 발명의 측면들은 하드웨어 회로 및 소프트웨어의 임의의 특정한 조합으로 제한되지 않는다.
본 명세서에서 이용되는 바와 같은 용어 "머신-판독가능 매체(machine-readable medium)" 또는 "컴퓨터-판독가능 매체(computer-readable medium)"는 실행을 위하여 명령들을 프로세서 모듈(404)에 제공하는 것에 참여하는 임의의 매체를 지칭한다. 이러한 매체는 비휘발성(non-volatile) 매체 및 휘발성(volatile) 매체를 포함하지만 이것으로 제한되지는 않는 다수의 형태들을 취할 수 있다. 비휘발성 매체는 예를 들어, 저장 모듈(410)과 같은 광학 또는 자기 디스크들을 포함한다. 휘발성 매체는 메모리 모듈(406)과 같은 동적 메모리를 포함한다. 머신-판독가능 매체 또는 컴퓨터-판독가능 매체의 공통적인 형태들은 예를 들어, 플로피 디스크(floppy disk), 플렉시블 디스크(flexible disk), 하드 디스크(hard disk), 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD, 임의의 다른 광학 매체, 펀치 카드들, 페이퍼 테이프(paper tape), 구멍(hole)들의 패턴들을 갖는 임의의 다른 물리 매체들, RAM, PROM, EPROM, FLASH EPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 프로세서가 그로부터 판독할 수 있는 임의의 다른 매체를 포함한다.
당업자들은 본 명세서에서 설명된 다양한 예시적인 블록들, 모듈들, 소자들, 구성요소들, 방법들, 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합들로 구현될 수 있다는 것을 인식할 것이다. 하드웨어 및 소프트웨어의 이 호환성을 예시하기 위하여, 다양한 예시적인 블록들, 모듈들, 소자들, 구성요소들, 방법들, 및 알고리즘들이 그 기능성의 측면에서 위에서 전반적으로 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는 것인지는 전체적인 시스템에 부과된 특정한 응용 및 설계 제약들에 종속된다. 숙련된 기술자들은 각각의 특정한 응용을 위하여 다양한 방식들로 설명된 기능성을 구현할 수 있다. 다양한 구성요소들 및 블록들은 모두 본 발명의 범위로부터 이탈하지 않으면서 상이하게 배치될 수 있다(예를 들어, 상이한 순서로 배치되거나 상이한 방식으로 위치됨).
개시된 프로세스들에서의 블록들의 임의의 특정 순서 또는 계층구조(hierarchy)는 예를 든 방법들의 예시라는 것을 이해해야 한다. 설계 선호도들에 기초하여, 프로세스들에서의 블록들의 특정한 순서 또는 계층구조가 재배치될 수 있거나, 모든 예시된 블록들이 수행되는 것을 이해해야 한다. 블록들 중의 임의의 것은 동시에 수행될 수 있다. 하나 이상의 구현예들에서는, 멀티태스킹(multitasking) 및 병렬 처리(parallel processing)가 유익할 수 있다. 또한, 위에서 설명된 실시예들에서의 다양한 시스템 구성요소들의 분리는 모든 실시예들에서의 이러한 분리를 요구하는 것으로 이해되지 않아야 하고, 설명된 프로그램 구성요소들 및 시스템들은 단일 소프트웨어 제품 내에 함께 일반적으로 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징(packaging)될 수 있다는 것을 이해해야 한다.
본 출원의 이러한 명세서 및 임의의 청구항들에서 이용되는 바와 같이, 용어들 "수신기", "컴퓨터", "서버", "프로세서", 및 "메모리"는 모두 전자 또는 다른 기술적 장치들을 지칭한다. 이 용어들은 사람 또는 사람의 그룹들을 제외한다. 상세한 설명의 목적들을 위하여, 용어들 "디스플레이" 또는 "디스플레이하는 것"은 전자 장치 상에 디스플레이하는 것을 의미한다.
본 명세서에서 이용되는 바와 같이, 일련의 항목들에 선행하며 항목들 중의 임의의 것을 분리하기 위해 용어 "및" 또는 "또는"을 갖는 어구(phrase) "적어도 하나"는 리스트의 각각의 부재(즉, 각각의 항목)보다는 전체적으로 리스트를 수정한다. 어구 "적어도 하나"는 리스트된 각각의 항목 중의 적어도 하나의 선택을 요구하지 않고, 오히려, 상기 어구는 항목들의 임의의 하나 중의 적어도 하나, 및/또는 항목들의 임의의 조합 중의 적어도 하나, 및/또는 항목들의 각 항목의 적어도 하나를 포함한다는 의미를 허용한다. 예로서, 어구들 "A, B, 및 C 중의 적어도 하나" 또는 "A, B, 또는 C 중의 적어도 하나"는 각각 A만, B만, 또는 C만을 지칭하고; A, B, 및 C의 임의의 조합을 지칭하고; 및/또는 A, B, 및 C의 각각 중의 적어도 하나를 지칭한다.
서술 단어들 "구성되는", "동작가능한", 및 "프로그램되는"은 주체(subject)의 임의의 특정한 실재적인(tangible) 또는 비실재적인(intangible) 수정을 의미하는 것이 아니라, 오히려, 호환가능하게 이용되도록 의도된 것이다. 하나 이상의 구현예들에서, 동작 또는 구성요소를 분석 및 제어하도록 구성된 프로세서는 동작을 분석 및 제어하도록 프로그램되는 프로세서, 또는 동작을 분석 및 제어하도록 동작가능한 프로세서를 의미할 수도 있다. 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그램되거나 코드를 실행하도록 동작가능한 프로세서로서 해석될 수 있다.
"측면"과 같은 어구는 이러한 측면이 본 발명에 필수적이거나 이러한 측면이 본 발명의 모든 구성들에 적용되는 것을 의미하지는 않는다. 측면과 관련된 개시 내용은 모든 구성들, 또는 하나 이상의 구성들에 적용될 수 있다. 측면은 개시 내용의 하나 이상의 예들을 제공할 수 있다. "측면"과 같은 어구는 하나 이상의 측면들을 지칭할 수 있고 그 반대의 경우도 성립한다. "실시예"와 같은 어구는 이러한 실시예가 본 발명에 필수적이거나 이러한 실시예가 본 발명의 모든 구성들에 적용되는 것을 의미하지는 않는다. 실시예에 관련된 개시 내용은 모든 실시예들, 또는 하나 이상의 실시예들에 적용될 수 있다. 실시예는 개시 내용의 하나 이상의 예들을 제공할 수 있다. "실시예"와 같은 어구는 하나 이상의 실시예들을 지칭할 수 있고, 그 반대의 경우도 성립한다. "구성"과 같은 어구는 이러한 구성이 본 발명에 필수적이거나 이러한 구성이 본 발명의 모든 구성들에 적용되는 것을 의미하지는 않는다. 구성에 관련된 개시 내용은 모든 구성들, 또는 하나 이상의 구성들에 적용될 수 있다. 구성은 개시 내용의 하나 이상의 예들을 제공할 수 있다. "구성"과 같은 어구는 하나 이상의 구성들을 지칭할 수 있고, 그 반대의 경우도 성립한다.
단어 "예시적"은 "하나의 예, 사례, 또는 예시로서 작용하는"을 의미하기 위하여 본 명세서에서 이용된다. "예시적" 또는 "예"로서 본 명세서에서 설명된 임의의 실시예는 다른 실시예들에 비해 바람직하거나 유익한 것으로 반드시 해석되지는 않는다. 또한, 용어 "포함하다", "가지다" 등이 설명 또는 청구항들에서 이용되는 결과로, "포함하다"가 청구항에서 접속어로서 사용될 때에 해석되므로, 이러한 용어는 용어 "포함하다"와 유사하게 포함적인 것으로 의도된 것이다.
이 개시 내용의 전반에 걸쳐 설명된 다양한 측면들의 요소들에 대한 모든 구조적 및 기능적 등가물들은 당업자들에게 알려지거나 추후에 알려지며, 참조를 위해 본 명세서에서 명시적으로 통합되고, 청구항들에 의해 포함되도록 의도된 것이다. 또한, 본 명세서에서 개시된 어떤 것들도 이러한 개시 내용이 청구항들에서 명시적으로 인용되는지에 관계없이 공중에게 헌정되도록 의도된 것이 아니다. 요소가 어구 "~위한 수단"을 이용하여 명시적으로 기재되지 않거나, 또는 방법 청구항의 경우, 요소가 "~위한 단계"를 이용하여 기재되지 않으면, 어떤 청구항 요소도 미국 특허법 35 U.S.C. §112, 제 6 문단의 규정들 하에서 해석되지 않아야 한다.
이전의 설명은 임의의 당업자가 본 명세서에서 설명된 다양한 측면들을 실시하는 것을 가능하게 하기 위하여 제공된다. 이 측면들에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 다른 측면들에 적용될 수도 있다. 따라서, 청구항들은 본 명세서에서 도시된 측면들에 제한되는 것으로 의도된 것이 아니라, 언어 청구항(language claim)들과 일치하는 전체 범위에 따라야 하고, 단수인 요소에 대한 참조는 특별히 그렇게 기재되어 있지 않으면, "하나 그리고 오직 하나"를 의미하는 것으로 의도된 것이 아니라, 오히려 "하나 이상"을 의미하도록 의도된 것이다. 특별히 달리 기재되어 있지 않으면, 용어 "일부"는 하나 이상을 지칭한다. 남성형 대문자(예를 들어, 그)는 여성 및 중성의 성(예를 들어, 그녀 및 그)을 포함하고 그 반대의 경우도 성립한다. 만약 있다면, 제목들 및 부제들은 편의를 위해서만 이용되고 본 개시 내용을 제한하지 않는다.

Claims (15)

  1. 복수의 제어기 영역 네트워크(CAN : controller area network) 노드들 사이에서 CAN 통신들을 구현하기 위한 이더넷 스위치(Ethernet switch)로서,
    상기 이더넷 스위치는,
    각각의 CAN 노드로부터 이더넷 데이터 패킷을 수신하도록 각각 구성되는 복수의 포트들로서, 각각의 이더넷 데이터 패킷은 CAN 메시지를 포함하고, 각각의 CAN 메시지는 대응하는 CAN 노드의 식별자(ID : identification)를 포함하는, 상기 복수의 포트들; 및
    상기 복수의 포트들 중의 제 1 포트에서 수신된 제 1 이더넷 데이터 패킷 및 상기 복수의 포트들 중의 제 2 포트에서 수신된 제 2 이더넷 데이터 패킷 사이의 CAN 충돌을 검출하도록 구성된 제어기 모듈을 포함하고,
    상기 제어기 모듈은 상기 CAN 충돌의 검출에 따라, 상기 제 1 이더넷 데이터 패킷에 대응하는 ID 및 상기 제 2 이더넷 데이터 패킷에 대응하는 ID에 기초하여 상기 제 1 이더넷 데이터 패킷 또는 상기 제 2 이더넷 데이터 패킷을 선택하도록 구성되고,
    상기 제어기 모듈은 상기 선택된 이더넷 데이터 패킷을 목적지로 라우팅(routing)하도록 더 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  2. 청구항 1에 있어서,
    상기 복수의 CAN 노드들의 각각은 CAN 제어기 및 이더넷 적응 모듈을 포함하는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 CAN 충돌은 상기 제 1 이더넷 데이터 패킷 및 상기 제 2 이더넷 데이터 패킷을 동시에 수신하는 것을 포함하는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  4. 청구항 1 또는 청구항 2에 있어서,
    상기 선택된 이더넷 데이터 패킷은 상기 제 1 이더넷 데이터 패킷이고, 상기 제 1 이더넷 데이터 패킷에 대응하는 ID는 상기 제 2 이더넷 데이터 패킷에 대응하는 ID보다 작은, CAN 통신들을 구현하기 위한 이더넷 스위치.
  5. 청구항 1 또는 청구항 2에 있어서,
    상기 제어기 모듈은 상기 제 1 이더넷 데이터 패킷이 라우팅된 후에 송신 사이클에 따라 상기 제 2 이더넷 데이터 패킷을 라우팅하도록 더 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  6. 청구항 1 또는 청구항 2에 있어서,
    상기 제어기 모듈은 상기 선택된 이더넷 데이터 패킷의 목적지를 결정하도록 더 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  7. 청구항 6에 있어서,
    상기 목적지는, a) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 중의 단일 CAN 노드, b) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 중의 2개 이상의 CAN 노드들, 또는 c) 상기 선택된 이더넷 데이터 패킷을 수신한 포트에 대응하는 상기 CAN 노드를 제외한 상기 복수의 CAN 노드들 전부를 포함하는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  8. 청구항 1 또는 청구항 2에 있어서,
    상기 제어기 모듈에 결합된 클록 모듈을 더 포함하고, 상기 클록 모듈은 송신 클록을 발생하도록 구성되고, 상기 제어기 모듈은 상기 송신 클록에 기초하여 상기 선택된 이더넷 데이터 패킷을 라우팅하도록 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  9. 청구항 8에 있어서,
    상기 클록 모듈은 주 기준 클록(primary reference clock)을 수신하고 상기 주 기준 클록에 기초하여 상기 송신 클록을 발생하도록 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  10. 청구항 1 또는 청구항 2에 있어서,
    상기 제어기 모듈은 목적지에 의해 지원되는 대역폭에서 상기 선택된 이더넷 데이터 패킷을 상기 목적지로 라우팅하도록 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  11. 청구항 1 또는 청구항 2에 있어서,
    상기 제어기 모듈은 CAN 메시지 에러를 검출하고 상기 CAN 메시지 에러의 검출에 기초하여 이더넷 불량 메시지(Ethernet fault message)를 상기 복수의 CAN 노드들 중의 하나 이상으로 송신하도록 구성되는, CAN 통신들을 구현하기 위한 이더넷 스위치.
  12. 이더넷을 이용하여 CAN 통신들을 구현하기 위한 제어기 영역 네트워크(CAN : controller area network) 노드로서,
    상기 CAN 노드는,
    상기 CAN 노드의 제 1 식별자(ID)를 포함하는 제 1 CAN 메시지를 발생하도록 구성된 CAN 모듈;
    상기 제 1 CAN 메시지에 기초하여 제 1 이더넷 데이터 패킷을 발생하고, 이더넷 링크를 통해 상기 제 1 이더넷 데이터 패킷을 목적지로 송신하기 위한 트랜시버(transceiver)에 상기 제 1 이더넷 데이터 패킷을 제공하도록 구성된 이더넷 적응 모듈(Ethernet adaptation module)로서, 상기 이더넷 적응 모듈은 상기 트랜시버로부터 제 2 이더넷 데이터 패킷을 수신하도록 더 구성되고, 상기 제 2 이더넷 데이터 패킷은 상기 이더넷 링크를 통해 상기 트랜시버에 의해 검출되고, 상기 제 2 이더넷 데이터 패킷은 제 2 CAN 메시지를 포함하고, 상기 제 2 CAN 메시지는 제 2 ID를 포함하고, 상기 이더넷 적응 모듈은 상기 제 2 이더넷 데이터 패킷으로부터 상기 제 2 CAN 메시지를 추출하도록 더 구성되는, 상기 이더넷 적응 모듈; 및
    상기 제 1 ID 및 상기 제 2 ID를 비교하고, 상기 제 1 ID 및 상기 제 2 ID의 비교에 기초하여 상기 제 1 이더넷 데이터 패킷의 송신이 성공적인지를 결정하도록 구성된 검증 모듈을 포함하는, CAN 통신들을 구현하기 위한 CAN 노드.
  13. 이더넷을 이용하여 복수의 CAN 노드들 사이에서 CAN 통신들을 구현하기 위한 방법으로서,
    상기 방법은,
    상기 복수의 CAN 노드들 중의 제 1 CAN 노드로부터 제 1 이더넷 데이터 패킷을 수신하는 단계로서, 상기 제 1 이더넷 데이터 패킷은 제 1 CAN 메시지를 포함하고, 상기 제 1 CAN 메시지는 상기 제 1 CAN 노드의 제 1 식별자(ID)를 포함하는, 상기 제 1 이더넷 데이터 패킷을 수신하는 단계;
    상기 복수의 CAN 노드들 중의 제 2 CAN 노드로부터 제 2 이더넷 데이터 패킷을 수신하는 단계로서, 상기 제 2 이더넷 데이터 패킷은 제 2 CAN 메시지를 포함하고, 상기 제 2 CAN 메시지는 상기 제 2 CAN 노드의 제 2 ID를 포함하는, 상기 제 2 이더넷 데이터 패킷을 수신하는 단계;
    상기 제 1 이더넷 데이터 패킷 및 상기 제 2 이더넷 데이터 패킷 사이에서 CAN 충돌을 검출하는 단계;
    상기 CAN 충돌의 검출에 따라, 상기 제 1 ID 및 상기 제 2 ID에 기초하여 상기 제 1 이더넷 데이터 패킷 또는 상기 제 2 이더넷 데이터 패킷을 선택하는 단계;
    상기 선택된 이더넷 데이터 패킷의 목적지를 결정하는 단계; 및
    상기 선택된 이더넷 데이터 패킷을 상기 목적지로 라우팅하는 단계를 포함하는, CAN 통신들을 구현하기 위한 방법.
  14. 청구항 13에 있어서,
    상기 선택된 이더넷 데이터 패킷은 상기 제 1 이더넷 데이터 패킷이고, 상기 목적지는 상기 복수의 CAN 노드들의 세트(set)를 포함하는 제 1 목표 위치이고, 상기 방법은 상기 제 2 이더넷 데이터 패킷의 제 2 목표 위치를 결정하는 단계를 더 포함하고, 상기 제 2 목표 위치는 상기 복수의 CAN 노드들의 세트를 제외한 상기 복수의 CAN 노드들 중의 적어도 하나를 포함하는, CAN 통신들을 구현하기 위한 방법.
  15. 청구항 14에 있어서,
    상기 제 1 이더넷 데이터 패킷을 상기 제 1 목표 위치로 그리고 상기 제 2 이더넷 데이터 패킷을 상기 제 2 목표 위치로 동시에 라우팅하는 단계를 더 포함하는, CAN 통신들을 구현하기 위한 방법.
KR1020130074652A 2012-07-23 2013-06-27 이더넷을 이용한 제어기 영역 네트워크 통신들 KR101462553B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261674828P 2012-07-23 2012-07-23
US61/674,828 2012-07-23
US13/716,521 US9215168B2 (en) 2012-07-23 2012-12-17 Controller area network communications using ethernet
US13/716,521 2012-12-17

Publications (2)

Publication Number Publication Date
KR20140012887A KR20140012887A (ko) 2014-02-04
KR101462553B1 true KR101462553B1 (ko) 2014-11-18

Family

ID=48692237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130074652A KR101462553B1 (ko) 2012-07-23 2013-06-27 이더넷을 이용한 제어기 영역 네트워크 통신들

Country Status (5)

Country Link
US (1) US9215168B2 (ko)
EP (2) EP2863588B1 (ko)
KR (1) KR101462553B1 (ko)
CN (1) CN103580973B (ko)
TW (1) TWI504205B (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015008318A2 (pt) 2013-09-23 2017-07-04 Farmobile Llc dispositivo de retransmissão, e, sistemas de troca de dados de agricultura e de servidor
DE102013223704A1 (de) * 2013-11-20 2015-05-21 Bayerische Motoren Werke Aktiengesellschaft Fahrzeug mit einem Ethernet-Bussystem und Verfahren zum Betreiben eines solchen Bussystems
KR101712370B1 (ko) * 2014-12-16 2017-03-06 주식회사 다산네트웍스 에러 패킷 분석을 지원하기 위한 이더넷 장치 및 시스템
US10103901B2 (en) * 2015-08-17 2018-10-16 Marvell World Trade Ltd. Virtual controller area network
US10361934B2 (en) * 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US20180324640A1 (en) * 2015-11-25 2018-11-08 Hitachi Automotive Systems, Ltd. Vehicle-Mounted Gateway Device, Electronic Control Device, and Vehicle-Mounted Network System
US10129150B2 (en) 2015-12-01 2018-11-13 Marvell World Trade Ltd. Systems and methods for implementing a switched controller area network
JP6782188B2 (ja) 2016-05-27 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、通信方法及び車載ネットワークシステム
JP6962697B2 (ja) * 2016-05-27 2021-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ネットワークハブ、転送方法及び車載ネットワークシステム
JP6783174B2 (ja) * 2016-05-27 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ネットワークハブ、転送方法及び車載ネットワークシステム
JP6890025B2 (ja) * 2016-05-27 2021-06-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、フレーム生成方法及びプログラム
KR102352527B1 (ko) * 2016-09-13 2022-01-19 현대자동차주식회사 차량 네트워크에서 asil에 기초한 통신 방법 및 장치
CN107819736B (zh) * 2016-09-13 2021-12-31 现代自动车株式会社 基于车辆网络中的汽车安全完整性等级的通信方法及设备
DE102016221690A1 (de) * 2016-11-04 2018-05-09 Audi Ag Verfahren zum Übertragen von Datenpaketen zwischen einem Ethernet und einem Bussystem in einem Kraftfahrzeug sowie Gatewayvorrichtung und Kraftfahrzeug
KR102386781B1 (ko) 2017-07-31 2022-04-13 현대자동차주식회사 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법
KR102320043B1 (ko) * 2017-09-13 2021-11-01 현대자동차주식회사 차량용 제어 장치의 진단 방법 및 장치
KR102360168B1 (ko) 2017-11-01 2022-02-09 현대자동차주식회사 데이터 종류에 따른 프로토콜 변환 장치 및 방법, 그리고 차량 시스템
WO2019117184A1 (ja) * 2017-12-15 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
US20210325868A1 (en) * 2018-08-23 2021-10-21 Precision Planting Llc Expandable network architecture for communications between machines and implements
JP7131372B2 (ja) * 2018-12-25 2022-09-06 住友電装株式会社 車載通信装置
CN111464272B (zh) * 2019-01-22 2023-04-07 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) 数据可靠交互方法、交互系统及磁悬浮列车电磁推进系统
US11182477B2 (en) 2019-04-30 2021-11-23 Cylance Inc. System abnormality detection using signal fingerprinting
DE102019213322A1 (de) * 2019-09-03 2021-03-04 Continental Automotive Gmbh Ethernet Physical Layer Transceiver für Zweidraht-Bustopologie
CA3174983A1 (en) * 2020-04-15 2021-10-21 Akimbo Technologies Inc. Fault tolerant distributed computing
CN111600685A (zh) * 2020-05-18 2020-08-28 湖南中车时代通信信号有限公司 一种基于以太网实现can总线冗余的装置
DE102020121102B3 (de) * 2020-08-11 2022-02-03 Infineon Technologies Ag Batteriemanagementsystem und verfahren zur datenübertragung in einem batteriemanagementsystem
WO2022080520A1 (ko) * 2020-10-14 2022-04-21 엘지전자 주식회사 차량이 메시지를 고속으로 전송하는 방법
CN112260894B (zh) * 2020-10-16 2022-05-10 北京航天发射技术研究所 一种can总线网络系统性能测试平台及使用方法
CN215682332U (zh) * 2021-09-16 2022-01-28 北京车和家信息技术有限公司 一种智能汽车通信系统
DE102022211186A1 (de) 2022-10-21 2024-05-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten von mit einem Netzwerk assoziierten Daten

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917626B1 (en) * 1999-11-30 2005-07-12 Cisco Technology, Inc. Apparatus and method for automatic cluster network device address assignment
US7058730B2 (en) * 2000-05-05 2006-06-06 Fujitsu Limited Unique address space and method for a transport network
US7240364B1 (en) * 2000-05-20 2007-07-03 Ciena Corporation Network device identity authentication
JP3661946B2 (ja) 2002-09-04 2005-06-22 三菱電機株式会社 コントローラエリアネットワーク通信装置
US7272496B2 (en) * 2003-06-12 2007-09-18 Temic Automotive Of North America, Inc. Vehicle network and method of communicating data packets in a vehicle network
US7336622B1 (en) * 2003-09-08 2008-02-26 Cisco Technology, Inc. Method and system for resolving switch number conflicts in a stackable switch system
JP4232603B2 (ja) 2003-10-24 2009-03-04 富士ゼロックス株式会社 通信システム、制御装置、canバス接続ノード、canバス通信方法、及び、プログラム
US20050226169A1 (en) * 2004-02-19 2005-10-13 Kelsey Richard A Dynamic identification of nodes in a network
US7733841B2 (en) 2005-05-10 2010-06-08 Continental Automotive Systems, Inc. Vehicle network with time slotted access and method
CN1992736A (zh) * 2005-12-30 2007-07-04 西门子(中国)有限公司 Ip地址分配方法及其应用
US7783808B2 (en) 2006-11-08 2010-08-24 Honeywell International Inc. Embedded self-checking asynchronous pipelined enforcement (escape)
TWI326544B (en) 2006-11-15 2010-06-21 Ind Tech Res Inst An intelligent heterogeneous network packet dispatcher methodology
TWI330025B (en) 2006-11-17 2010-09-01 Ind Tech Res Inst Multi-service method over heterogeneous network
EP2150062B1 (en) * 2008-07-28 2022-10-26 Imagine Communications Corp. Improved method, system and apparatus for synchronizing signals
KR101206894B1 (ko) 2009-11-24 2012-11-30 한국전자통신연구원 이더넷-캔 프레임 변환 전송 장치 및 방법
CN102158435B (zh) * 2011-04-13 2014-03-05 北京航空航天大学 一种支持虚连接的基于can总线和以太网实时嵌入式网关
CN102255800B (zh) * 2011-06-24 2014-04-02 中国人民解放军国防科学技术大学 Can总线上ip数据包和can消息之间数据格式相互转换的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Novel Network Architecture for In-Vehicle Audio and Video Communicaiton(2007.05.21) *
Challenges in a Future IP/Ethernet-based In-Car Network for Real-Time Applications(2011.06.10) *
Coexistence of Time-Triggered and Event-Triggered Traffic in Switched Full-duplex Ethernet Networks(2007.07.06) *
TIME-TRIGGERED HIGH-CONFIDENCE EMBEDDED SYSTEMS: MODELING, SIMULATION, ANALYSIS AND BACK(2011.05) *

Also Published As

Publication number Publication date
EP2863588A3 (en) 2015-08-26
EP2863588A2 (en) 2015-04-22
KR20140012887A (ko) 2014-02-04
EP2690827B1 (en) 2016-04-13
EP2690827A2 (en) 2014-01-29
TW201406111A (zh) 2014-02-01
TWI504205B (zh) 2015-10-11
US20140023068A1 (en) 2014-01-23
CN103580973A (zh) 2014-02-12
EP2690827A3 (en) 2014-04-16
EP2863588B1 (en) 2017-08-16
US9215168B2 (en) 2015-12-15
CN103580973B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
KR101462553B1 (ko) 이더넷을 이용한 제어기 영역 네트워크 통신들
EP2863587B1 (en) Flexray communications using ethernet
JP4917649B2 (ja) ネットワークおよび該ネットワークにおけるノードの時間基準を設定する方法
US9298529B2 (en) Indicating internal transmitter errors in a controller area network (CAN)
CN107819736A (zh) 基于车辆网络中的汽车安全完整性等级的通信方法及设备
CN107817779B (zh) 基于以太网交换机的信息验证未注册的装置的系统及方法
CN107404337A (zh) 网络供电方法及其装置
US11165794B2 (en) Alert system for controller area networks
KR20200001104A (ko) 차량 네트워크에서 다중 도메인을 활용한 통신 노드의 동기화 방법 및 장치
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
US20190305983A1 (en) Method and apparatus for configuring backup path in vehicle network
JP7151931B2 (ja) 中継装置、通信ネットワークシステム及び通信制御方法
US11438192B2 (en) Managed switch with physically distributed ports
KR20180029848A (ko) 이더넷 스위치 정보에 기초한 미등록 장치 검증 시스템 및 방법
Huse FlexRay analysis, configuration parameter estimation, and adversaries
JP7151930B2 (ja) 中継装置、通信ネットワークシステム及び通信制御方法
KR20190114748A (ko) 차량 네트워크에서 백업 경로를 설정하는 방법 및 장치
CN108141357B (zh) 用于在网络中生成秘密的电路装置
JP4353059B2 (ja) 通信システム及びその故障ノード特定方法
Marino HDL implementation of a controller area network node
JP2018011155A (ja) Can通信システム
Mischo et al. Basic principles of networking
Piromalis et al. An assessment analysis of network protocols used in automotive industry

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
LAPS Lapse due to unpaid annual fee