KR102386781B1 - 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법 - Google Patents

차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법 Download PDF

Info

Publication number
KR102386781B1
KR102386781B1 KR1020170097327A KR20170097327A KR102386781B1 KR 102386781 B1 KR102386781 B1 KR 102386781B1 KR 1020170097327 A KR1020170097327 A KR 1020170097327A KR 20170097327 A KR20170097327 A KR 20170097327A KR 102386781 B1 KR102386781 B1 KR 102386781B1
Authority
KR
South Korea
Prior art keywords
error
value
counter value
physical
processor
Prior art date
Application number
KR1020170097327A
Other languages
English (en)
Other versions
KR20190013165A (ko
Inventor
김동옥
윤진화
한정석
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170097327A priority Critical patent/KR102386781B1/ko
Priority to US16/045,231 priority patent/US10666393B2/en
Priority to CN201810837431.1A priority patent/CN109327411B/zh
Publication of KR20190013165A publication Critical patent/KR20190013165A/ko
Priority to US16/854,204 priority patent/US11190299B2/en
Application granted granted Critical
Publication of KR102386781B1 publication Critical patent/KR102386781B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management
    • H04Q3/0087Network testing or monitoring arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols

Landscapes

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

Abstract

본 발명은 이더넷(ethernet) 기반의 차량 네트워크(network)의 통신 중 엔드 노드 및 스위치에서 발생하는 물리적, 논리적 에러의 유형 및 에러 수준에 따라서 에러의 처리 및 복구를 수행할 수 있는 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법에 관한 것이다. 본 발명의 엔드 노드의 에러복구 방법은, 엔드 노드에 수신된 메시지의 에러를 검출하고, 컨트롤러 프로세서가 메시지의 물리적 에러 및 논리적 에러의 유형을 구분한다. 그리고, 상기 컨트롤러 프로세서가 에러 유형 별로 에러 카운터 값을 증가시키고, 상기 물리적 에러 및 상기 논리적 에러의 유형과 상기 에러 카운터 값에 기초하여 에러 복구를 수행한다.

Description

차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법{DEVICE OF ETHERNET COMMUNICATION IN VEHICLE, AND METHOD FOR ERROR RECOVER OF END NODE AND SWITCH}
본 발명은 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법에 관한 것으로, 더욱 상세하게는 이더넷(ethernet) 기반의 차량 네트워크(network)의 통신 중 엔드 노드 및 스위치에서 발생하는 물리적, 논리적 에러의 유형 및 에러 수준에 따라서 에러의 처리 및 복구를 수행할 수 있는 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, 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은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임의 자동 재전송, CRC(cycle redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
한편, 차량의 텔레메틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.
최근에 들어, 차량 네트워크로 이더넷(ethernet)이 적용되고 있으나, 물리적, 논리적 에러 발생 시 에러의 유형 및 수준(예로서, 에러 카운터 값)에 따른 에러 처리 및 복구 방안이 제시되어 있지 않다. 따라서, 이더넷 통신 중 발생하는 물리적, 논리적 에러의 유형 및 수준(예로서, 에러 카운터 값)에 따라서 에러의 처리 및 복구를 수행할 수 있는 차량의 이더넷 통신 장치 및 이의 에러복구 방법이 요구된다.
상기와 같은 문제점을 해결하기 위한 본 발명은, 이더넷 통신 중 발생하는 물리적, 논리적 에러의 유형 및 수준에 따라서 에러의 처리 및 복구를 수행할 수 있는 차량의 이더넷 통신 장치 및 이의 에러복구 방법을 제공하는 것을 기술적 과제로 한다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)의 엔드 노드에서 수행되는 에러복구 방법으로서, 상기 엔드 노드의 PHY 계층 유닛으로 메시지 수신 시, 상기 PHY 계층 유닛의 PHY 계층 프로세서가 상기 메시지의 물리적 에러를 검출하는 단계와, 상기 엔드 노드에 포함된 컨트롤러 유닛의 컨트롤러 프로세스가 상기 메시지의 논리적 에러를 검출하는 단계와, 상기 컨트롤러 프로세서가 상기 물리적 에러 및 상기 논리적 에러의 유형을 구분하는 단계를 포함한다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법의 상기 물리적 에러의 유형을 구분하는 단계에 있어서, 상기 물리적 에러의 유형을 링크 에러, Bad ESD(premature end) 에러 또는 락 에러(lock error), Bad SSD(false carrier)에러, CRC 에러(CRC error), 캐리어 에러(carrier error), 수신 에러(Rx error) 또는 송신 에러(Tx error)로 구분한다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 상기 링크 에러, 상기 Bad ESD(premature end) 에러 또는 상기 락 에러(lock error)가 검출되면 일정시간 동안 통신을 중지시키고, 상기 일정시간 이후에 에러가 발생하지 않으면 통신을 재개시키는 단계를 더 포함한다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 상기 컨트롤러 프로세서가 에러 유형 별로 에러 카운터 값을 증가시키는 단계를 더 포함한다. 상기 물리적 에러의 유형이 Bad SSD(false carrier)에러, CRC 에러(CRC error), 캐리어 에러(carrier error), 수신 에러(Rx error) 또는 송신 에러(Tx error)인 경우 에러가 검출될 때마다 상기 물리적 에러의 에러 카운터 값을 증가시킨다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 상기 물리적 에러의 유형과 상기 에러 카운터 값에 기초하여 상기 컨트롤러 프로세서가 에러 복구를 수행하는 단계를 더 포함한다. 상기 물리적 에러의 에러 카운터 값이 0보다 크고 제1 값 이하인 경우 에러 발생을 경고하고, 상기 물리적 에러의 에러 카운터 값이 상기 제1 값보다 크고 제2 값 이하인 경우 통신을 유지시키고, 상기 물리적 에러의 에러 카운터 값이 상기 제2 값보다 크고 제3 값 이하인 경우 네트워크 구성의 변경을 금지시키고, 상기 물리적 에러의 에러 카운터 값이 상기 제3 값보다 큰 경우 에러 정보를 메모리에 저장하고, 링크를 리셋하여 에러를 복구한다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법의 상기 논리적 에러의 유형을 구분하는 단계에 있어서, 상기 논리적 에러의 유형을 MAC 인증 에러, MAC 암호 에러, IP(TCP/UDP) 암호 에러, E2E(End to End) CRC 에러, E2E Alive counter 에러, 시그널 미스매치(signal mismatch) 에러, 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, PTP 에러 또는 예약 실패(Reservation Failure) 에러로 구분한다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 상기 컨트롤러 프로세서가 에러 유형 별로 에러 카운터 값을 증가시키는 단계를 더 포함한다. 상기 MAC 인증 에러, 상기 MAC 암호 에러, 상기 IP(TCP/UDP) 암호 에러, 상기 E2E(End to End) CRC 에러, 상기 E2E Alive counter 에러, 상기 시그널 미스매치(signal mismatch) 에러, 상기 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, 상기 PTP 에러 또는 상기 예약 실패(Reservation Failure) 에러가 검출될 때마다 상기 논리적 에러의 에러 카운터 값을 증가시킨다.
본 발명의 실시 예에 따른 엔드 노드의 에러복구 방법은, 상기 논리적 에러의 유형과 상기 에러 카운터 값에 기초하여 상기 컨트롤러 프로세서가 에러 복구를 수행하는 단계를 더 포함한다. 상기 논리적 에러의 에러 카운터 값이 0보다 크고 제1 값 이하인 경우 에러 발생을 경고하고, 상기 논리적 에러의 에러 카운터 값이 상기 제1 값보다 크고 제2 값 이하인 경우 통신을 그대로 유지시키고, 상기 논리적 에러의 에러 카운터 값이 상기 제2 값보다 크고 제3 값 이하인 경우 네트워크 구성의 변경을 금지시키고, 상기 논리적 에러의 에러 카운터 값이 상기 제3 값보다 큰 경우 에러 정보를 메모리에 저장하고, 링크를 리셋하여 에러를 복구한다.
본 발명의 실시 예에 따른 스위치의 에러복구 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)의 스위치에서 수행되는 에러복구 방법으로서, 상기 스위치의 PHY 계층으로 메시지 수신 시, 상기 스위치의 스위치 프로세서가 상기 메시지의 물리적 에러를 검출하는 단계와, 상기 스위치 프로세서가 상기 물리적 에러의 유형을 구분하는 단계와, 상기 스위치의 전체 포트 또는 특정 포트에서 송신 실패, 수신 실패 또는 링크 실패가 검출되면 에러가 검출된 포트의 링크를 리셋하는 단계를 포함한다.
본 발명의 실시 예에 따른 스위치의 에러복구 방법은, 상기 스위치 프로세서가 상기 물리적 에러의 유형 별로 에러 카운터 값을 증가시키는 단계와, 상기 물리적 에러의 유형과 상기 에러 카운터 값에 기초하여 상기 스위치 프로세서가 에러 복구를 수행하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 스위치의 에러복구 방법에서 상기 스위치 프로세서는 상기 스위치의 전체 포트 또는 특정 포트에서 검출된 상기 물리적 에러의 유형이 송신 실패, 수신 실패 또는 링크 실패가 아닌 경우 상기 에러 카운터 값을 증가시킨다.
본 발명의 실시 예에 따른 스위치의 에러복구 방법의 상기 에러 복구를 수행하는 단계에서, 상기 스위치 프로세서는 상기 에러 카운터 값이 기준 값을 초과하는지 판단하고, 상기 에러 카운터 값이 상기 기준 값을 초과하면 에러가 발생한 포트의 링크를 리셋한다.
본 발명의 실시 예에 따른 스위치의 에러복구 방법은, 상기 스위치 프로세서는 상기 물리적 에러가 발생한 포트의 개수에 따라 상기 기준 값을 상이하게 적용하되, 1개의 포트에서 물리적 에러가 발생하면 제1 기준 값을 적용하고, 복수의 포트에서 물리적 에러가 발생하면 상기 제1 기준 값보다 큰 제2 기준 값을 적용한다.
본 발명의 실시 예에 따른 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 엔드 노드로서, PHY 계층 프로세서를 포함하는 PHY 계층 유닛과, 컨트롤러 프로세서를 포함하는 컨트롤러 유닛과, 상기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다. 상기 적어도 하나의 명령은, 상기 PHY 계층 프로세서가 수신된 메시지의 물리적 에러를 검출한다. 그리고, 상기 컨트롤러 프로세서가 상기 수신된 메시지의 논리적 에러를 검출한다. 그리고, 상기 컨트롤러 프로세서가 상기 물리적 에러 및 상기 논리적 에러의 유형에 기초하여 상기 엔드 노드의 에러 복구하도록 실행된다.
본 발명의 실시 예에 따른 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 엔드 노드에서, 상기 적어도 하나의 명령은, 상기 물리적 에러의 유형이 링크 에러, Bad ESD(premature end) 에러 또는 락 에러(lock error)인 경우 상기 컨트롤러 프로세서가 일정시간 동안 통신을 중지시키도록 실행된다.
본 발명의 실시 예에 따른 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 엔드 노드에서, 상기 적어도 하나의 명령은, 상기 물리적 에러의 유형이 Bad SSD(false carrier)에러, CRC 에러(CRF error), 캐리어 에러(carrier error), 수신 에러(Rx error) 또는 송신 에러(Tx error)인 경우, 상기 컨트롤러 프로세서가 에러가 검출될 때마다 상기 에러 카운터 값을 증가시킨다. 그리고, 상기 에러 카운터 값이 기준 값을 초과하면 상기 엔드 노드의 에러 복구를 수행하도록 실행된다.
본 발명의 실시 예에 따른 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 엔드 노드에서, 상기 적어도 하나의 명령은, 상기 논리적 에러의 유형이 MAC 인증 에러, MAC 암호 에러, IP(TCP/UDP) 암호 에러, E2E(End to End) CRC 에러, E2E Alive counter 에러, 시그널 미스매치(signal mismatch) 에러, 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, PTP 에러 또는 예약 실패(Reservation Failure)인 경우, 상기 컨트롤러 프로세서가 에러가 검출될 때마다 상기 에러 카운터 값을 증가시킨다. 그리고, 상기 에러 카운터 값이 기준 값을 초과하면 상기 엔드 노드의 에러 복구를 수행하도록 수행된다.
본 발명에 의하면, 차량에 적용되는 이더넷 통신 중 발생하는 물리적, 논리적 에러의 유형 및 수준에 따라서 에러의 처리 및 복구를 수행할 수 있는 차량의 이더넷 통신 장치 및 이의 에러복구 방법을 제공할 수 있다.
본 발명에 의하면, 이더넷 통신 중 발생하는 PHY 계층 유닛 및 컨트롤러 유닛에서 발생하는 물리적 에러의 유형 및 에러의 심각성을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
본 발명에 의하면, 이더넷 통신 중 PHY 계층 유닛 및 컨트롤러 유닛에서 발생하는 논리적 에러의 유형 및 에러의 심각성을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
본 발명에 의하면, 이더넷 통신 중 스위치에서 발생하는 물리적, 논리적 에러를 검출하고, 물리적, 논리적 에러의 유형 및 심각성을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
도 1은 차량 네트워크의 토폴로지에 대한 일 실시 예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시 예를 도시한 블록도이다.
도 3은 엔드 노드에서 물리적(physical) 에러가 발생한 것을 나타내는 도면이다.
도 4는 엔드 노드에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다.
도 5는 엔드 노드에서 논리적(logical) 에러가 발생한 것을 나타내는 도면이다.
도 6은 엔드 노드에서 논리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다.
도 7은 이더넷 데이터 포맷을 나타내는 도면이다.
도 8은 스위치에서 물리적 에러가 발생한 것을 나타내는 도면이다.
도 9는 스위치에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 토폴로지(network topology)의 일 실시 예를 도시한 블록도이다.
도 1을 참조하면, 차량 네트워크를 구성하는 통신 노드(communication node)는 게이트웨이(gateway), 스위치(switch)(또는, 브릿지(bridge)) 또는 엔드 노드(end node) 등을 의미할 수 있다. 게이트웨이(100)는 적어도 하나의 스위치(110, 110-1, 110-2, 120, 130)와 연결될 수 있으며, 서로 다른 네트워크를 연결할 수 있다. 예를 들어, 게이트웨이(100)는 CAN(controller area network)(또는, 플렉스레이(FlexRay), MOST(media oriented system transport), LIN(local interconnect network) 등) 프로토콜을 지원하는 통신 노드와 이더넷(ethernet) 프로토콜을 지원하는 스위치 간을 연결할 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 적어도 하나의 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)와 연결될 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 상호 연결할 수 있고, 자신과 연결된 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 제어할 수 있다.
엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 차량에 포함된 각종 장치를 제어하는 ECU(electronic control unit)를 의미할 수 있다. 예를 들어, 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 인포테인먼트(infotainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시 예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시 예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시 예를 도시한 블록도이다.
도 2를 참조하면, 네트워크를 구성하는 통신 노드(200)는 PHY 계층 유닛(physical layer unit)(210) 및 컨트롤러(controller) 유닛(220)을 포함할 수 있다. 또한, 통신 노드(200)는 파워(power)를 공급하는 레귤레이터(regulator)(미도시)를 더 포함할 수 있다. 이때, 컨트롤러 유닛(220)은 MAC(medium access control) 계층을 포함하여 구현될 수 있다. PHY 계층 유닛(210)은 다른 통신 노드로부터 신호를 수신할 수 있거나, 다른 통신 노드로 신호를 전송할 수 있다. 컨트롤러 유닛(220)은 PHY 계층 유닛(210)을 제어할 수 있고, 다양한 기능들(예를 들어, 인포테인먼트 기능 등)을 수행할 수 있다. PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.
PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 매체 독립 인터페이스(media independent interface, MII)(230)를 통해 연결될 수 있다. MII(230)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, PHY 계층 유닛(210)과 컨트롤러 유닛(220) 간의 데이터 인터페이스 및 관리 인터페이스로 구성될 수 있다. MII(230) 대신에 RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII), XGMII(10 GMII) 중 하나의 인터페이스가 사용될 수 있다. 또한, MII(230)와 함께 MDIO(Management Data Input/Output)를 통해 PHY 계층 유닛(210)과 컨트롤러 유닛(220)이 연결될 수 있다.
데이터 인터페이스는 전송 채널(channel) 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭(clock), 데이터 및 제어 신호를 가질 수 있다. 관리 인터페이스는 2-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.
PHY 계층 유닛(210)은 PHY 계층 인터페이스 유닛(211), PHY 계층 프로세서(processor)(212) 및 PHY 계층 메모리(memory)(213) 등을 포함할 수 있다. PHY 계층 유닛(210)의 구성은 이에 한정되지 않으며, PHY 계층 유닛(210)은 다양하게 구성될 수 있다. PHY 계층 인터페이스 유닛(211)은 컨트롤러 유닛(220)으로부터 수신된 신호를 PHY 계층 프로세서(212)로 전송할 수 있고, PHY 계층 프로세서(212)로부터 수신된 신호를 컨트롤러 유닛(220)에 전송할 수 있다. PHY 계층 프로세서(212)는 PHY 계층 인터페이스 유닛(211) 및 PHY 계층 메모리(213) 각각의 동작을 제어할 수 있다. PHY 계층 프로세서(212)는 전송할 신호의 변조 또는 수신된 신호의 복조를 수행할 수 있다. PHY 계층 프로세서(212)는 신호를 입력 또는 출력하도록 PHY 계층 메모리(213)를 제어할 수 있다. PHY 계층 메모리(213)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(212)의 요청에 따라 저장된 신호를 출력할 수 있다.
컨트롤러 유닛(220)은 MII(230)를 통해 PHY 계층 유닛(210)에 대한 모니터링 및 제어를 수행할 수 있다. 컨트롤러 유닛(220)은 컨트롤러 인터페이스 유닛(221), 컨트롤러 프로세서(222), 주 메모리(223) 및 보조 메모리(224) 등을 포함할 수 있다. 컨트롤러 유닛(220)의 구성은 이에 한정되지 않으며, 컨트롤러 유닛(220)은 다양하게 구성될 수 있다. 컨트롤러 인터페이스 유닛(221)은 PHY 계층 유닛(210)(즉, PHY 계층 인터페이스 유닛(211)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 컨트롤러 프로세서(222)에 전송할 수 있고, 컨트롤러 프로세서(222)로부터 수신된 신호를 PHY 계층 유닛(210) 또는 상위 계층에 전송할 수 있다. 컨트롤러 프로세서(222)는 컨트롤러 인터페이스 유닛(221), 주 메모리(223) 및 보조 메모리(224)를 제어하기 위한 독립된 메모리 컨트롤 로직(control logic) 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 메모리 컨트롤 로직은 주 메모리(223) 및 보조 메모리(224)에 포함되어 구현될 수도 있으며, 또는 컨트롤러 프로세서(222)에 포함되어 구현될 수도 있다.
주 메모리(223) 및 보조 메모리(224) 각각은 컨트롤러 프로세서(222)에 의해 처리된 신호를 저장할 수 있고, 컨트롤러 프로세서(222)의 요청에 따라 저장된 신호를 출력할 수 있다. 주 메모리(223)는 컨트롤러 프로세서(222)의 동작을 위해 필요한 데이터를 일시 저장하는 휘발성 메모리(예를 들어, RAM(random access memory) 등)를 의미할 수 있다. 보조 메모리(224)는 운영체제 코드(operating system code)(예를 들어, 커널(kernel) 및 디바이스 드라이버(device driver))와 컨트롤러 프로세서(220)의 기능을 수행하기 위한 응용 프로그램(application program) 코드 등이 저장되는 비휘발성 메모리를 의미할 수 있다. 비휘발성 메모리로 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 사용될 수 있고, 또는 대용량의 데이터 저장을 위한 하드 디스크 드라이브(hard disc drive, HDD), CD-ROM(compact disc-read only memory) 등이 사용될 수 있다. 컨트롤러 프로세서(222)는 통상적으로 적어도 하나의 프로세싱 코어(core)를 포함하는 로직 회로로 구성될 수 있다. 컨트롤러 프로세서(222)로 ARM(Advanced RISC Machines Ltd.) 계열의 코어, 아톰(atom) 계열의 코어 등이 사용될 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다
도 3은 엔드 노드에서 물리적(physical) 에러가 발생한 것을 나타내는 도면이다.
도 3을 참조하면, 컨트롤러 유닛(220)은 PHY 계층 유닛(210)과 연결될 수 있고, PHY 계층 유닛(210)을 제어할 수 있다. 엔드 노드에 배치된 PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 MII(230) 및 MDIO(240) 인터페이스를 통해 연결되어 있다. 도 3에 도시된 PHY 계층 유닛(210)과 컨트롤러 유닛(220) 각각의 기능은 도 2에 도시된 PHY 계층 유닛(210)과 컨트롤러 유닛(220)의 기능과 동일 또는 유사할 수 있다.
MII(230)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, MII(230) 대신에 RMII, GMII, RGMII, SGMII, XGMII 중 하나의 인터페이스가 사용될 수 있다. 데이터 인터페이스는 전송 채널 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭, 데이터 및 제어 신호를 가질 수 있다.
MDIO(240)는 IEEE RFC 802.3ae에 정의되어 있으며, 2-신호 인터페이스로 구성되며 하나는 클럭(clock)을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다. 예로서, MDC는 2.5MHz 이하의 클럭을 사용하며, 양방향 데이터 포트를 통해 데이터를 송수신할 수 있다.
PHY 계층 유닛(210)의 포트가 파손되거나 접촉 불량 등의 이유로 다른 장치 또는 스위치와의 연결이 실패(fail)할 수 있으며, 이를 PHY 계층 유닛(210)의 물리적 에러(physical error)로 분류할 수 있다. 예로서, PHY 계층 프로세서(212)는 PHY 계층 유닛(210)의 특정 포트 또는 복수의 포트로부터 신호 수신되지 않거나, 신호와 함께 허용된 수준을 초과하는 노이즈가 수신되는 경우 물리적 에러로 판단할 수 있다. PHY 계층 프로세서(212)는 물리적 에러의 발생 정보를 PHY 계층 인터페이스 유닛(211)으로 전달할 수 있다. PHY 계층 인터페이스 유닛(211)은 MDIO(240) 인터페이스를 통해서 물리적 에러의 발생 정보를 컨트롤러 유닛(220)으로 전송할 수 있다.
PHY 계층 프로세서(212)에서 검출 가능한 PHY 계층 유닛(210)의 물리적 에러는 하기의 표 1에 기재된 바와 같이, 링크 에러(link error), CRC 에러(CRC error), 캐리어 익스텐션 에러(carrier extension error), Bad SSD(false carrier) 에러, Bad ESD(premature end), 수신 에러(Receive Error), 송신 에러(Transmit Error) 및 락 에러(Lock Error)를 포함한다.
Figure 112017073993777-pat00001
PHY 계층 프로세서(212)는 수신된 메시지의 물리적 에러를 검출하고, 검출된 물리적 에러에 대한 정보를 컨트롤러 유닛(220)으로 전달한다. 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 에러 정보를 확인하고, PHY 계층 유닛(210)에서 발생한 에러의 형태에 따라서 링크 에러(Link Error), CRC 에러(CRC Error), 캐리어 익스텐션 에러(Carrier Extension Error), Bad SSD(False Carrier Error) 에러, Bad ESD 에러(Premature End Error), 수신 에러(Receive Error), 송신 에러(Transmit Error) 및 락 에러(Lock Error)로 분류할 수 있다.
예로서, 다른 장치와 PHY 계층 유닛(210)을 연결하는 링크가 차단 또는 끊어져 아무런 메시지를 수신하는 못하는 에러가 발생하는 경우, PHY 계층 유닛(210)은 이에 대한 에러 정보를 컨트롤러 유닛(220)으로 전달할 수 있다. 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 에러 정보를 확인할 수 있고, PHY 계층 유닛(210)에서 발생한 에러를 링크 에러(Link Error)로 분류할 수 있다.
또한, PHY 계층 프로세서(212)는 수신된 메시지에 대해서 CRC 에러 검출을 수행하게 되는데 특정 메시지의 CRC 에러 검출이 정상적으로 수행되지 않는 경우, 이에 대한 에러 정보를 컨트롤러 유닛(220)으로 전달할 수 있다. 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 에러 정보를 확인할 수 있고, PHY 계층 유닛(210)에서 발생한 에러를 CRC 에러(CRC Error)로 분류할 수 있다.
또한, PHY 계층 프로세서(212)는 이더넷 네트워크 간에 호환성 및 충돌 감지를 보장하기 위해서 설정된 확장 비트(extension bit)와 수신된 메시지의 비트수가 다른 경우, 이에 대한 에러 정보를 컨트롤러 유닛(220)으로 전달할 수 있다. 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 에러 정보를 확인할 수 있고, PHY 계층 유닛(210)에서 발생한 에러를 캐리어 익스텐션 에러(Carrier Extension Error)로 분류할 수 있다.
또한, PHY 계층 프로세서(212)는 PHY 계층에서 신호를 송신한 것처럼 허위 캐리어가 발생한 것을 감지하는 경우, 이에 대한 에러 정보를 컨트롤러 유닛(220)으로 전달할 수 있다. 이러한 허위 캐리어는 프리앰블이 디코딩되는 데이터의 시작지점에서 발생할 수 있다.
컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 에러 정보를 확인할 수 있고, PHY 계층 유닛(210)에서 발생한 에러를 Bad SSD(false carrier) 에러로 분류할 수 있다.
컨트롤러 프로세서(222)는 PHY 계층 유닛(210)의 물리적 에러의 유형을 다음과 같이 분류할 수 있다. 상기 표 1에 기재된 바와 같이, 컨트롤러 프로세서(222)는 링크 에러(Link Error), Bad ESD 에러 및 락 에러를 치명적인 에러(Critical Error)로 분류할 수 있다. 또한, 컨트롤러 프로세서(222)는 Bad SSD(false carrier) 에러, CRC 에러(CRC error), 캐리어 에러(carrier error), 수신 에러(Rx error) 및 송신 에러(Tx error)를 카운터블 에러(countable error)로 분류할 수 있다.
구체적으로, 컨트롤러 프로세서(222)는 카운터블 에러 중에서 CRC 에러를 CRC 카운팅 에러(counting error)로 분류할 수 있다. 또한, 컨트롤러 프로세서(222)는 캐리어 익스텐션 에러를 캐리어 카운팅 에러(Carrier Counting Error)로 분류할 수 있다. 또한, 컨트롤러 프로세서(222)는 Bad SSD(false carrier) 에러를 SSD 카운팅 에러(SSD counting error)로 분류할 수 있다. 또한, 컨트롤러 프로세서(222)는 수신 에러는 Rx 카운팅 에러(Rx counting error)로 분류하고, 송신 에러는 Tx 카운팅 에러(Tx counting error)로 분류할 수 있다.
컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 유닛(210)에서 발생한 물리적 에러의 유형 및 에러 수준(예로서, 에러 카운터 값)에 따라서 에러 처리 및 복구 방법을 상이하게 적용할 수 있다.
이를 위해서, 컨트롤러 프로세서(222)는 물리적 에러의 유형 별로 에러를 카운팅 하기 위한 에러 카운터를 포함할 수 있다. 에러 카운터는 CRC 에러 카운터(CRC Error Counter), 캐리어 에러 카운터(Carrier Error Counter), SSD 에러 카운터(SSD Error Counter), 수신 에러 카운터(Rx Error Counter), 송신 에러 카운터(Tx Error Counter)를 포함할 수 있다.
컨트롤러 프로세서(222)는 카운터블 에러(countable error)가 검출될 때마다 해당 에러 유형에 대응하는 에러 카운터를 +1씩 증가시킬 수 있고, 통신이 정상으로 수행되면 에러 카운터를 -1씩 감소 시킬 수 있다.
예로서, 컨트롤러 프로세서(222)는 PHY 계층에서 신호를 송신한 것처럼 허위 캐리어가 발생하는 Bad SSD(false carrier) 에러가 감지되면, 이러한 Bad SSD(false carrier) 에러가 검출될 때마다 SSD 에러 카운터를 +1씩 증가시킬 수 있다.
컨트롤러 프로세서(222)는 에러 유형 별 에러 카운터 값을 모두 합하여 전체 에러 카운터 값을 산출하고, 전체 에러 카운터의 값에 따라서 에러 처리 및 복구를 상이하게 적용할 수 있다.
예로서, 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 에러 카운터 값에 따라서 크게 4가지 방법으로 물리적 에러의 처리 및 복구를 수행할 수 있다.
1. 컨트롤러 프로세서(222)는 에러 카운터 값이 0보다 크고 제1 값(예로서, 96) 이하인 경우(0 < error counter ≤ 96)에는 에러 발생을 경고할 수 있다.
2. 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제1 값(예로서, 96)보다 크고 제2 값(예로서, 126) 이하인 경우(96 < error counter ≤ 126)에는 에러 발생하지만 통신 가능한 수준으로 판단하고, 통신을 그대로 유지시킬 수 있다.
3. 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제2 값(예로서, 126)보다 크고 제3 값(예로서, 256) 이하인 경우(126 < error counter ≤ 256) 네트워크 에러가 심각한 수준으로 판단하고, 네트워크의 구성(Configuration)의 변경을 금지시킬 수 있다.
4. 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제3 값(예로서, 256)보다 큰 경우(256 < error counter)에는 에러 정보를 도 2에 도시된 보조 메모리(224)에 저장하고, 노드의 리셋을 수행할 수 있다. 이때, 컨트롤러 프로세서(222)는 PHY 계층 또는 MAC 계층의 리셋을 수행할 수 있다.
한편, 컨트롤러 프로세서(222)는 링크 에러, Bad ESD(premature end) 에러, 락 에러와 같은 치명적인 에러(Critical Error)가 검출되면, 에러 정보를 보조 메모리(224)에 저장하고 통신을 중지시킬 수 있다. 이때, 컨트롤러 프로세서(222)는 치명적인 에러가 지속해서 검출되는 동안에는 통신을 중지시킬 수 있다. 컨트롤러 프로세서(222)는 치명적인 에러의 발생 여부를 일정 시간 동안 모니터링하고, 일정 시간 동안 치명적인 에러가 검출되지 않으면 통신을 재개시킬 수 있다.
도 4는 엔드 노드에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다. 이하, 도 4를 참조하여, PHY 계층 유닛에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 구체적으로 설명하기로 한다.
컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 수신된 메시지의 물리 채널 파라미터(physical channel parameter)와 보조 메모리(224)에 저장된 물리 채널 파라미터를 비교하여 물리 채널 파라미터 값이 매칭되는지를 판단할 수 있다(S110). 예로서, 보조 메모리(224)에 저장된 데이터 전송 속도, 링크 값, 마스터와 슬레이브 설정 정보와 수신된 메시지의 전송 속도, 링크 값, 마스터와 슬레이브 설정 정보를 비교하여 매칭여부를 판단할 수 있다.
S110의 판단결과, 컨트롤러 프로세서(222)는 물리 채널 파라미터가 매칭된 경우 메시지가 정상적으로 수신되는 것으로 판단하고 S110 단계로 돌아간다.
한편, S110의 판단 결과, 물리 채널 파라미터가 미스매칭된 경우, 컨트롤러 프로세서(222)는 발생된 에러가 유형이 메시지의 송신 실패 또는 수신 실패인지 판단한다(S120). 이때, 컨트롤러 프로세서(222)는 컨트롤러 유닛(220)에서 PHY 계층 유닛(210)으로 전달된 메시지가 다른 엔드노드 또는 스위치로 정상적으로 송신되지 않는 경우 송신 실패로 판단할 수 있다. 또한, 컨트롤러 프로세서(222)는 일정시간 동안 PHY 계층 유닛(210)으로 메시지가 수신되지 않는 경우 수신 실패로 판단할 수 있다.
S120의 판단결과, 메시지의 송신 실패 또는 수신 실패가 아닌 경우 치명적인 에러가 발생된 것은 아님으로, 컨트롤러 프로세서(222)는 에러 카운터 값을 증가시킬 수 있다. 예로서, 컨트롤러 프로세서(222)는 카운터의 캐리어 에러 카운터 값을 증가(carrier error counter +1)시킬 수 있다(S130).
이어서, 컨트롤러 프로세서(222)는 에러 카운터 값이 기 설정된 기준 값(임계치)을 초과하는지 판단할 수 있다(S140).
S140의 판단 결과, 컨트롤러 프로세서(222)는 에러 카운터 값이 기준 값을 초과하지 않으면 S110으로 돌아가 이후 절차를 수행할 수 있다.
한편, S140의 판단 결과, 컨트롤러 프로세서(222)는 채널 에러 카운터 값이 기준 값을 초과하는 경우, 에러 정보를 보조 메모리(224)에 저장한다(S150).
S140의 판단 결과에서, 컨트롤러 프로세서(222)는 에러 카운터 값이 0보다 크고 제1 값(예로서, 96) 이하인 경우(0 < error counter ≤ 96)에는 에러 발생을 경고한다.
또한, 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제1 값(예로서, 96)보다 크고 제2 값(예로서, 126) 이하인 경우(96 < error counter ≤ 126)에는 에러 발생하지만 통신 가능한 수준으로 판단하고, 통신을 그대로 유지시킨다.
또한, 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제2 값(예로서, 126)보다 크고 제3 값(예로서, 256) 이하인 경우(126 < error counter ≤ 256) 네트워크 에러가 심각한 수준으로 판단하고, 네트워크의 구성(Configuration)의 변경을 금지시킨다.
S140의 판단 결과에서, 컨트롤러 프로세서(222)는 에러 카운터 값이 상기 제3 값(예로서, 256)보다 큰 경우(256 < error counter)에는 S150으로 진행하여 에러 정보를 도 2에 도시된 보조 메모리(224)에 저장한다.
S120으로 돌아가서, S120의 판단 결과, 컨트롤러 프로세서(222)는 검출된 에러의 유형이 메시지의 송신 실패 또는 수신 실패인 경우, 링크 실패가 발생했는지 판단한다(S125). 여기서, PHY 계층의 링크가 정상적으로 유지되더라도 다른 에러로 인해서 메시지의 송신 실패 또는 수신 실패가 발생할 수 있다. 반면, 다른 장치와 PHY 계층 유닛(210)을 연결하는 링크가 차단 또는 끊어지면 메시지의 송신 실패 및 수신 실패가 발생할 수 있다.
PHY 계층 프로세서(212)는 링크의 연결 상태를 확인하여 링크 실패를 검출할 수 있고, 링크 실패에 대한 정보를 컨트롤러 유닛(220)으로 전달할 수 있다. 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 프로세서(212)로부터 수신된 링크 실패에 대한 정보를 확인하고, PHY 계층 유닛(210)에서 발생한 에러가 링크 에러(Link Error)인지를 판단할 수 있다.
S125의 판단 결과, 컨트롤러 프로세서(222)는 검출된 에러의 유형이 링크 실패가 아닌 경우에는 일시적인 에러로 인해서 메시지의 송신 실패 또는 수신 실패가 발생할 수 있음으로 S110으로 돌아가 이후 절차를 수행할 수 있다.
한편, S125의 판단 결과, 컨트롤러 프로세서(222)는 검출된 에러의 유형이 링크 실패인 경우에 심각한 에러에 해당함으로 에러 정보를 보조 메모리(224)에 저장한다(S150).
S150 이후, 컨트롤러 프로세서(222)는 통신 노드(200)들 간의 링크(예로서, 엔드 노드들 간의 링크, 엔드 노드와 스위치 간의 링크, 스위치들 간의 링크 등)를 리셋할 수 있다(S160). 이때, 컨트롤러 프로세서(222)는 PHY 계층 또는 MAC 계층의 리셋을 수행할 수 있다. 여기서, PHY 계층의 전원을 오프(Off)한 후 다시 온(on)하여 링크를 리셋할 수 있다. 이때, 컨트롤러 프로세서(222)가 에러를 감지한 후, 시스템 어플리케이션으로 에러 정보를 전달 및 링크의 리셋을 요청하여 통신 노드(200)들 간의 링크의 리셋이 이루어지도록 할 수 있다. 다른 방법으로서, MDIO(240) 인터페이스의 PHY 계층을 재 설정하여 링크를 리셋할 수 있다. 또 다른 방법으로서, MAC 계층을 재 설정 하여 링크를 리셋할 수 있다.
상술한 본 발명의 실시 예에 따른 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법은 이더넷 통신 중 PHY 계층 유닛(210) 및 컨트롤러 유닛(220)에서 발생하는 물리적 에러의 유형 및 수준(예로서, 에러 카운터 값)을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
도 5는 엔드 노드에서 논리적(logical) 에러가 발생한 것을 나타내는 도면이다.
도 1 및 도 5를 참조하면, 스위치(120)는 복수의 엔드 노드(121, 122) 및 게이트웨이(미도시)와 연결될 수 있다. 스위치(120)에 의해서 복수의 엔드 노드(121, 122)가 상호 연결될 수 있다. 또한, 스위치(120)에 의해서 복수의 엔드 노드(121, 122) 각각이 게이트웨이와 연결될 수 있다. 이러한, 스위치(120)는 ECU를 포함하며, 스위치(120)의 ECU를 통해서 복수의 엔드 노드(121, 122)를 제어할 수 있다.
복수의 엔드 노드(121, 122)는 차량에 배치된 인포테인먼트(infotainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치)가 적용될 수 있으며, 복수의 엔드 노드(121, 122)는 ECU를 포함할 수 있다.
복수의 엔드 노드(121, 122) 각각의 PHY 계층 유닛(210)을 통해서 메시지가 정상적으로 수신되더라도, 메시지 포맷의 변경, 링크 정보의 에러, 미 정의된 메시지의 수신, 완성되지 않은 이더넷 데이터의 수신, 주기적인 메시지의 수신 타임아웃과 같은 논리적 에러(logical error)가 발생할 수 있다.
도 2를 결부하여 설명하면, PHY 계층 유닛(210)은 수신된 메시지를 MII(230)를 통해서 컨트롤러 유닛(220)으로 전달하고, 수신된 메시지의 논리적 에러를 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)에서 검출할 수 있다.
컨트롤러 유닛(220)의 보조 메모리(224)에는 메시지의 포맷 정보, 차량 내 배치된 장치들의 정보, 차량 외부에서 접속이 허용된 장치들의 정보가 저장되어 있는데, 컨트롤러 프로세서는 보조 메모리(224)에 저장된 정보에 기초하여 미 정의된 장치로부터 메시지를 수신한 경우에 논리적 에러를 검출할 수 있다. 또한, 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 잘못된 이더넷 데이터를 수신한 경우에 논리적 에러를 검출할 수 있다.
컨트롤 유닛(220)에서 검출할 수 있는 논리적 에러는 하기의 표 2에 기재된 바와 같이, MAC 인증 에러, MAC 암호 에러, IP(TCP/UDP) 암호 에러, E2E(End to End) CRC 에러, E2E Alive counter 에러, 시그널 미스매치(signal mismatch) 에러, 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, PTP 에러, 예약 실패(Reservation Failure) 에러를 포함할 수 있다.
Figure 112017073993777-pat00002
여기서, 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 논리적 에러의 유형 및 수준(예로서, 에러 카운터 값)에 따라서 에러 처리 및 복구 방법을 상이하게 적용할 수 있다.
컨트롤러 프로세서(222)는 물리적 에러의 유형 별로 에러를 카운팅 하기 위한 에러 카운터를 포함한다. 논리적 에러를 카운팅하기 위한 에러 카운터는 상기 표 2에 기재된 바와 같이, MAC 인증 에러를 카운팅하기 위한 MAC 인증 에러 카운터(MAC Certification Error Counter), MAC 암호 에러를 카운팅하기 위한 MAC 암호 에러 카운터(MAC Secure Error Counter), IP(TCP/UDP) 암호 에러를 카운팅하기 IP 암호 에러 카운터(IP Secure Error Counter), E2E CRC 에러를 카운팅하기 위한 E2E CRC 에러 카운터(E2E CRC Error Counter), E2E Alive counter 에러를 카운팅하기 위한 E2E Alive 에러 카운터, 시그널 미스매치 에러를 카운팅하기 위한 시그널 에러 카운터(Signal Error Counter), 불충분 데이터 에러를 카운팅하기 위한 AVB 데이터 에러 카운터(AVB Data Error Counter), PTP 에러를 카운팅하기 위한 PTP 에러 카운터(PTP error counter), 예약 실패 에러를 카운팅하기 위한 예약 에러 카운터(reservation error counter)를 포함할 수 있다.
컨트롤러 프로세서(222)는 논리적 에러가 검출될 때마다 해당 에러 유형에 대응하는 에러 카운터 값을 +1씩 증가시킨다. 컨트롤러 프로세서(222)는 각각의 에러 유형 별 에러 발생에 대해서 에러 카운팅을 한 후, 에러 유형별 에러 카운터 값에 기초하여 에러 처리 및 복구를 상이하게 적용할 수 있다. 또한, 컨트롤러 프로세서(222)는 논리적 에러 유형 별로 에러 카운터 값을 모두 합산하고, 전체 에러 카운터 값에 따라서 에러 처리 및 복구를 상이하게 적용할 수 있다.
여기서, 전체 유닛에서 에러가 균등하게 발생할 수도 있고, 특정 유닛에서 에러가 집중적으로 발생할 수 있다. 컨트롤러 프로세서(222)는 이러한 에러 발생의 특성을 반영하여 전체 에러에 대한 에러 카운터 값이 기 설정된 기준 값을 초과하는 경우 에러 정보를 보조 메모리(224)에 저장하고, PHY 계층 유닛(210)과 연결된 모든 링크를 리셋할 수 있다. 또한, 컨트롤러 프로세서(222)는 특정 유닛에서 에러 발생이 집중되는 경우, 에러 정보를 보조 메모리에 저장하고, PHY 계층 유닛(210)과 연결된 에러가 집중되는 링크를 리셋할 수 있다. 또한, 컨트롤러 프로세서(222)는 링크를 리셋 한 이후에도 특정 유닛에서 에러 발생이 집중되는 경우에는 해당 특정 유닛과의 통신을 차단할 수 있다.
컨트롤러 프로세서(222)는 에러 카운터 값에 따라서 크게 4가지 방법으로 논리적 에러의 처리 및 복구를 수행할 수 있다.
1. 컨트롤러 프로세서(222)는 에러 카운터 값이 0보다 크고 제1 값(예로서, 96) 이하인 경우(0 < error counter ≤ 96)에는 에러 발생이 시작된 것으로 판단하고, 에러 발생을 경고한다. 이때, 컨트롤러 프로세서(222)는 통신을 그대로 유지시키고, 에러 발생에 대한 정보를 연결된 PHY 계층 유닛(210) 및 인접한 통신 노드에 전달할 수 있다.
2. 컨트롤러 프로세서(222)는 에러 카운터 값이 제1 값(예로서, 96보)다 크고 제2 값(예로서, 126)이하인 경우(96 < error counter ≤ 126)에는 에러 발생하지만 통신 가능한 수준으로 판단하고, 통신을 그대로 유지시킨다.
3. 컨트롤러 프로세서(222)는 에러 카운터 값이 제2 값(예로서, 126)보다 크고 제3 값(예로서, 256)이하인 경우(126 < error counter ≤ 256) 에러가 심각한 수준으로 판단하고, 네트워크의 구성(Configuration)의 변경을 금지시킨다.
4. 컨트롤러 프로세서(222)는 에러 카운터 값이 제3 값(예로서, 256)을 초과하는 경우(256 < error counter)에는 에러 정보를 보조 메모리에 저장한다. 그리고, 컨트롤러 프로세서(222)는 노드를 리셋 한 후, 노드의 리셋 결과를 어플리케이션(application)에 통보한다.
도 6은 엔드 노드에서 논리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다. 이하, 도 2 및 도 6를 참조하여, 논리적 에러의 발생 시 컨트롤러 유닛에서의 에러 처리 및 복구 방법을 구체적으로 설명하기로 한다.
각 엔드 노드의 PHY 계층 유닛(210)은 다른 통신 노드로부터 메시지를 수신(예로서, 메시지를 패킷 형태로 수신)하게 되는데, 컨트롤러 유닛(220)의 컨트롤러 프로세서(222)는 PHY 계층 유닛(210)에서 수신된 메시지의 포맷이 보조 메모리(224)에 저장된 메시지 포맷과 매칭되는지 판단할 수 있다. 이더넷 신호는 고정되어 있기 때문에, 각 제어기의 DB에는 수신된 데이터의 포트 넘버, IP 어드레스 및 MAC 어드레스 정보가 저장되어 있다. 여기서, 각 제어기의 DB는 보조 메모리에 포함될 수 있다. 데이터가 수신되면 DB에 저장된 포트 넘버, IP 어드레스 및 MAC 어드레스 정보와 수신된 데이터의 포트 넘버, IP 어드레스 및 MAC 어드레스 정보를 비교하여 정상적인 메시지가 수신되었는지 판단할 수 있다(S210).
S210의 판단 결과, 컨트롤러 프로세서(222)는 수신된 데이터의 포맷이 보조 메모리(224)에 저장된 메시지 포맷과 매칭되는 경우, 정상적인 메시지를 수신한 것으로 판단하고, S210으로 돌아간다.
한편, S210의 판단 결과, 컨트롤러 프로세서(222)는 수신된 메시지의 포맷이 보조 메모리(224)에 저장된 메시지 포맷과 매칭되지 않으면 비정상적인 메시지를 수신한 것으로 판단한다.
여기서, 엔드 노드에 수신된 메시지가 도 7에 도신된 바와 같은 기 설정된 이더넷 데이터 포맷을 만족하지만, 특정한 차종 또는 차량 시스템에서 사용을 정의하지 않거나 정의되어 있는 값과 다른 경우에 컨트롤러 프로세서(222)는 패킷 에러로 판단할 수 있다. 예를 들어, 0xFFFF F123의 소스 IP 어드레스를 가지는 데이터가 게이트웨이(gateway)에서 엔드노드(예로서, head unit) 전달된다고 할 때, 엔드노드에 수신된 데이터의 소스 IP 어드레스가 게이트웨이가 아닌 경우에 컨트롤러 프로세서(222)는 패킷 에러로 판단할 수 있다. 또한, 수신된 데이터의 소스 IP 어드레스가 엔드노드의 메모리(또는 통신 데이터 베이스)에 정의되어 있지 않은 경우 컨트롤러 프로세서(222)는 패킷 에러로 판단할 수 있다.
이더넷 데이터의 송수신 시, 페이로드(payload) 영역을 정의하게 되는데, 데이터 송수신을 보장하기 위해 CRC 및 Alive count를 사용할 수 있다. 보안 코드를 페이로드에 정의했을 때, 페이로드에 정의된 내용이 기 설정된 내용과 일치하지 않는 경우에 컨트롤러 프로세서(222)는 프레임 에로로 판단할 수 있다.
S210 이후, 컨트롤러 프로세서(222)는 수신된 데이터의 에러를 검출할 수 있다. 여기서, 컨트롤러 프로세서(222)는 검출된 에러가 에러 패킷에 의한 것인지 판단한다(S215).
S215의 판단 결과, 에러 패킷에 의한 에러 발생이 아닌 경우, 컨트롤러 프로세서(222)는 에러 카운터를 증가시킬 수 있다. 예로서, 컨트롤러 프로세서(222)는 프레임 에러 카운터를 증가(frame error counter +1)시킬 수 있다(S220).
이어서, 컨트롤러 프로세서(222)는 프레임 에러 카운터 값이 방어가 필요한 수준에 해당하는지 판단할 수 있다(S225).
S225의 판단 결과, 프레임 에러 카운터 값이 방어가 필요한 수준을 초과하지 않는 경우, 컨트롤러 프로세서(222)는 프레임 에러 카운터 값이 경고 수준을 초과하는지 판단할 수 있다(S230).
S230의 판단 결과, 프레임 에러 카운터 값이 경고 수준을 초과하는 경우, 컨트롤러 프로세서(222)는 에러 정보를 보조 메모리(224)에 저장할 수 있다(S235).
한편, S230의 판단 결과, 프레임 에러 카운터 값이 경고 수준을 초과하지 않는 경우, 컨트롤러 프로세서(222)는 에러가 발생하고 있지만 통신이 가능한 수준임으로 통신을 유지시키고, S210 단계로 돌아가 이후 절차를 수행할 수 있다.
다시, S225로 돌아가서, S225 판단 결과, 에러 카운터 값이 방어 수준을 초과하는 경우, 컨트롤러 프로세서(222)는 에러를 발생시키는 해당 유닛과의 통신을 차단시킬 수 있다(S240). 예로서, 컨트롤러 프로세서(222)는 에러 카운터 값이 제1 값(예로서, 96)보다 큰 경우(96 < frame error counter)에는 특정 유닛으로부터 에러가 집중되는 것으로 판단하고, 해당 유닛의 통신을 즉시 차단시킬 수 있다. 또한, 컨트롤러 프로세서(222)는 프레임 에러 카운터 값이 방어 수준을 초과하는 경우에도 에러 정보를 보조 메모리(224)에 저장할 수 있다.
S215로 돌아가서, S215의 판단 결과, 에러 패킷에 의해서 에러가 발생한 경우, 컨트롤러 프로세서(222)는 에러 카운터 값을 증가시킬 수 있다. 예로서, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값을 증가(packet error counter +1)시킬 수 있다(S245).
이어서, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값이 방어가 필요한 수준을 초과하는지 판단할 수 있다(S250).
S250의 판단 결과, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값이 방어가 필요한 수준을 초과하지 않으면, 패킷 에러 카운터 값이 경고 수준을 초과하는지 판단할 수 있다(S255).
S255의 판단 결과, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값이 경고 수준을 초과하면, 통신은 가능하지만 패킷 에러가 발생하여 통신에 장애가 발생할 수 있음으로, 이러한 에러 정보를 엔드 노드의 보안 모듈에 통보할 수 있다(S260). 여기서, 각각의 엔드 노드는 보안 모듈을 포함하며, 각각의 엔드 노드는 보안 모듈에 저장된 정보를 게이트웨이로 전송할 수 있다. 게이트웨이는 각 엔드노드의 보안 모듈에서 수신된 정보를 취합 및 저장할 수 있다.
한편, S255의 판단 결과, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값이 경고 수준을 초과하지 않으면 통신이 가능한 것으로 판단하고, S210으로 돌아가 이후 절차를 수행할 수 있다.
한편, S250의 판단 결과, 컨트롤러 프로세서(222)는 패킷 에러 카운터 값이 방어가 필요한 수준을 초과하는 경우, PHY 계층 유닛(210)의 링크를 리셋하여 통신을 차단할 수 있다. 또한, 컨트롤러 프로세서(222)는 에러 카운터 값이 방어가 필요한 수준을 초과하는 경우, MAC 계층과의 링크를 리셋하여 통신을 차단할 수 있다(S265).
상술한 본 발명의 실시 예에 따른 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법은 이더넷 통신 중 PHY 계층 유닛 및 컨트롤러 유닛(220)에서 발생하는 논리적 에러의 유형 및 수준(예로서, 에러 카운터 값)을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
도 8은 스위치에서 물리적 에러가 발생한 것을 나타내는 도면이다.
도 8을 참조하면, 스위치(120)는 스위치 프로세서(120a) 및 메모리(120b)를 포함할 수 있다. 여기서, 스위치 프로세서(120a)는 에러 유형에 따라서 에러가 발생할 때마다 에러 카운터 값을 증가시키기 위한 에러 카운터를 포함할 수 있다. 스위치(120)는 복수의 엔드 노드(121, 122, 123), 다른 스위치 및 게이트웨이와 연결하기 위해서 복수의 포트를 포함할 수 있다. 스위치(120)를 통해서 복수의 엔드 노드(121, 122, 123)를 상호 연결시킬 수 있고, 게이트웨이와 복수의 엔드 노드(121, 122, 123) 각각을 연결시킬 수 있다. 이러한, 스위치(120)와 복수의 엔드 노드(121, 122, 123)는 SIP 인터페이스로 연결되며, 스위치(120)는 자신과 연결된 복수의 엔드 노드(121, 122, 123) 각각을 제어할 수 있다.
복수의 엔드 노드(121, 122, 123)는 차량에 포함된 각종 장치를 제어하는 ECU(electronic control unit)를 의미할 수 있다. 예를 들어, 복수의 엔드 노드(121, 122, 123) 각각은 인포테인먼트(infotainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
차량의 이더넷 통신 과정 중 스위치(120)에 포함된 복수의 포트 중 일부에서 물리적 에러가 발생할 수 있는데, 스위치 프로세서(120a)는 모든 포트에서 송수신되는 데이터 패킷을 모니터링하여 모든 포트 또는 특정 포트에서 발생하는 물리적 에러를 검출할 수 있다.
스위치 프로세서(120a)는 물리적 에러가 발생한 포트의 개수 및 에러 수준(에러 카운터 값)에 기초하여 에러의 처리 및 복구를 수행할 수 있다. 예로서, 스위치 프로세서(120a)는 스위치(120)의 모든 포트 또는 특정 포트에서 발생하는 물리적 에러를 검출하고, 물리적 에러의 유형을 분류할 수 있다. 이때, 스위치 프로세서(120a)는 물리적 에러의 유형이 송신 실패, 수신 실패 또는 링크 실패인 것으로 확인되면, 이를 심각한 에러로 판단하고 에러 정보를 메모리(120b)에 저장 및 전체 포트와 연결된 링크를 리셋하여 에러를 복구할 수 있다.
한편, 스위치 프로세서(120a)는 물리적 에러의 유형이 송신 실패, 수신 실패 또는 링크 실패가 아닌 경우에, 에러 유형 별로 에러가 발생할 때마다 에러 카운터 값을 증가시킬 수 있다. 이를 위해, 스위치 프로세서(120a)는 에러 유형 별로 에러를 카운팅하기 위한 에러 카운터를 포함할 수 있다.
스위치 프로세서(120a)는 에러 유형별 에러 카운터 값을 합산하여 전체 에러 카운터 값을 산출할 수 있다. 그리고, 스위치 프로세서(120a)는 전체 에러 카운터 값, 즉, 전체 포트의 에러 카운터 값의 총 합이 기 설정한 기준 값(예로서, 256)을 초과(256 < error counter)하면 에러 정보를 메모리(120b)에 저장하고, 전체 포트와 연결된 링크를 리셋하여 에러를 복구할 수 있다.
다른 예로서, 스위치 프로세서(120a)는 특정 포트에서 에러가 검출된 경우에, 특정 포트의 에러가 발생될 때마다 에러 카운터 값을 증가시킬 수 있다. 예로서, 스위치 프로세서(120a)는 특정 포트에서 에러가 발생될 때마다 채널 에러 카운터 값을 증가시킬 수 있다. 스위치 프로세서(120a)는 특정 포트의 채널 에러 카운터 값이 기 설정한 기준 값(예로서, 96)을 초과(96 < error counter)하는 경우에 에러 정보를 메모리(120b)에 저장할 수 있다. 그리고, 스위치 프로세서(120a)는 에러가 발생한 특정 포트와 연결된 링크를 리셋하여 에러를 복구할 수 있다.
한편, 스위치 프로세서(120a)는 특정 포트의 에러 카운터 값이 기 설정한 기준 값(예로서, 96) 이하인 경우에는 통신이 가능한 것으로 판단하고, 해당 포트의 통신을 그대로 유지시킬 수 있다.
여기서, 1개의 포트에서 에러가 발생한 것이 아니라 복수의 포트에서 지속적으로 에러가 발생한 경우에, 스위치 프로세서(120a)는 에러가 발생하는 포트들의 에러 카운터 값을 합산하여 링크의 리셋 여부를 결정할 수 있다.
예로서, 스위치 프로세서(120a)는 에러가 발생한 복수의 포트의 에러 카운터 값을 모두 합산 한 후, 합산 한 에러 카운터 값이 기 설정한 기준 값(예로서, 256)을 초과(256 < error counter)하면 에러 정보를 메모리(120b)에 저장할 수 있다. 그리고, 스위치 프로세서(120a)는 에러가 발생한 복수의 포트와 연결된 링크를 리셋하여 에러를 복구할 수 있다.
한편, 스위치 프로세서(120a)는 복수의 포트에서 에러가 발생하는 경우, 복수의 포트의 에러 카운터 값을 합산하고, 에러 카운터 값의 합산 결과가 기 설정한 기준 값(예로서, 256) 이하인 경우 해당 복수의 포트의 통신을 그대로 유지시킨다.
도 9는 스위치에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 나타내는 도면이다. 도 9를 참조하여, 스위치에서 물리적 에러의 발생 시 에러 처리 및 복구 방법을 구체적으로 설명하기로 한다.
스위치 프로세서(120a)는 수신된 메시지의 물리 채널 파라미터(physical channel parameter)와 보조 메모리(224)에 저장된 물리 채널 파라미터를 비교하여 물리 채널 파라미터 값이 매칭되는지를 판단할 수 있다(S310). 예로서, 보조 메모리(224)에 저장된 데이터 전송 속도, 링크 값, 마스터와 슬레이브 설정 정보와 수신된 메시지의 전송 속도, 링크 값, 마스터와 슬레이브 설정 정보를 비교하여 매칭여부를 판단할 수 있다
S310의 판단 결과, 스위치 프로세서(120a)는 전체 포트의 물리 채널 파라미터가 매칭된 경우 S310로 돌아간다.
한편, S310의 판단 결과, 스위치 프로세서(120a)는 전체 포트의 물리 채널 파라미터가 미스매칭된 경우, 스위치에 구성된 모든 포트에서 에러가 발생했는지 판단할 수 있다(S320).
S320의 판단 결과, 모든 포트에서 에러가 발생한 경우, 스위치 프로세서(120a)는 에러의 유형이 데이터의 송신(Tx) 및 수신(Rx) 실패인지 판단할 수 있다(S330).
S330의 판단 결과, 데이터의 송신(Tx) 및 수신(Rx) 실패가 발생한 경우, 스위치 프로세서(120a)는 링크 실패 에러가 발생했는지 판단할 수 있다(S340). 여기서, 스위치(120)의 포트의 링크가 정상적으로 유지되더라도 다른 에러로 인해서 메시지의 송신 실패 또는 수신 실패가 발생할 수 있다. 반면, 엔드 노드와 스위치를 연결하는 링크가 차단 또는 끊어지면 메시지의 송신 실패 및 수신 실패가 발생할 수 있다. 스위치 프로세서(120a)는 링크의 연결 상태를 확인하여 링크 실패를 검출할 수 있고, 링크 실패에 대한 정보를 엔드 노드, 다른 스위치 및 게이트웨이로 전달할 수 있다.
S340의 판단 결과, 스위치 프로세서(120a)는 링크 실패 에러가 아닌 경우, 에러 카운터를 증가시킬 수 있다. 예로서 스위치 프로세서(120a)는 링크 실패 에러가 아닌 경우에 채널 에러 카운터를 증가(channel error counter +1)시킬 수 있다. 이때, 모든 포트에서 에러가 발생할 수도 있고 특정 포트에서 에러가 발생할 수도 있음으로, 스위치 프로세서(120a)는 에러가 발생한 포트 별로 에러 카운터 값을 증가시킬 수 있다(S350).
이어서, 스위치 프로세서(120a)는 채널 에러 카운터 값이 기 설정한 기준 값을 초과하는지 판단한다(S360). 이때, 기준 값은 에러가 발생한 포트의 개수에 따라서 달라질 수 있다.
S360의 판단 결과, 채널 에러 카운터 값이 기 설정한 기준 값을 초과하는 경우, 스위치 프로세서(120a)는 통신이 불가능한 것으로 판단하고 에러 정보를 메모리(120b)에 저장할 수 있다(S370).
다시, S320으로 돌아가서, S320의 판단 결과, 모든 포트에서 에러가 발생하지 않고 특정 포트에서 에러가 발생한 경우, 스위치 프로세서(120a)는 특정 포트에서 송신 및 수신 실패가 발생했는지 판단할 수 있다(S325). 이때, 스위치 프로세서(120a)는 스위치(120)의 PHY 계층으로부터 일정시간 동안 메시지 수신이 되지 않는 경우 수신 실패가 발생한 것으로 판단할 수 있다. 또한, 스위치 프로세서(120a)는 스위치(120)의 PHY 계층으로 전달된 메시지가 다른 엔드노드 또는 스위치로 정상적으로 송신되지 않는 경우 송신 실패로 판단할 수 있다.
S325의 판단 결과, 특정 포트에서 송신 및 수신 실패가 발생한 경우, 스위치 프로세서(120a)는 S340으로 진행하여 링크 실패 여부를 판단하고, S340 이후의 절차를 수행할 수 있다.
한편, S325의 판단 결과, 특정 포트에서 송신 및 수신 실패가 발생하지 않은 경우, 스위치 프로세서(120a)는 S350으로 진행하여 채널 에러 카운터 값을 증가 channel error counter +1)시킨 후, S350 이후의 절차를 수행할 수 있다. 이때, 모든 포트에서 에러가 발생할 수도 있고 특정 포트에서 에러가 발생할 수도 있음으로, 스위치 프로세서(120a)는 에러가 발생한 포트 별로 에러 카운터 값을 증가시킬 수 있다.
S360의 판단 결과, 스위치 프로세서(120a)는 채널 에러 카운터 값이 기 설정된 기준 값을 초과하지 않으면 에러가 발생했지만 통신이 가능한 수준으로 판단하고, 모든 포트의 통신 상태를 그대로 유지시킬 수 있다. 그리고, 스위치 프로세서(120a)는 S310 단계로 돌아가 이후 절차를 수행할 수 있다.
한편, S360의 판단 결과, 채널 에러 카운터 값이 기 설정한 기준 값을 초과하는 경우, 스위치 프로세서(120a)는 통신이 불가능한 것으로 판단하고 에러 정보를 메모리(120b)에 저장할 수 있다(S370).
이어서, 스위치 프로세서(120a)는 S340의 판단 결과 링크 실패가 발생한 경우 포트의 링크를 리셋하여 에러를 복구할 수 있다. 또한, 스위치 프로세서(120a)는 S360의 판단 결과 스위치의 모든 포트 또는 특정 포트의 에러 카운터 값이 기준 값을 초과하는 경우 에러가 발생한 포트의 링크를 리셋하여 에러를 복구할 수 있다(S380).
여기서, 스위치 프로세서(120a)는 스위치(120)의 복수의 포트 중에서 1개의 특정 포트의 에러 카운터 값이 기 설정한 제1 기준 값(예로서, 96)을 초과(96 < error counter)하는 경우 S370 절차를 수행하여 에러 정보를 메모리(120b)에 저장할 수 있다. 그리고, 스위치 프로세서(120a)는 S380 절차를 수행하여 에러가 발생한 1개의 특정 포트의 링크를 리셋할 수 있다.
한편, 1개의 포트에서 에러가 발생한 것이 아니라 복수의 포트에서 지속적으로 에러가 발생한 경우에, 스위치 프로세서(120a)는 에러가 발생하는 포트의 개수를 반영하여 링크를 리셋 여부를 결정할 수 있다.
예로서, 스위치 프로세서(120a)는 에러가 발생한 복수의 포트 각각의 에러 카운터 값이 제1 기준 값(예로서, 96)을 초과하지는 않더라도, 에러가 발생한 포트들의 에러 카운터 값의 총 합이 제2 기준 값(예로서, 256)을 초과하는 경우(256 < error counter))에는 S370 절차를 수행하여 에러 정보를 메모리(120b)에 저장할 수 있다. 이후, 스위치 프로세서(120a)는 S380 절차를 수행하여 에러가 발생한 복수의 포트의 링크를 리셋할 수 있다.
상술한 본 발명의 실시 예에 따른 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법은 이더넷 통신 중 스위치에서 발생하는 물리적 에러를 검출하고, 물리적 에러의 유형 및 수준(예로서, 에러 카운터 값)을 구분하여 에러의 처리 및 복구를 수행함으로써, 통신의 안정성을 확보하고 치명적인 에러 발생 시 신속하게 에러를 복구할 수 있도록 한다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당 업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당 업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
200: 통신 노드 210: PHY 계층 유닛(physical layer unit)
211: PHY 계층 인터페이스 유닛 212: PHY 계층 프로세서
213: 메모리 220: 컨트롤러 유닛
221: 컨트롤러 인터페이스 유닛 222: 컨트롤러 프로세서
223: 주 메모리 224: 보조 메모리
230: MII(media independent interface)
240: MDIO(Management Data Input/Output)

Claims (17)

  1. 이더넷(ethernet) 기반의 차량 네트워크(network)의 엔드 노드에서 수행되는 에러복구 방법으로서,
    상기 엔드 노드의 PHY 계층 유닛으로 메시지 수신 시, 상기 PHY 계층 유닛의 PHY 계층 프로세서가 상기 메시지의 물리적 에러를 검출하는 단계;
    상기 엔드 노드에 포함된 컨트롤러 유닛의 컨트롤러 프로세서가 상기 메시지의 논리적 에러를 검출하는 단계;
    상기 컨트롤러 프로세서가 상기 물리적 에러의 유형을 링크 에러, Bad ESD(premature end) 에러, 락 에러(lock error), Bad SSD(false carrier) 에러, CRC 에러(CRC error), 캐리어 에러(carrier error), 수신 에러(Rx error) 및 송신 에러(Tx error) 중 하나로 구분하는 단계;
    상기 PHY 계층 프로세서가 상기 유형에 따른 물리적 에러를 검출할 때마다 상기 컨트롤러 프로세서가 상기 물리적 에러의 에러 카운터 값을 증가시키는 단계; 및
    상기 에러 카운터 값에 기초하여 상기 컨트롤러 프로세서가 상기 에러 카운터 값에 연관된 상기 물리적 에러의 복구를 수행하는 단계;를 포함하는
    엔드 노드의 에러복구 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 링크 에러, 상기 Bad ESD 에러 및 상기 락 에러 중 하나가 검출되면 일정시간 동안 통신을 중지시키고, 상기 일정시간 이후에 에러가 발생하지 않으면 통신을 재개시키는 단계;를 더 포함하는,
    엔드 노드의 에러복구 방법.
  4. 삭제
  5. 청구항 1항에 있어서,
    상기 물리적 에러의 에러 카운터 값이 0보다 크고 제1 값 이하인 경우 에러 발생을 경고하고,
    상기 물리적 에러의 에러 카운터 값이 상기 제1 값보다 크고 제2 값 이하인 경우 통신을 유지시키고,
    상기 물리적 에러의 에러 카운터 값이 상기 제2 값보다 크고 제3 값 이하인 경우 네트워크 구성의 변경을 금지시키고,
    상기 물리적 에러의 에러 카운터 값이 상기 제3 값보다 큰 경우 에러 정보를 메모리에 저장하고, 링크를 리셋하여 에러를 복구하는,
    엔드 노드의 에러복구 방법.
  6. 청구항 1에 있어서,
    상기 컨트롤러 프로세서가 상기 논리적 에러의 유형을 MAC 인증 에러, MAC 암호 에러, IP(Internet Protocol) 암호 에러, E2E(End to End) CRC 에러, E2E Alive counter 에러, 시그널 미스매치(signal mismatch) 에러, 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, PTP 에러 및 예약 실패(Reservation Failure) 에러 중 하나로 구분하는 단계를 더 포함하는,
    엔드 노드의 에러복구 방법.
  7. 청구항 6에 있어서,
    상기 컨트롤러 프로세서가 상기 MAC 인증 에러, 상기 MAC 암호 에러, 상기 IP 암호 에러, 상기 E2E CRC 에러, 상기 E2E Alive counter 에러, 상기 시그널 미스매치 에러, 상기 불충분 데이터 에러, 상기 PTP 에러 및 상기 예약 실패 에러 중 하나를 검출할 때마다 상기 논리적 에러의 에러 카운터 값을 증가시키고,
    상기 에러 카운터 값에 기초하여 상기 컨트롤러 프로세서가 상기 에러 카운터 값에 연관된 상기 논리적 에러의 복구를 수행하는 단계;를 더 포함하는,
    엔드 노드의 에러복구 방법.
  8. 청구항 7항에 있어서,
    상기 논리적 에러의 에러 카운터 값이 0보다 크고 제1 값 이하인 경우 에러 발생을 경고하고,
    상기 논리적 에러의 에러 카운터 값이 상기 제1 값보다 크고 제2 값 이하인 경우 통신을 그대로 유지시키고,
    상기 논리적 에러의 에러 카운터 값이 상기 제2 값보다 크고 제3 값 이하인 경우 네트워크 구성의 변경을 금지시키고,
    상기 논리적 에러의 에러 카운터 값이 상기 제3 값보다 큰 경우 에러 정보를 메모리에 저장하고, 링크를 리셋하여 에러를 복구하는,
    엔드 노드의 에러복구 방법.
  9. 이더넷(ethernet) 기반의 차량 네트워크(network)의 스위치에서 수행되는 에러복구 방법으로서,
    상기 스위치의 PHY 계층으로 메시지 수신 시, 상기 스위치의 스위치 프로세서가 상기 메시지의 물리적 에러를 검출하는 단계;
    상기 스위치 프로세서가 상기 물리적 에러의 유형을 링크 실패(link failure), 수신 실패(Rx failure), 송신 실패(Tx failure), Bad ESD(premature end) error, 락 에러(lock error), Bad SSD(false carrier) 에러, CRC 에러(CRC error) 및 캐리어 에러(carrier error) 중 하나로 구분하는 단계;
    상기 스위치 프로세서가 상기 유형에 따른 물리적 에러를 검출할 때마다 상기 물리적 에러의 에러 카운터 값을 증가시키는 단계; 및
    상기 물리적 에러의 유형과 상기 에러 카운터 값에 기초하여 상기 스위치 프로세서가 상기 에러 카운터 값에 연관된 물리적 에러의 복구를 수행하는 단계;를 포함하는,
    스위치의 에러복구 방법.
  10. 청구항 9에 있어서,
    상기 스위치의 전체 포트 및 특정 포트 중 하나에서 상기 송신 실패, 상기 수신 실패 및 상기 링크 실패 중 하나가 검출되면 에러가 검출된 포트의 링크를 리셋하는 단계;를 더 포함하는,
    스위치의 에러복구 방법.
  11. 삭제
  12. 청구항 9에 있어서,
    상기 에러 복구를 수행하는 단계에서,
    상기 스위치 프로세서는 상기 에러 카운터 값이 기준 값을 초과하는지 판단하고, 상기 에러 카운터 값이 상기 기준 값을 초과하면 에러가 발생한 포트의 링크를 리셋하는,
    스위치의 에러복구 방법.
  13. 청구항 12에 있어서,
    상기 스위치 프로세서는 상기 물리적 에러가 발생한 포트의 개수에 따라 상기 기준 값을 상이하게 적용하되,
    1개의 포트에서 물리적 에러가 발생하면 제1 기준 값을 적용하고,
    복수의 포트에서 물리적 에러가 발생하면 상기 제1 기준 값보다 큰 제2 기준 값을 적용하는,
    스위치의 에러복구 방법.
  14. 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 엔드 노드로서,
    PHY 계층 프로세서를 포함하는 PHY 계층 유닛;
    컨트롤러 프로세서를 포함하는 컨트롤러 유닛; 및
    기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함하고,
    상기 적어도 하나의 명령은,
    상기 PHY 계층 프로세서가 수신된 메시지의 물리적 에러를 검출하고;
    상기 컨트롤러 프로세서가 상기 수신된 메시지의 논리적 에러를 검출하고;
    상기 컨트롤러 프로세서가 상기 논리적 에러의 유형을 MAC 인증 에러, MAC 암호 에러, IP(Internet Protocol) 암호 에러, E2E(End to End) CRC 에러, E2E Alive counter 에러, 시그널 미스매치(signal mismatch) 에러, 불충분 데이터(Insufficient data, AVB(Audio Video Bridging)) 에러, PTP 에러 및 예약 실패(Reservation failure) 중 하나로 구분하고,
    상기 컨트롤러 프로세서가 상기 논리적 에러를 검출할 때마다 상기 논리적 에러의 에러 카운터 값을 증가시키고, 그리고
    상기 에러 카운터 값에 기초하여 상기 컨트롤러 프로세서가 상기 에러 카운터 값에 연관된 상기 엔드 노드의 논리적 에러의 복구를 수행하도록 실행되는,
    엔드 노드.
  15. 청구항 14에 있어서,
    상기 적어도 하나의 명령은,
    상기 컨트롤러 프로세서가 상기 논리적 에러의 에러 카운터 값이 0보다 크고 제1 값 이하인 경우 에러 발생을 경고하고,
    상기 논리적 에러의 에러 카운터 값이 상기 제1 값보다 크고 제2 값 이하인 경우 통신을 그대로 유지시키고,
    상기 논리적 에러의 에러 카운터 값이 상기 제2 값보다 크고 제3 값 이하인 경우 네트워크 구성의 변경을 금지시키고,
    상기 논리적 에러의 에러 카운터 값이 상기 제3 값보다 큰 경우 에러 정보를 메모리에 저장하고, 링크를 리셋하여 에러를 복구하도록 실행되는,
    엔드 노드.
  16. 청구항 14에 있어서,
    상기 적어도 하나의 명령은,
    상기 컨트롤러 프로세서가 상기 물리적 에러의 유형을 Bad SSD(false carrier) 에러, CRC 에러(CRC error), 캐리어 에러(carrier error), 수신 에러(Rx error) 및 송신 에러(Tx error) 중 하나로 구분하고,
    상기 PHY 계층 프로세서가 상기 물리적 에러를 검출할 때마다 상기 컨트롤러 프로세서가 상기 물리적 에러의 에러 카운터 값을 증가시키고, 그리고
    상기 물리적 에러의 에러 카운터 값이 기준 값을 초과하면 상기 엔드 노드의 에러 복구를 수행하도록 실행되는,
    엔드 노드.
  17. 청구항 14에 있어서,
    상기 적어도 하나의 명령은,
    상기 컨트롤러 프로세서가 상기 논리적 에러의 에러 카운터 값이 기준값을 초과하면 상기 엔드 노드의 에러 복구를 수행하도록 수행되는,
    엔드 노드
KR1020170097327A 2017-07-31 2017-07-31 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법 KR102386781B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170097327A KR102386781B1 (ko) 2017-07-31 2017-07-31 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법
US16/045,231 US10666393B2 (en) 2017-07-31 2018-07-25 Ethernet communication apparatus, and method for recovering error of end node and switch in vehicle
CN201810837431.1A CN109327411B (zh) 2017-07-31 2018-07-26 恢复车辆中的端节点和交换机的错误的以太网通信设备
US16/854,204 US11190299B2 (en) 2017-07-31 2020-04-21 Ethernet communication apparatus, and method for recovering error of end node and switch in vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170097327A KR102386781B1 (ko) 2017-07-31 2017-07-31 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법

Publications (2)

Publication Number Publication Date
KR20190013165A KR20190013165A (ko) 2019-02-11
KR102386781B1 true KR102386781B1 (ko) 2022-04-13

Family

ID=65138417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170097327A KR102386781B1 (ko) 2017-07-31 2017-07-31 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법

Country Status (3)

Country Link
US (2) US10666393B2 (ko)
KR (1) KR102386781B1 (ko)
CN (1) CN109327411B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109769261B (zh) * 2019-03-25 2022-04-26 新华三技术有限公司 一种网络故障处理方法及装置
GB2586279B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Routing messages in a integrated circuit chip device
CN110519135A (zh) * 2019-09-04 2019-11-29 扬州莱诺汽车科技有限公司 一种车载以太网数据转换装置
US11368382B2 (en) * 2019-10-04 2022-06-21 Nxp B.V. Communications device and method of communications
CN112737906B (zh) * 2020-12-22 2023-03-24 配天机器人技术有限公司 一种EtherCAT总线的物理层诊断方法及***
LU500592B1 (de) * 2021-08-30 2023-02-28 Phoenix Contact Gmbh & Co Netzwerk-Kopplungseinrichtung für ein Netzwerk und Netzwerk mit einer Netzwerk- Kopplungseinrichtung
US20230244625A1 (en) * 2022-01-31 2023-08-03 Avago Technologies International Sales Pte. Limited Logical message interface for configuring and managing a physical device in single and multi-host systems
KR20230134810A (ko) 2022-03-15 2023-09-22 현대오토에버 주식회사 차량용 이더넷 스위치 제어 장치 및 방법
CN115865637B (zh) * 2022-11-29 2024-06-25 重庆长安汽车股份有限公司 车载以太环网保护切换方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1681033A (zh) * 2004-04-06 2005-10-12 皇家飞利浦电子股份有限公司 光盘播放***的纠错机制
US8213321B2 (en) * 2007-02-01 2012-07-03 Deere & Company Controller area network condition monitoring and bus health on in-vehicle communications networks
US8031621B2 (en) * 2007-08-07 2011-10-04 Honeywell International Inc. Hybrid time triggered architecture for dual lane control systems
US8264953B2 (en) * 2007-09-06 2012-09-11 Harris Stratex Networks, Inc. Resilient data communications with physical layer link aggregation, extended failure detection and load balancing
US7921336B1 (en) * 2008-02-27 2011-04-05 Netapp, Inc. System and method for avoiding categorizing potential link error events as actual link error events based on a proximity to a physical layer signal state change
US7792046B2 (en) * 2008-06-05 2010-09-07 Vss Monitoring, Inc. Ethernet switch-based network monitoring system and methods
US9215168B2 (en) * 2012-07-23 2015-12-15 Broadcom Corporation Controller area network communications using ethernet
KR101589384B1 (ko) * 2013-10-29 2016-01-29 주식회사 케이티 Bgp 라우팅에 대한 장애 처리 방법
CN104635549A (zh) * 2013-11-07 2015-05-20 北汽福田汽车股份有限公司 Can总线错误处理方法和can控制器
US9325449B2 (en) * 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9515694B1 (en) * 2014-07-29 2016-12-06 nusemi inc. Adaptable rate transceiver
US9756154B1 (en) * 2014-10-13 2017-09-05 Xilinx, Inc. High throughput packet state processing
KR101712370B1 (ko) * 2014-12-16 2017-03-06 주식회사 다산네트웍스 에러 패킷 분석을 지원하기 위한 이더넷 장치 및 시스템
EP3713158B1 (en) * 2015-06-30 2022-02-09 Ciena Corporation Time transfer systems and methods over a stream of ethernet blocks
KR102228331B1 (ko) * 2015-09-08 2021-03-15 현대자동차주식회사 네트워크에서 통신 노드의 동작 방법

Also Published As

Publication number Publication date
US20200252159A1 (en) 2020-08-06
CN109327411B (zh) 2022-06-10
US20190036649A1 (en) 2019-01-31
US10666393B2 (en) 2020-05-26
KR20190013165A (ko) 2019-02-11
US11190299B2 (en) 2021-11-30
CN109327411A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
KR102386781B1 (ko) 차량의 이더넷 통신 장치, 엔드 노드 및 스위치의 에러복구 방법
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
US11438355B2 (en) In-vehicle network anomaly detection system and in-vehicle network anomaly detection method
KR102589373B1 (ko) 차량 네트워크에서 통신 노드의 웨이크업 방법 및 장치
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
CN109104352B (zh) 车辆网络操作协议和方法
KR102355092B1 (ko) 차량 네트워크에서 진단을 위한 통신 노드의 동작 방법
KR102337548B1 (ko) 네트워크의 진단 방법 및 장치
KR102422404B1 (ko) 네트워크에서 전력 공급 방법 및 장치
KR102390465B1 (ko) 네트워크에서 전원 관리 방법 및 장치
KR102300764B1 (ko) 차량 네트워크에서 진단 방법 및 장치
CN112347021B (zh) 用于串行通信装置的安全模块
KR102217255B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102431489B1 (ko) 차량 네트워크에서 다중 도메인을 활용한 통신 노드의 동기화 방법 및 장치
US20210014249A1 (en) Packet Transmission Method and Apparatus
US9154285B2 (en) Communications apparatus, system and method with error mitigation
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
KR102390481B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102352504B1 (ko) 이더넷 스위치 정보에 기초한 미등록 장치 검증 시스템 및 방법
KR102313636B1 (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
KR102355085B1 (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR102250450B1 (ko) 네트워크에서 오류 검출을 위한 통신 노드의 동작 방법
KR20200040876A (ko) 차량의 제어 장치에 대한 공격을 검출하기 위한 방법
KR102357938B1 (ko) 차량 네트워크에서 미러링을 위한 통신 노드의 동작 방법
KR102610921B1 (ko) 차량 네트워크에서 백업 경로를 설정하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant