KR20210121214A - 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법 - Google Patents

직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법 Download PDF

Info

Publication number
KR20210121214A
KR20210121214A KR1020217027973A KR20217027973A KR20210121214A KR 20210121214 A KR20210121214 A KR 20210121214A KR 1020217027973 A KR1020217027973 A KR 1020217027973A KR 20217027973 A KR20217027973 A KR 20217027973A KR 20210121214 A KR20210121214 A KR 20210121214A
Authority
KR
South Korea
Prior art keywords
data
field
bus system
frame
subscriber station
Prior art date
Application number
KR1020217027973A
Other languages
English (en)
Inventor
플로리안 하트비히
아르투어 무터
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20210121214A publication Critical patent/KR20210121214A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • 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/4013Management of data rate on the bus
    • 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
    • H04L12/40013Details regarding a bus controller
    • 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
    • H04L12/40032Details regarding a bus interface enhancer
    • 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/40Bus networks
    • H04L12/40169Flexible bus 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/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)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 직렬 버스 시스템(1)을 위한 가입자국(10; 30) 및 직렬 버스 시스템(1)에서의 통신 방법에 관한 것이다. 가입자국(10; 30)은, 버스 시스템(1)의 가입자국(10; 30)과 하나 이상의 다른 가입자국(10; 20; 30)의 통신을 제어하기 위한 통신 제어 장치(11; 31), 및 상기 통신 제어 장치(11; 31)에 의해 생성된 송신 신호(TXD)를 버스 시스템(1)의 버스(40)로 송신하기 위한 송/수신 장치(12; 32)를 포함하며, 이때, 버스 시스템(1)의 가입자국들(10, 20, 30) 간에 교환되는 메시지(45)에 있어서, 제1 통신 단계(451)에서 버스(40)로 송신되는 신호의 비트 시간(t_bt)이 제2 통신 단계(452)에서 송신되는 신호의 비트 시간(t_bt)과 상이하며, 통신 제어 장치(11; 31)는, 메시지(45)의 우선순위를 명시하는 필드(ID)에 추가로 데이터 타입(DT)을 위한 필드도 제공되어 있는 프레임(450; 450_1; 4500)에 따라 송신 신호(TXD)를 생성하도록 구성되며, 통신 제어 장치(11; 31)는, 데이터 타입(DT)을 위한 필드 내에, 어느 유형의 정보가 프레임(450; 450_1; 4500)의 데이터 필드(455) 내에 위치하는지를 명시하는 값을 기록하도록 구성된다.

Description

직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법
본 발명은, 순수 데이터 전송(data transport) 외에도, 안전(기능 안전); 보안(데이터 보안); 및 예컨대 프레임에 대한 최대 대기 시간의 보증, 버스 시스템 내 가입자국들(노드들)의 시간 동기화와 같은 QoS(Quality of Service);와 같은 다른 기능들도 지원하는 데 이용되는, 직렬 버스 시스템을 위한 가입자국 및 직렬 버스 시스템에서의 통신 방법에 관한 것이다.
예컨대 차량에서 센서들과 제어 장치들 간의 통신을 위해, 비용을 이유로, 현재는 점대점 연결 대신 CAN FD를 이용하는 CAN 프로토콜 규격으로서의 표준 ISO11898-1:2015에서 데이터가 메시지로서 전송되는 버스 시스템이 점점 더 빈번하게 사용되고 있다. 메시지는 센서, 제어 장치, 인코더 등과 같은 버스 시스템의 가입자국들 간에 전송된다. 이와 관련하여, CAN FD는 현재 도입 단계로 제1 단계에서 대개 데이터 필드의 비트 전송 시에는 2Mbit/s의 데이터 비트 전송률로, 그리고 중재 필드의 비트 전송 시에는 500kbit/s의 중재 비트 전송률로 차량에서 사용되고 있다.
이러한 버스 시스템을 통해 점점 더 많은 정보가 교환되고 있다. 특히 순수 데이터 전송 외에도, 안전(기능 안전); 보안(데이터 보안); 및 예컨대 프레임에 대한 최대 대기 시간의 보증, 버스 시스템 내 가입자국들(노드들)의 시간 동기화 같은 QoS(서비스 품질; Quality of Service);와 같은 다른 기능들도 지원되어야 한다. 그럼에도 버스 시스템 내에서 데이터 전송 속도를 최소한 유지하고 가능한 한 더 높이기 위해, 버스 시스템 내 데이터 전송 속도를 추가로 증가시키고자 하는 사용자의 요구가 있다.
이를 위해, 버스를 통해 송신된 프레임 내에 어느 정보가 위치하는지를 수신 노드에 알리는 점을 생각해볼 수 있다. 클래식 CAN 및 CAN FD의 경우, 프레임의 내용은, 중재를 위해서도 사용되는 프레임 식별자(ID, Frame Identifier)를 통해 전달된다. 이는 원칙적으로, 각각의 가입자국(노드)이 배타적 프레임 식별자를 포함한 프레임들을 송신하기 때문에 진행된다. 이는 프레임 식별자 및 내용의 플랫 할당(flat assignment)에 상응한다. 그러나 상기 할당은 제대로 스케일링되지 않고 유연성이 불충분하다.
그러므로 본 발명의 과제는, 전술한 문제를 해결하는 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법을 제공하는 것이다. 특히, 통신의 높은 유연성 및 높은 오류 강인성의 수반 하에 높은 데이터 전송 속도와 프레임당 유효 데이터양의 증가가 실현될 수 있게 하는, 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법을 제공해야 한다.
상기 과제는 청구항 제1항의 특징을 가진 직렬 버스 시스템용 가입자국을 통해 해결된다. 상기 가입자국은, 버스 시스템의 하나 이상의 다른 가입자국과 상기 가입자국의 통신을 제어하기 위한 통신 제어 장치; 및 통신 제어 장치에 의해 생성된 송신 신호를 버스 시스템의 버스로 송신하기 위한 송/수신 장치;를 포함하며, 이 경우, 버스 시스템의 가입자국들 간에 교환되는 메시지에 있어서, 제1 통신 단계에서 버스로 송신되는 신호의 비트 시간이 제2 통신 단계에서 송신되는 신호의 비트 시간과 상이하며, 이때 통신 제어 장치는, 메시지의 우선순위를 명시하는 필드에 추가로 데이터 타입을 위한 필드도 제공되어 있는 프레임에 따라 송신 신호를 생성하도록 구성되며, 통신 제어 장치는, 데이터 타입을 위한 필드 내에, 어느 유형의 정보가 프레임의 데이터 필드 내에 위치하는지를 명시하는 값을 기록하도록 구성된다.
상기 가입자국의 구성을 기반으로, 버스 시스템의 가입자국들 간에 메시지를 교환하기 위해 버스 상에서 전송되는 프레임 내에는, 통신 프로토콜에서 추상화 수준(abstraction level)이 삽입된다. 그렇게 하여, 하기 두 가지 상황이 서로 분리된다.
- 프레임 송신, 오류 처리 등을 포함한, 버스 상에서의 데이터 전송
- 안전(기능 안전); 보안(데이터 보안); 및 예컨대 프레임에 대한 최대 대기 시간의 보증, 버스 시스템 내 가입자국들(노드들)의 시간 동기화 등과 같은 QoS(Quality of Service)
그에 따라, 본원 가입자국에 의해 버스 시스템을 위해 사용되는, 예컨대 CAN FD에 대한 후속 통신 프로토콜, 특히 CAN FX 프로토콜일 수 있는 통신 프로토콜은 상대적으로 더 간단하게 해석되고 그에 따라 기능적으로 더 안전해진다. 또한, 그렇게 하여, 추가 기능들을 삽입하기 위해, 더 정확하게는 프레임 형식(frame format)을 변경할 필요 없이, 통신 프로토콜은 모듈형으로, 그리고 그에 따라 나중을 위해 간단하게 확장될 수 있다. 신규 추가 기능들은 소프트웨어에 의해 기존 구현(old implementation)에 부가될 수 있으며, 그럼으로써 상이한 구현들이 호환 가능하게 유지된다. 따라서, 버스 시스템을 위해 이용된 통신 프로톨이 매우 유연하게 확장될 수도 있다.
또한, 가입자국의 상기 구성은, 전송되는 정보의 유형이 프레임 내 작은 필드에서 전달될 수 있게 한다. 따라서, 프로토콜은 모든 유형의 정보에 대해 변함없이 유지된다. 그로 인해, 정보의 유형에 의해 프레임 형식이 변경되지 않고, 그에 따라 각각의 가입자국의 통신 제어 장치가 하드웨어 내 다양한 유형의 프레임 형식을 처리할 필요가 없는데, 그 이유는 단 하나의 프레임 형식만 존재하기 때문이다.
그 결과로서, 가입자국에 의해, 데이터 전송 속도의 증가 시에도, 프레임의 송신 및 수신은 버스 시스템의 신규 추가 기능과 관련하여 높은 유연성 및 낮은 오류율로 보장될 수 있다.
이 경우, 가입자국에 의해 버스 시스템에서, 특히 제1 통신 단계에서 CAN에 의해 공지된 중재를 유지할 수 있고, 그럼에도 CAN 또는 CAN FD에 비해 전송 속도를 더욱 현저하게 높일 수 있다.
가입자국에 의해 수행되는 방법은, 버스 시스템 내에, CAN 프로토콜 및/또는 CAN FD 프로토콜에 따라 메시지를 송신하는 하나 이상의 CAN 가입자국 및/또는 하나 이상의 CAN FD 가입자국도 존재하는 경우에 사용될 수도 있다.
가입자국의 바람직한 또 다른 구성들은 종속 청구항들에 명시된다.
일 변형예에 따라, 통신 제어 장치는, 데이터 필드의 데이터 길이 코드를 위한 필드의 앞에 또는 뒤에 데이터 타입을 위한 필드를 제공하도록 구성된다.
한 특별한 변형 실시예에 따라, 통신 제어 장치는, 송신 신호에서 데이터 필드의 제1 및/또는 제2 바이트 내에 데이터 타입을 위한 필드를 제공하도록 구성된다.
일 실시예에 따라, 통신 제어 장치는, 데이터 타입을 위한 필드 내 기결정된 값에서 추가로 데이터 필드 내에 데이터 타입을 위한 하나 이상의 필드를 제공하도록, 그리고 데이터 필드 내 상기 필드 내에, 어느 유형의 정보가 프레임의 데이터 필드 내에 위치하는지를 명시하는 값을 기록하도록 구성된다. 이 경우, 데이터 타입을 위한 필드 내 기결정된 값은, 유효 데이터가 복수의 프레임으로 분할되고, 데이터 필드 내 데이터 타입을 위한 추가 필드의 앞에는, 그 값이 프레임의 일련번호와; 상기 유효 데이터로부터 분할된 프레임의 총 수;를 명시하는 헤더(header)가 위치한 점을 나타낸다.
정보의 유형은, 유효 데이터가 미가공 데이터를 갖거나; 유효 데이터가 이더넷 프레임을 갖거나; 유효 데이터가 인터넷 프로토콜의 패킷을 갖거나; 프레임의 적어도 일부분이 암호화 메커니즘(crypto mechanism)에 의해 보호되거나; 유효 데이터가 버스 시스템에서의 통신을 위해 기결정된 매개변수를 협의하기 위한 데이터를 갖거나; 유효 데이터가 시간 동기화를 위한 데이터를 갖거나; 유효 데이터가 메시지 식별자를 갖거나; 또는 유효 데이터가 메시지의 소스 및 타겟에 대한 진술을 갖는; 유형을 포함할 수 있다.
선택적으로, 통신 제어 장치는, 가입자국의 다른 유닛들에 의해 송신되어서는 안 되는 데이터 타입을 위해 기결정된 값을 배타적으로 사용할 수 있다.
또한, 본원 가입자국은 그 외에도, 유효 데이터 내에서 데이터 타입을 위한 필드와, 선택적으로 존재하는, 데이터 타입을 위한 추가 필드를 평가하고 평가 결과를 기반으로 메시지의 필요한 처리를 실행하기 위한 프로토콜 확장 블록을 가질 수 있다. 이 경우, 프로토콜 확장 블록은, 메시지의 평가 및 필요한 처리의 실행을 실행하는 하나 이상의 모듈을 포함할 수 있다. 그 대안으로 또는 그에 추가로, 메시지의 평가 및/또는 필요한 처리의 실행은 하드웨어에 의해 실행될 수 있다. 그 대안으로 또는 그에 추가로, 메시지의 평가 및/또는 필요한 처리의 실행은 가입자국의 마이크로컨트롤러에서 실행되는 소프트웨어에 의해 실행될 수 있다.
메시지를 위해 형성되는 프레임은 CAN FD에 호환되게 구성되는 점을 생각해볼 수 있다.
제1 통신 단계에서는, 버스 시스템의 가입자국들 중 어느 가입자국이 후속하는 제2 통신 단계에서 버스에 대해 적어도 일시적으로 충돌없는 배타적 액세스 권한을 얻는지가 협의될 수 있다.
앞서 기술한 가입자국은, 추가로 하나의 버스 및 서로 직렬로 통신하는 방식으로 버스를 통해 서로 연결되어 있는 둘 이상의 가입자국을 포함하는 버스 시스템의 부분일 수 있다. 이 경우, 둘 이상의 가입자국 중 적어도 하나는 앞서 기술한 가입자국이다.
전술한 과제는 또한, 청구항 제15항에 따른, 직렬 버스 시스템에서의 통신 방법을 통해서도 해결된다. 이 방법은 통신 제어 장치 및 송/수신 장치를 구비한 버스 시스템의 가입자국에 의해 실행되며, 통신 제어 장치를 이용하여 버스 시스템의 하나 이상의 다른 가입자국과 본원 가입자국의 통신을 제어하는 단계와; 송/수신 장치를 이용하여, 통신 제어 장치에 의해 생성된 송신 신호를 버스 시스템의 버스로 송신하는 단계;를 포함하며, 이 경우 버스 시스템의 가입자국들 간에 교환되는 메시지에 있어서, 제1 통신 단계에서 버스로 송신되는 신호의 비트 시간이, 제2 통신 단계에서 송신되는 신호의 비트 시간과 상이하며, 통신 제어 장치는, 메시지의 우선순위를 명시하는 필드에 추가로 데이터 타입을 위한 필드도 제공되어 있는 프레임에 따라 송신 신호를 생성하며, 통신 제어 장치는, 데이터 타입을 위한 필드 내에, 어느 유형의 정보가 프레임의 데이터 필드 내에 위치하는지를 명시하는 값을 기록한다.
본원 방법은, 앞서 가입자국과 관련하여 언급한 것과 동일한 장점을 제공한다.
본 발명의 또 다른 가능한 구현예들은 전술한 또는 하기에서 실시예들과 관련하여 기술되는 특징들 또는 실시형태들의 명시되지 않은 조합들도 포함한다. 이 경우, 통상의 기술자는 개별 양태들도 개선 또는 보완으로서 본 발명의 각각의 기본 형태에 부가할 것이다.
하기에서 본 발명은 첨부된 도면을 참조하여 그리고 실시예들에 기초하여 더 상세하게 기술된다.
도 1은 제1 실시예에 따른 버스 시스템의 간소화된 블록회로도이다.
도 2는 제1 실시예에 따른 버스 시스템의 가입자국으로부터 송신될 수 있는 메시지의 구조를 설명하기 위한 도표이다.
도 3은 제1 실시예의 수정안에 따른 버스 시스템의 가입자국으로부터 송신될 수 있는 메시지의 구조를 설명하기 위한 도표이다.
도 4는 제1 실시예에 따른 버스 시스템의 가입자국의 간소화된 개략적 블록회로도이다.
도 5는 제1 실시예에 따른 가입자국에서 버스 신호들(CAN-FX_H 및 CAN-FX_L)인 버스 신호들(CAN_H 및 CAN_L)의 시간 곡선을 나타낸 그래프이다.
도 6은 제1 실시예에 따른 가입자국에서 버스 신호들(CAN-FX_H 및 CAN-FX_L)의 차동 전압(VDIFF)의 시간 곡선을 나타낸 그래프이다.
도 7a 내지 7e는 다양한 데이터 타입을 갖는, 도 2에 따른 메시지들의 구조를 설명하기 위한 도표이다.
도 8은 도 2에 따른 세그먼트화된 메시지의 구조를 설명하기 위한 도표이다.
도 9는 제3 실시예에 따른 버스 시스템의 가입자국으로부터 송신될 수 있는 메시지의 구조를 설명하기 위한 도표이다.
도 10은 제4 실시예에 따른 버스 시스템의 가입자국으로부터 송신될 수 있는 메시지의 구조를 설명하기 위한 도표이다.
도면들에서 동일하거나 기능이 동일한 요소들에는, 달리 명시되지 않는 한, 동일한 도면부호들이 부여된다.
도 1에는 예시로서, 하기에 기술되는 것처럼, 특히 기본적으로 CAN 버스 시스템, CAN FD 버스 시스템, CAN FX 버스 시스템 및/또는 이들의 변형예를 위해 구성되는 버스 시스템(1)이 도시되어 있다. 버스 시스템(1)은 차량에서, 특히 자동차, 비행기 등에서, 또는 병원 등에서 사용될 수 있다.
도 1에서, 버스 시스템(1)은, 각각 제1 버스 코어(41) 및 제2 버스 코어(42)를 구비한 버스(40)에 연결되어 있는 복수의 가입자국(10, 20, 30)을 포함한다. 버스 코어들(41, 42)은 CAN_H 및 CAN_L 또는 CAN-FX_H 및 CAN-FX_L라고도 지칭될 수 있으며, 송신 상태에서 신호를 위한 우성 레벨들의 결합 또는 열성 레벨들의 생성 이후 전기 신호 전송을 위해 이용된다. 버스(40)를 통해 메시지(45, 46)가 신호들의 형태로 개별 가입자국들(10, 20, 30) 간에 직렬로 전송될 수 있다. 버스(40) 상에서 통신 시, 도 1에 흑색의 지그재그형 블록 화살표로 도시된 것처럼, 오류가 발생하면, 선택적으로 오류 프레임(47)(error flag)이 송신될 수 있다. 가입자국들(10, 20, 30)은 예컨대 자동차의 제어 장치, 센서, 표시 장치 등이다.
도 1에 도시된 것처럼, 가입자국(10)은 통신 제어 장치(11), 송/수신 장치(12) 및 체크섬 유닛(15)을 포함한다. 가입자국(20)은 통신 제어 장치(21), 송/수신 장치(22) 및 체크섬 유닛(25)을 포함한다. 가입자국(30)은 통신 제어 장치(31), 송/수신 장치(32) 및 체크섬 유닛(35)을 포함한다. 가입자국들(10, 20, 30)의 송/수신 장치들(12, 22, 32)은, 비록 도 1에는 도시되어 있지 않지만, 각각 직접 버스(40)에 연결되어 있다.
통신 제어 장치들(11, 21, 31)은 각각, 버스(40)에 연결되어 있는 각각의 가입자국(10, 20, 30)과 하나 이상의 다른 가입자국(10, 20, 30) 간의 버스(40)를 통한 통신을 제어하는 데 이용된다.
통신 제어 장치들(11, 31)은, 예컨대 수정된 CAN 메시지(45)인 제1 메시지(45)를 작성하고 판독한다. 이 경우, 수정된 CAN 메시지(45)는, 도 2를 참조하여 더 상세하게 기술되며 각각의 체크섬 유닛(15, 35)이 사용되는 CAN FX 포맷을 기반으로 구성된다. 또한, 통신 제어 장치들(11, 31)은, 필요에 따라 송/수신 장치(12, 32)를 위해 CAN FX 메시지(45) 또는 CAN FD 메시지(46)를 공급하거나 상기 송/수신 장치로부터 수신하도록 형성될 수 있다. 이 경우에도, 각각의 체크섬 유닛들(15, 35)이 사용된다. 다시 말해, 통신 제어 장치들(11, 31)은 제1 메시지(45) 또는 제2 메시지(46)를 작성하고 판독하며, 제1 및 제2 메시지(45, 46)는 이들의 데이터 전송 표준에 의해 구분되며, 요컨대 이 경우에는 CAN FX이거나 CAN FD이다.
통신 제어 장치(21)는 ISO 11898-1:2015에 따른 종래 CAN 컨트롤러처럼, 다시 말해 CAN FD tolerant Classical CAN 컨트롤러 또는 CAN FD 컨트롤러처럼 형성될 수 있다. 통신 제어 장치(21)는 제2 메시지(46), 예컨대 CAN FD 메시지(46)를 작성하고 판독한다. CAN FD 메시지(46)의 경우, 0개 내지 64 이하의 데이터 바이트가 포함될 수 있으며, 이들 데이터 바이트는 여전히 이를 위해 클래식 CAN 메시지의 경우보다 분명히 더 빠른 데이터 전송 속도로 전송된다. 특히 통신 제어 장치(21)는 종래 CAN FD 컨트롤러처럼 형성된다.
송/수신 장치(22)는 ISO 11898-1:2015에 따른 종래 CAN 트랜시버 또는 CAN FD 트랜시버처럼 형성될 수 있다. 송/수신 장치들(12, 32)은, 필요에 따라 대응하는 통신 제어 장치(11, 31)를 위한 CAN FX 포맷에 따른 메시지(45) 또는 현재의 CAN FD 포맷에 따른 메시지(46)를 공급하거나 상기 통신 제어 장치로부터 수신하도록 형성될 수 있다.
두 가입자국(10, 30)에 의해, CAN FX 포맷을 갖는 메시지(45)의 형성 및 후속 전송 그리고 상기 메시지(45)의 수신이 실현될 수 있다.
도 2에는, 메시지(45)에 대해, 버스(40)로 송신하기 위한 송/수신 장치(12)를 위해 통신 제어 장치(11)에 의해 공급되는 것과 같은 CAN FX 프레임(450)이 도시되어 있다. 이 경우, 통신 제어 장치(11)는, 본 실시예에서 도 2에서도 도시된 것처럼 CAN FD와 호환되는 것으로서 프레임(450)을 작성한다. 이는 가입자국(30)의 통신 제어 장치(31) 및 송/수신 장치(32)에도 유사하게 적용된다.
도 2에 따라, CAN FX 프레임(450)은 버스(40) 상에서의 CAN 통신을 위해 상이한 통신 단계들(451, 452)로, 요컨대 중재 단계(451)와 데이터 단계(452)로 분할된다. 프레임(450)은 중재 필드(453), 제어 필드(454), 데이터 필드(455), 체크섬(F_CRC)을 위한 체크섬 필드(456), 동기화 필드(457) 및 확인 필드(458)(confirmation field)를 갖는다.
중재 단계(451)에서는, 중재 필드(453) 내 식별자(ID)에 의해 가입자국들(10, 20, 30) 간에 비트 단위로, 어느 가입자국(10, 20, 30)이 최고 우선순위를 갖는 메시지(45, 46)를 송신하고자 하고 그로 인해 후속 데이터 단계(452)에서의 다음 송신 시간 동안 버스 시스템(1)의 버스(40)에 대한 배타적 액세스 권한을 얻는지가 협의된다. 중재 단계(451)에서는 CAN 및 CAN FD에서와 같은 물리 계층이 이용된다. 물리 계층은, 비트 전송 계층 또는 공지된 OSI 모델(OSI: Open Systems Interconnection Model)의 계층(1)에 상응한다.
단계(451) 동안의 중점은, 우선순위가 더 높은 메시지(45, 46)가 파괴되지 않으면서, 버스(40)에 대한 가입자국들(10, 20, 30)의 동시 액세스를 허용하는 공지된 CSMA/CR 방법이 이용된다는 점이다. 그렇게 하여, 버스 시스템(1)에 상대적으로 간단하게 추가 버스 가입자국들(10, 20, 30)이 부가될 수 있고, 이는 매우 바람직하다.
CSMA/CR 방법의 결과, 버스(40) 상에는 버스(40) 상에서 우성 상태들을 갖는 다른 가입자국들(10, 20, 30)에 의해 덮어쓰기될 수 있는 이른바 열성 상태들이 존재해야 한다. 열성 상태에서는, 개별 가입자국(10, 20, 30)에서 하이 임피던스 조건이 우세하며, 이는 버스 회로의 기생 성분과 결합하여 더 시간 상수를 야기한다. 이로 인해, 실제 차량에 적용 시, 오늘날 CAN FD 물리 계층의 최대 비트 전송률이 현재 초당 약 2메가비트로 제한된다.
데이터 단계(452)에서는 제어 필드(454)의 일부 외에도 CAN FX 프레임 또는 데이터 필드(455)의 메시지(45)의 유효 데이터; 그리고 체크섬(F_CRC)을 위한 체크섬 필드(456)가 송신된다.
메시지(45)의 송신기는, 가입자국(10)이 송신기로서 중재에 성공하고, 이로써 가입자국(10)이 송신기로서 송신하기 위해 버스 시스템(1)의 버스(40)에 대한 배타적 액세스 권한을 가질 때 비로소, 버스(40)로 데이터 단계(452)의 비트의 송신을 시작한다.
매우 일반적으로, CAN FX를 이용하는 버스 시스템에서는, CAN 또는 CAN FD에 비해 하기의 다른 특성들이 실현될 수 있다.
a) CAN 및 CAN FD의 견고성 및 사용자 친화성에 대한 책임이 있는 입증된 특성, 특히 CSMA/CR 방법에 따른 식별자 및 중재를 포함한 프레임 구조의 채택 및 경우에 따른 조정,
b) 순 데이터 전송 속도가 특히 초당 약 10메가비트로 상승,
c) 프레임당 유효 데이터의 크기가 특히 약 4kbyte로 증대.
도 2에 도시된 것처럼, 가입자국(10)은 중재 단계(451)에서 제1 통신 단계로서 부분적으로, 특히 FDF 비트까지(이를 포함해서), CAN/CAN FD에 의해 공지된, ISO11898-1:2015에 따른 포맷을 이용한다. 그에 반해, 가입자국(10)은 FDF 비트부터는 제1 통신 단계에서뿐만 아니라 제2 통신 단계, 즉 데이터 단계(452)에서도, 하기에 기술된 CAN FX 포맷을 이용한다.
본 실시예에서 CAN FX와 CAN FD는 호환될 수 있다. 이 경우, CAN FD에 의해 공지된, 하기에서 FXF 비트라고도 불리는 res 비트가, CAN FD 포맷으로부터 CAN FX 포맷으로의 전환을 위해 사용된다. 그러므로 CAN FD 및 CAN FX에서부터 res 비트까지 프레임 포맷들이 동일하다. CAN FX 가입자국, 즉, 여기서는 가입자국들(10, 30)은 CAN FD도 지원한다.
11개의 비트를 포함한 식별자(Identifier)가 이용되는, 도 2에 도시된 프레임(450)에 대한 대안으로, 선택적으로 29개의 비트를 포함한 식별자(Identifier)가 이용되는 CAN FX 확장형 프레임 포맷이 가능하다. 이는, FDF 비트까지, ISO11898-1:2015에 따른 공지된 CAN FD 확장형 프레임 포맷과 동일하다.
도 2에 따라, 프레임(450)은 SOF 비트에서부터 FDF 비트까지(이도 포함됨), ISO11898-1:2015에 따른 CAN FD 베이스 프레임 포맷과 동일하다. 그러므로 공지된 구성은 여기서 추가로 설명하지 않는다. 도 2에서 하부 라인이 두꺼운 선으로 도시되어 있는 비트들은 프레임(450) 내에서 우성으로서 송신된다. 도 2에서 상부 라인이 두꺼운 선으로 도시되어 있는 비트들은 프레임(450) 내에서 열성으로서 송신된다.
일반적으로, 프레임(450)의 생성 시, 2개의 상이한 스터핑 규칙이 적용된다. 제어 필드(454) 내 FXF 비트까지는 CAN FD의 동적 비트 스터핑 규칙이 적용되며, 그럼으로써 5개의 동일한 비트 이후 결과적으로 하나의 역 스터프 비트(inverse stuff bit)가 삽입된다. 제어 필드(454) 내 FX 비트 이후에는 고정 스터핑 규칙이 적용되며, 그럼으로써 정해진 수의 비트 이후에 하나의 고정 스터프 비트가 삽입된다. 그 대안으로, 단 하나의 스터프 비트 대신 2개 또는 그 이상의 비트가 고정 스터프 비트로서 삽입될 수 있다.
프레임(450) 내에서 FDF 비트 직후에 FXF 비트가 뒤따르며, 상기 FXF 비트는 앞서 언급한 것처럼 상기 위치에서부터 CAN FD 베이스 프레임 포맷의 "res Bit"에 상응한다. 그에 따라 FXF 비트가 1로서, 즉, 열성으로 송신되면, 이는 CAN FX 프레임으로서의 프레임(450)을 식별한다. CAN FD 프레임의 경우, 통신 제어 장치(11)는 FXF 비트를 0으로서, 즉, 우성으로 설정한다.
프레임(450) 내에서 FXF 비트 이후, 향후 사용을 위한 우성 비트인 resFX 비트가 뒤따른다. resFX는 프레임(450)의 경우 0으로서, 즉, 우성으로서 송신되어야 한다. 그러나 가입자국(10)이 resFX 비트를 1로서, 다시 말해 열성으로 수신한다면, 수신하는 가입자국(10)은, CAN FD 메시지(46)에서 res=1에 대해 구현되는 것처럼, 예컨대 프로토콜 예외 상태(protocol exception state)로 전환된다. resFX 비트는 정확히 그 반대로도 정의될 수 있는데, 즉, 1로서, 다시 말해 열성으로 송신되어야 하며, 그럼으로써 수신하는 가입자국은, resFX 비트가 우성인 경우에 프로토콜 예외 상태로 전환된다.
프레임(450) 내에서 resFXF 비트 이후에는 기결정된 비트 시퀀스가 부호화되는 시퀀스 BRS AD가 뒤따른다. 이런 비트 시퀀스는 중재 단계(451)의 중재 비트 전송률에서 데이터 단계(452)의 데이터 비트 전송률로 간단하면서 확실한 전환을 허용한다. 예컨대 BRS AD의 비트 시퀀스는 열성 중재 비트와 뒤이은 우성 데이터 비트로 구성된다. 본 실례에서, 비트 전송률은 2개의 언급한 비트 사이의 에지에서 전환될 수 있다.
프레임(450) 내에서 시퀀스 BRS AD 이후에는, 하기에서 훨씬 더 구체적으로 기술되는 데이터 필드(455)의 유효 데이터의 데이터 타입(Data Type = DT)이 명시되어 있는 DT 필드가 뒤따른다. DT 필드는 예컨대 1바이트의 길이를 가지며, 그에 따라 28 = 256개의 상이한 데이터 타입(Data Types)이 정의된다. 물론 DT 필드에 대해 다른 길이도 선택될 수 있다. 데이터 타입(Data Type)은, 데이터 필드(455) 내에 어느 유형의 정보가 포함되어 있는지와 관련하여 데이터 필드(455)의 내용을 식별할 수 있게 한다. DT 필드 내 값에 따라, 데이터 필드(455) 내에서는, 하기에서 도 7a 내지 도 7e를 토대로 더 구체적으로 기술되는 것처럼, 실질적인 유효 데이터(user data) 외에도 제공되어 있는 추가 헤더(header) 또는 트레일러(trailer)도 전송된다. 그 대안으로, DT 필드는 데이터 필드(455)의 시작 부분에, 즉, 예컨대 데이터 필드(455)의 제1 바이트 내에 배치된다.
프레임(450) 내에서 DT 필드 이후에는 데이터 길이 코드(DLC = Data Length Code)가 삽입되는 DLC 필드가 뒤따르며, 상기 데이터 길이 코드는 프레임(450)의 데이터 필드(455) 내 바이트 수를 명시한다. 데이터 길이 코드(DLC)는 1에서부터 데이터 필드(455)의 최대 길이 또는 데이터 필드 길이까지의 모든 값을 취할 수 있다. 최대 데이터 필드 길이가 특히 2048비트라면, DLC = 0이 바이트 수가 1개인 데이터 필드 길이를 의미하고 DLC = 2047은 바이트 수가 2048개인 데이터 필드 길이를 의미한다고 가정할 때, 데이터 길이 코드(DLC)는 11개의 비트 수를 필요로 한다. 그 대안으로, 예컨대 CAN의 경우처럼, 길이 0의 데이터 필드(455)가 허용될 수도 있다. 이 경우, DLC = 0은 예컨대 바이트 수가 0인 데이터 필드 길이를 부호화할 수도 있다. 이 경우, 예컨대 11비트일 때 부호화 가능한 최대 데이터 필드 길이는 (2^11)-1 = 2047이다.
프레임(450) 내에서 DLC 필드 이후에는 헤더 체크섬(H_CRC)이 뒤따른다. 헤더 체크섬은 프레임(45)의 헤더(Header), 다시 말해 SOF 비트를 갖는 프레임(450) 시작에서부터, 헤더 체크섬(H_CRC)의 시작까지, 즉, 모든 동적 스터프 비트와 선택적으로 고정 스터프 비트를 포함하여 헤더 체크섬(H_CRC) 시작까지의 모드 비트의 보호를 위한 체크섬이다. 순환 중복 검사(CRC)에 따른 헤더 체크섬(H_CRC) 및 그에 따른 체크섬 다항식의 길이는 원하는 해밍 거리(Hamming distance)에 상응하게 선택될 수 있다. 헤더 체크섬(H_CRC)에 의해 보호될 데이터 워드(data word)는, 데이터 길이 코드(DLC)가 11비트인 경우, 27비트보다 더 길다. 그러므로 헤더 체크섬(H_CRC)의 다항식은, 6의 해밍 거리를 달성하기 위해서는 최소한 13비트 길이여야 한다. 헤더 체크섬(H_CRC)의 계산은 하기에서 좀 더 구체적으로 기술된다.
프레임(450) 내에서 헤더 체크섬(H_CRC) 이후에는 데이터 필드(455)(data field)가 뒤따른다. 데이터 필드(455)는 1개 내지 n개의 데이터 바이트로 구성되며, 이때 n은 예컨대 2048바이트 또는 4096바이트이거나, 임의의 다른 값이다. 그 대안으로, 0의 데이터 필드 길이도 생각해볼 수 있다. 데이터 필드(455)의 길이는 앞에서 기술한 것처럼 DLC 필드 내에 부호화되어 있다. 앞서 기술한 것처럼, 선택적으로 DT 필드는 데이터 필드(455)의 시작부에, 즉, 예컨대 데이터 필드(455)의 제1 바이트 내에 배치된다.
프레임(450) 내에서 데이터 필드(455) 이후에는 프레임 체크섬(F_CRC)이 뒤따른다. 프레임 체크섬(F_CRC)은 프레임 체크섬(F_CRC)의 비트들로 구성된다. 프레임 체크섬(F_CRC) 및 그에 따른 CRC 다항식의 길이는 원하는 해밍 거리에 상응하게 선택된다. 프레임 체크섬(F_CRC)은 전체 프레임(450)을 보호한다. 그 대안으로, 프레임 체크섬(F_CRC)을 포함한 데이터 필드(455)만 선택적으로 보호된다. 프레임 체크섬(F_CRC)의 계산은 하기에서 좀 더 구체적으로 기술된다.
프레임(450) 내에서 프레임 체크섬(F_CRC) 이후에는, 기결정된 비트 시퀀스가 부호화되는 시퀀스(BRS DA)가 뒤따른다. 이 비트 시퀀스는 데이터 단계(452)의 데이터 비트 전송률에서부터 중재 단계(451)의 중재 비트 전송률로의 간단하면서도 확실한 전환을 허용한다. 예컨대 BRS DA의 비트 시퀀스는 열성 데이터 비트와 뒤이은 우성 중재 비트로 구성된다. 본 예시에서는, 2개의 언급한 비트 사이의 에지에서 비트 전송률이 전환될 수 있다.
프레임(450) 내에서 시퀀스(BRS DA) 이후에는, 동기화 패턴(Sync 패턴)이 지속되는 Sync 필드가 뒤따른다. 동기화 패턴은, 수신하는 가입자국(10, 30)으로 하여금, 데이터 단계(452) 이후 중재 단계(451)의 시작을 검출하도록 허용하는 비트 패턴이다. 동기화 패턴은, 예컨대 오류가 있는 헤더 체크섬(H_CRC)으로 인해 데이터 필드(455)의 정확한 길이를 식별하지 못하는 수신측 가입자국(10, 30)이 동기화되도록 허용한다. 그에 뒤이어, 상기 가입자국들은, 오류가 있는 수신을 통지하기 위해, "부정 확인응답(Negative Acknowledge)"을 송신할 수 있다. 이는 특히, 데이터 필드(455) 내 CAN FX가 더 이상 오류 프레임(47)(Error Flags)을 허용하지 않을 때 매우 중요하다.
프레임(450) 내에서 Sync 필드 이후에는 복수의 비트로, 예컨대 도 2의 예시에서는 ACK 비트, ACK dlm 비트, NACK 비트 및 NACK dlm 비트로 구성된 확인응답 필드(ACK Field)가 뒤따른다. NACK 비트 및 NACK dlm 비트는 선택적 비트들이다. 수신하는 가입자국(10, 30)이 프레임(450)을 올바르게 수신했을 때, 상기 수신하는 가입자국(10, 30)은 ACK 비트를 우성으로서 송신한다. 송신하는 가입자국은 ACK 비트를 열성으로서 송신한다. 그러므로 원래 프레임(450) 내에서 버스(40)로 송신된 비트는 수신하는 가입자국들(10, 30)에 의해 덮어쓰기될 수 있다. ACK dlm 비트는, 다른 필드들과 분리하는 데 이용되는 열성 비트로서 송신된다. NACK 비트 및 NACK dlm 비트는, 수신하는 가입자국이 버스(40) 상에서 프레임(450)의 부정확한 수신을 시그널링할 수 있도록 하는 데 사용된다. 상기 비트의 기능은 ACK 비트 및 ACK dlm 비트의 기능과 같다.
프레임(450) 내에서 확인응답 필드(ACK Field) 이후에는 종료 필드(EOF = End of Frame)가 뒤따른다. 종료 필드(EOF)의 비트 시퀀스는, 프레임(450)의 종료를 식별 표시하는 데 사용된다. 종료 필드(EOF)는, 프레임(450)의 끝에 8개의 열성 비트 수가 송신되도록 보장한다. 이는, 프레임(450) 내부에서 발생할 수 없는 비트 시퀀스이다. 그렇게 하여, 가입자국들(10, 20, 30)에 의해 프레임(450)의 끝이 확실하게 검출될 수 있다.
종료 필드(EOF)는, NACK 비트 내에서 우성 비트가 확인되었는지 아니면 열성 비트가 확인되었는지의 여부에 따라 상이한 길이를 갖는다. 송신하는 가입자국은 NACK 비트를 우성으로서 수신했다면, 종료 필드(EOF)는 7개의 열성 비트 수를 포함한다. 그렇지 않으면, 종료 필드(EOF)의 길이는 단 5개의 열성 비트에 불과하다.
프레임(450) 내에서 종료 필드(EOF) 이후에는 프레임 간 간격(IFS - Inter Frame Space)이 뒤따른다. 상기 프레임 간 간격(IFS)은 ISO11898-1:2015에 상응하는 CAN FD에서처럼 구성된다.
도 2에는, 헤더 분할의 시퀀스에 대한 특별한 예시가 명시되어 있다. 대안적으로 헤더 분할의 시퀀스는 다르게 분류될 수 있다. 예컨대 DLC 필드가, 도 3에 본 실시예의 수정안으로서 도시되어 있듯이, DT 필드의 앞에 배치될 수 있다.
도 4에는, 통신 장치(11), 송/수신 장치(12), 그리고 상기 통신 제어 장치(11)의, 더 정확하게는 상기 통신 제어 장치의 프로토콜 컨트롤러(111)의 부분인 체크섬 유닛(15)을 포함하는 가입자국(10)의 기본적인 구성이 도시되어 있다. 또한, 통신 제어 장치(11)는, 예컨대 메시지 처리 모듈(message handling module)(1121), 시간 동기화 모듈(1122), CANsec 모듈(1123), 수신 신호 필터 모듈(1124), 송신 신호 필터 모듈(1125) 등과 같은 적어도 하나의, 특히 바람직하게는 복수의 확장 모듈(1121 내지 1112N)을 구비한 프로토콜 확장 블록(112)을 포함한다. 상기 모듈들 또는 다른 모듈들은 임의의 수로 제공될 수 있고 사용될 수 있다.
가입자국(30)은 도 3에 도시된 것과 유사한 방식으로 구성되지만, 체크섬(35)은 도 1에 따라 통신 제어 장치(31) 및 송/수신 장치(32)와 별도로 배치된다. 그러므로 가입자국(30)은 별도로 기술하지 않는다.
도 4에 따라서, 가입자국(10)은, 통신 제어 장치(11) 및 송/수신 장치(12)에 추가로, 상기 통신 제어 장치(11)가 할당되어 있고 중앙 처리 유닛(Central Processing Unit = CPU)(131)을 포함하는 마이크로컨트롤러(13)도 포함한다. 이에 추가하여 통상적으로, 송/수신 장치(12)에 전기 에너지를 공급하는 도시되지 않은 에너지 공급 장치가 내장된다. 에너지 공급 장치는 통상 5V의 전압(CAN_Supply)을 공급한다. 그러나 필요에 따라, 에너지 공급 장치가 다른 값을 갖는 다른 전압을 공급할 수도 있다. 그에 추가로 또는 그 대안으로 에너지 공급 장치가 전류원으로서 구성될 수 있다.
통신 제어 장치(11)는 CAN FX 기능들의 구현을 담당한다.
프로토콜 확장 블록(112) 내에는, 더 높은 등급의 모든 프로토콜 확장 기능이 통합되어 있다. 이 기능들은 모듈형으로, 즉, 개별 모듈들(1121 내지 112N)에 의해 구현될 수 있다. 따라서, 프로토콜 확장 내지 프로토콜 확장 기능(protocol extensions)이 간단히 보충될 수 있으며, 프로토콜 컨트롤러(111)에 영향을 미치지 않는다. 프로토콜 확장들은 원칙적으로 대안적으로 또는 추가로 소프트웨어로 구현 구현될 수 있고, 이 경우 상기 소프트웨어는 마이크로컨트롤러(13)의 중앙 처리 유닛(131)에서 실행된다. 프로토콜 컨트롤러(111)와 프로토콜 확장 블록(112) 간에, 송신 및 수신을 제어하는 데 이용될 수 있는 신호(CRTL)가 교환될 수 있다.
예컨대 메시지 처리 모듈(1121)(Message Handler)은 제한된 개수의 송신 및 수신할 메시지(45)를 저장한다. 메시지(45)가 저장되는 필요한 메모리는 대안적으로 통신 제어 장치(11)의 외부에 배치될 수 있으며, 이 경우, 상태 정보, 즉, 예컨대 메시지(45)가 저장되어 있는지의 여부는 메시지 처리 모듈(1121) 내에 저장된다. 경우에 따라, 메시지 처리 모듈(1121)은 메시지(45)를 상대적으로 더 작은 복수의 프레임(450)으로 분할하여 송신할 수도 있고, 메시지(45)를 상대적으로 더 작은 복수의 프레임(450)으로 분할하여 수신할 수도 있으며, 다시 말해 메시지(45)의 부분들을 하나의 메시지에 할당할 수 있다.
예컨대 시간 동기화 모듈(1122)(TimeSync)은 자발적으로 시간 동기화를 수행하며, 이를 위해 CAN FX 메시지(45)를 송신하고 수신한다. 시간 동기화 모듈(1122)은 정보를 중앙 처리 유닛(131)으로 공급한다.
예컨대 CANsec 모듈(1123)은 필요한 경우 메시지(45)를 암호화 방법으로 보호한다.
예컨대 수신 신호 필터 모듈(1124)은 중앙 처리 유닛(131)의 부하를 경감시키기 위해, 수신되는 메시지(45)를 필터링할 수 있다.
예컨대 송신 신호 필터 모듈(1125)은 개별 메시지들(45)에 우선순위 ID(중재를 위한 ID)를 할당할 수 있고, 상기 우선순위 ID를 동적으로 매칭시킬 수 있다. 또한, 송신 신호 필터 모듈(1125)은 선택적으로, 송신할 메시지(45)가 CANsec 모듈에 의해 암호화 방식으로 보호되고, 그런 후에 메시지가 암호화된 형태로 송신되는 점을 보장할 수 있다.
체크섬 유닛(15)은 앞서 기술한 프레임 체크섬(F_CRC) 및 앞서 기술한 헤더 체크섬(H_CRC)을 계산한다.
송/수신 장치(12)는 미도시한 송신기와 수신기를 포함한다. 하기에서 항상 송/수신 장치(12)가 언급되더라도, 선택적으로 송신기의 외부의 별도의 장치에 수신기를 제공할 수 있다. 송신기와 수신기는, 종래의 송/수신 장치(22)에서처럼 구성될 수 있다.
송/수신 장치(12)는 버스(40)에 연결되며, 더 정확하게 말하면 CAN_H 또는 CAN-FX_H를 위한 버스의 제1 버스 코어(41) 그리고 CAN_L 또는 CAN-FX_L을 위한 버스의 제2 버스 코어(42)에 연결된다.
버스 시스템(1)의 작동 중에, 송/수신 장치(12)의 송신기는, 통신 제어 장치(11)의 송신 신호(TXD)를 버스 코어(41, 42)를 위한 상응하는 신호(CAN-FX_H 및 CAN-FX_L)로 변환하며, 이들 신호(CAN-FX_H 및 CAN-FX_L)를 버스(40) 상의 CAN_H 및 CAN_L)용 단자들로 송신한다. 송/수신 장치(12)는 공지된 OSI 모델의 계층(1)을 구현하며, 다시 말해 송/수신 장치(12)는 버스(40) 상에서 송신할 개별 비트를 물리적으로, 예컨대 차동 전압(VDIFF = CAN-FX_H - CAN-FX_L)으로서 부호화한다.
송/수신 장치(12)의 수신기는, 도 5에 따른, 버스(40)로부터 수신되는 신호들(CAN-FX_H 및 CAN-FX_L)을 토대로 수신 신호(RXD 또는 RxD)를 생성하고, 도 4에 도시된 것처럼, 상기 수신 신호를 통신 제어 장치(11)로 전달한다. 유휴 상태(Idle) 또는 대기 상태(Standby)를 제외하고, 송/수신 장치(12)는 수신기를 이용해서, 더 정확하게는 송/수신 장치(12)가 메시지(45)의 송신기인지 여부와 관계없이, 정상 모드에서 항상 버스(40) 상에서의 데이터 내지 메시지(45, 46)의 전송을 중지한다.
도 5의 예시에 따라, 신호(CAN-FX_H 및 CAN-FX_L)는 적어도 중재 단계(451)에서, CAN에 의해 공지된 것처럼 우성 및 열성 버스 레벨(401, 402)을 갖는다. 버스(40) 상에서 도 6에 도시되어 있는 차동 신호(VDIFF = CAN-FX_H - CAN-FX_L)가 생성된다. 비트 시간(t_bt)을 갖는 신호(VDIFF)의 개별 비트들이 0.7V의 수신 임계치에 의해 검출될 수 있다. 데이터 단계(452)에서 신호(CAN-FX_H 및 CAN-FX_L)의 비트들은 중재 단계(451)에서보다 더 빠르게, 즉, 더 짧은 비트 시간(t_bt)으로 송신된다. 따라서, 데이터 단계(452)에서 신호(CAN-FX_H 및 CAN-FX_L)는 적어도 상대적으로 더 높은 비트 전송률에서 종래 신호(CAN_H) 및 (CAN_L)와 구분된다.
도 4에서 신호(CAN-FX_H, CAN-FX_L)에 대한 상태(401, 402)의 시퀀스 및 그에 기인하는 도 6의 전압(VDIFF)의 곡선은 단지 가입자국(10)의 기능의 설명을 위해서만 이용된다. 버스 상태들(401, 402)에 대한 데이터 상태들의 시퀀스는 필요에 따라 선택될 수 있다.
달리 말하면, 송/수신 장치(12)의 송신기는, 도 4에 따른 제1 작동 모드에서, 버스(40)의 버스 라인의 2개의 버스 코어(41, 42)에 대해 상이한 버스 레벨을 갖는 버스 상태(402)로서의 제1 데이터 상태와; 버스(40)의 버스 라인의 2개의 버스 코어(41, 42)에 대해 동일한 버스 레벨을 갖는 버스 상태(401)로서의 제2 데이터 상태;를 생성한다.
또한, 송/수신 장치(12)의 송신기는, 데이터 단계(452)를 포함하는 제2 작동 모드에서 신호들(CAN-FX_H, CAN-FX_L)의 시간 곡선들의 경우, 상대적으로 더 높은 비트 전송률로 비트를 버스(40)로 송신한다. CAN-FX_H 및 CAN-FX_L 신호는 데이터 단계(452)에서 추가로 CAN FD의 경우와 다른 물리 계층에 의해 생성될 수 있다. 그렇게 하여, 데이터 단계(452)에서 비트 전송률이 CAN FD의 경우보다 훨씬 더 높아질 수 있다.
다양한 데이터 타입에 대한 예시들이 도 7a 내지 도 7e에서 DT 필드 내에 도시되어 있고 하기에 명시된다. 하기 예시들은 DT 필드가 예컨대 어디에 이용될 수 있는지를 설명한다.
도 7a에서, 프레임(450)의 DT 필드 내에는 0x00 값이 포함되어 있으며, 이는, 데이터 필드(455) 내에 미가공 데이터가 유효 데이터(4551)로서 포함되어 있는 정상 CAN FX 프레임(450)을 지칭한다. 프레임(450)은 확장을 포함하지 않으며, 그러므로 클래식 CAN 및 CAN FD에서 일반적인 것처럼 구성된다. 이 데이터 타입은 특히, 단지 비트 전송률이 상대적으로 더 높고 가능 데이터 필드 길이가 길다는 이유로만 CAN FX를 사용하는 사용자에게 매력적이다.
또한, 프레임(450)의 DT 필드 내에는 0x01 내지 0x0F 값이 포함되어 있을 수 있으며, 이는 CAN FX 네트워크 내부에서의 관리 메시지를 지칭하고, 버스 시스템(1)은 CAN FX 네트워크의 일부분이다. DT 필드 내에 상기 값 또는 데이터 타입을 가진 프레임(450)은 통신 제어 장치(11, 31)(CAN FX 컨트롤러)만이 자발적으로 또는 배타적으로 송신할 수 있다. 통신 제어 장치(11, 131)는 상기 값들(0x01 내지 0x0F) 중 적어도 하나의 값을 배타적으로 이용할 수 있다. 다시 말해, 마이크로컨트롤러(13) 상의 소프트웨어 또는 가입자국(10, 30)의 여타의 유닛은 CAN FX 컨트롤러(11)에, DT 필드 내에 상기 값 또는 데이터 타입을 가진 프레임(450)을 송신하도록 지시할 수 없다. 그 중 하나의 용례는, CAN FX 컨트롤러 내지 통신 제어 장치들(11)이 예컨대 버스 시스템(1)에서의 통신을 위한 비트 전송률 또는 다른 매개변수들과 같은 사항을 버스(40) 상에서 협의하는 자동 협의(Auto Negotiation)이다. 또 다른 용례는, CAN FX 컨트롤러 내지 통신 제어 장치(11)가 시간 동기화를 위한 프레임을 송신하고 수신할 수 있는 시간 동기화이다. 예컨대 데이터 타입(DT = 0x04)은 시간 동기화를 위한 동기화 메시지를 나타낸다. 상기 데이터 타입(DT)을 가진 프레임들(450)은 사용자에게, 다시 말해 중앙 처리 유닛(CPU)으로 전달될 필요가 없고, 필터링될 수 있다.
또한, 프레임(450)의 DT 필드 내에는 0x10 값이 포함되어 있을 수 있으며, 이는 세그먼트화된 CAN FX 프레임(450)을 지칭한다. 원칙적으로, 송신하는 가입자국은 하나의 메시지(45)를 긴 데이터 필드(455)를 가진 프레임(450) 대신 상대적으로 더 짧은 데이터 필드(455)를 가진 복수의 프레임(450) 형태로도 송신할 수 있다. 이는, 간단한 전송 프로토콜의 거동에 상응한다. 상대적으로 더 짧은 프레임(450)은 상대적으로 더 높은 우선순위를 갖는 다른 프레임(450)을 위해 필요한 대기 시간을 단축시키며, 그에 따라 실시간 성능이 높아진다.
프레임(450)의 수신기는 DT 필드 = 0x10에서, 이것이 메시지(45)의 일부분일 뿐이라는 점을 인식한다. 데이터 필드(455)의 시작 부분에는, 상기 프레임(450)의 메시지 중 몇 번째 세그먼트(부분)가 전송되는지, 전부 몇 개의 세그먼트가 존재하는지, 그리고 메시지(45)의 내용에 대한 데이터 타입(DT)과 같은 정보를 포함하는 세그먼트 헤더(Segment-Header)가 있다.
도 7b에서, 프레임(450)의 DT 필드 내에는 0x21 값이 포함되어 있으며, 이는 이더넷 터널링(Ethernet Tunneling)을 지칭한다. CAN FX의 의도된 적용 분야 중 하나는 이더넷 프레임(4552)의 터널링, 다시 말해 변경 없는 전송(transparent transfer)이다. 그러므로 데이터 필드(455) 내에 이더넷 프레임(4552)이 위치하며, 즉, 더 정확히 말하면 이더넷 프로토콜에 따라 "타겟 MAC 주소(Destination MAC Address)"에서 시작하여 "페이로드(payload)"까지(페이로드 포함) 이더넷 프레임(4552)의 모든 필드가 위치한다.
도 7c에서, 프레임(450)의 DT 필드 내에는 0x12 값이 포함되어 있으며, 이는 메시지 식별자(Message ID)(4553)를 지칭한다. 이는, 메시지 식별자(4553)가 데이터 필드(455)의 처음 4개의 바이트 내에 저장되어 있음을 의미한다. 이는, CAN FX가 순수 데이터 전송 속도의 증가를 위해 중재 단계(451)에서 짧은 ID만을 갖기 때문에 바람직하다. CAN에서 통용되는 "RX 메시지 필터"는 이제 DT=0x12를 가진 수신 프레임에서 메시지 식별자(4553)를 필터링할 수 있다. 다른 데이터 타입(DT)을 가진 프레임(450)의 경우, 데이터 타입(DT)에 의해 제공된 필드를 필터링하는 것이 바람직하다. 상기 필드들은 임의로 선택될 수 있다. DT 필드 내 데이터 타입(DT)을 고려하지 않는, 데이터 필드(455) 내 처음 4개의 바이트의 일반적인 필터링은 무의미하다.
도 7d에서, 프레임(450)의 DT 필드 내에는 0x11 값이 포함되어 있으며, 이는 CAN 보안 프레임(CANsec = CAN Security)을 지칭한다. 상기 CAN 보안 프레임은, 프레임(455)의 데이터 필드(455) 및 여타의 필드의 부분들이 암호화 메커니즘으로 보호됨을 의미한다. 예컨대 보안 헤더(Security Header)(4554)는 데이터 필드(455)의 시작 부분에 위치한다. 보안 헤더(4554)는, 취해진 보안 조치의 유형에 대한 정보, 특히 메시지(45)의 무결성이 서명 내지 메시지 인증 코드를 통해 보호되지의 여부, 또는 데이터 필드(455)가 비밀 보호를 위해 암호화되는지의 여부, 또는 두 보안 조치가 모두 구현되는지의 여부에 대한 정보를 포함한다. 또한, 사용된 키, 예컨대 키(17)에 대한 정보 및/또는 통신 채널 및 패킷 번호에 대한 정보도 포함되어 있을 수 있다. 예컨대 보안 헤더(4554) 내에 서명 옵션이 설정되어 있다면, 서명을 포함한 보안 트레일러(Security Trailer)(4555)가 데이터 필드(455)의 마지막 4개의 바이트 내에 위치한다. 그렇지 않은 경우에는 보안 트레일러(4555)가 없다.
또한, 프레임(450)의 DT 필드 내에 0x13 값이 포함되어 있을 수 있으며, 이는 소스 식별자(Source ID) 및 타겟 식별자(Destination ID)를 포함한 CAN FX 프레임(450)을 지칭한다. 소스 식별자 및 타겟 식별자는 데이터 필드(455)의 제1 바이트에 저장된다. 이는, 이더넷 프레임에 포함된 소스 주소와 타겟 주소를 에뮬레이트(emulate)한다. CAN에서 통용되는 수신 신호 필터(1124)(RX 메시지 필터)는 이제 데이터 타입(DT=0x13)을 갖는 수신 프레임(450)에서 소스 식별자 및 타겟 식별자를 필터링할 수 있다.
또한, 프레임(450)의 DT 필드 내에는 0x20 값이 포함되어 있을 수 있으며, 이는 예컨대 인터넷 프로토콜, 버전 4를 가진 CAN FX 프레임(450)을 지칭한다. 상기 프레임(450)의 경우, 데이터 필드(455) 내에는 버전 4의 인터넷 프로토콜의 패킷이 위치한다. 물론, 데이터 타입(DT)이 어떻게 결정되는지에 따라, 다른 프로토콜들에 따른 임의의 패킷이 가능하다. 인터넷 프로토콜은 차량 내부 네트워크에서도 점점 더 많이 사용되고 있다.
앞서 도 2와 관련하여 기술한 것처럼, 메시지(45)의 데이터 길이 코드(DLC)는 각각 데이터 필드(455)의 길이를 명시하며, 이는 사용된 데이터 타입(DT)을 기반으로 가능성 있는 추가 헤더(Header)(4554) 또는 트레일러(Trailer)(4555)를 포함한 유효 데이터의 길이에 상응한다. 그 대안으로, 데이터 길이 코드(DLC)를 이용하여, 이더넷에서 실행되는 것처럼, 유효 데이터의 길이만 부호화할 수도 있다. 그러나 이는, CAN FX 프로토콜 컨트롤러 또는 통신 제어 장치(11)가 프레임(450)을 복호화할 때, 상기 프레임(450)이 어디에서 끝나는지를 알기 위해, 사용된 모든 데이터 타입(DT)을 알고 있어야 할 수도 있다는 단점이 있다.
도 7e에 따라, 데이터 타입들(DT)의 네스팅(nesting)도 마찬가지로 가능하다. 이 경우, 데이터 타입(DT)은 예컨대, 데이터 필드(455) 내에 수용되어 있는 헤더(4554)가 도 7e에 예시로서 도시된 것처럼 데이터 타입(DT)도 포함한다는 것을 나타낸다. 이 경우, 반복되는 데이터 타입이 가능하다. 달리 말하면, 다중 네스팅이 가능하다. 이 경우, 임의 수 또는 임의 깊이의 네스팅이 가능하다. 그러므로 데이터 필드(455) 내에는 데이터 타입(DT)을 위한 하나 이상의 필드가 제공되며, 데이터 필드(455)의 상기 필드 내에, 어느 유형의 정보가 프레임(450)의 데이터 필드(455)에 위치하는지를 명시하는 값이 기록된다. 이 경우, 특히 데이터 필드(455)는 다양한 유형의 정보를 위해 이용될 수 있다.
도 7e의 특별한 예시의 경우, CAN FX 프레임의 데이터 타입(DT)은 0x11 값을 가지며, 이는 CANsec를 나타낸다. 데이터 필드(455) 내 보안 헤더(4554)는 마찬가지로 데이터 타입(DT)을 포함한다. CANsec로 보호된 메시지(45) 내에 이더넷 프레임(4552)이 포함되어 있다면, 도 7e의 가운데 부분에 도시된 것처럼, 보안 헤더(4554) 내 데이터 타입(DT)은 0x21로 설정된다. 보호된 프레임 내에 IPv4 패킷이 포함되어 있다면, 보안 헤더(4554) 내에 데이터 타입 DT = 0x20이 명시되어 있을 수도 있다.
도 8은, 특별한 예시로, 유효 데이터(4551)의 최대량이 사용자에 의해 프레임(R1, R2, R3, R4) 당 512바이트로 제한되었기 때문에, 2040바이트를 가진 CAN FX 메시지(450)가 어떻게 4개의 프레임(R1 내지 R4)으로 송신될지를 보여준다. 따라서, 4개의 프레임, 요컨대 각각 512바이트씩의 유효 데이터(4551)를 포함한 3개의 프레임(R1, R2, R3)과, 요컨대 504바이트의 유효 데이터(4551)를 포함한 1개의 프레임(R4)이 송신된다. 처음 3개의 프레임(R1, R2, R3)에서 데이터 길이 코드(DLC)는 514바이트의 값을 갖는다. 마지막 프레임(R4)에서는 데이터 길이 코드(DLC)가 506바이트의 값을 갖는데, 그 이유는 2바이트를 갖는 각각 하나의 세그먼트 헤더(Segment Header)(S0)가 포함되어 있기 때문이다. 도 8에 도시된 것처럼, 세그먼트 헤더(S0)의 제1 바이트에서 필드(S1)에는 현재 세그먼트(4비트)의 번호 및 그에 이어 세그먼트의 총수가 명시되어 있다(4비트). 물론 하나의 프레임(4500)을 프레임 R1 내지 RN으로 달리 세그먼트화할 수 있으며, 이때 N은 임의의 자연수이다.
도 9에는, CAN FX와 CAN FD가 호환될 수 있는 제3 실시예에 따른 프레임(450_1)이 도시되어 있다. 본 실시예의 경우, 프레임(450_1) 및 그에 따른 CAN FX 프레임 포맷이, 하기에서 기술되는 것처럼, 도 2의 프레임(450)과 구분된다. 여기서는 도 2의 프레임(450)과의 차이점만 기술된다. 나머지는 두 실시예의 프레임(450, 450_1)이 서로 동일하다.
프레임(450_1) 내에서 헤더 체크섬(H_CRC)의 앞에 S_C 필드가 삽입된다. S_C 필드에서는, 송신되는 동적 스터프 비트의 수(Stuff Count)가 전송된다. S_C 필드는 1개 내지 n개의 비트를 포함할 수 있다. 이 경우, 즉, 프레임(450_1)의 경우, 최대 3개의 동적 스터프 비트가 발생하며, 다시 말해 n은 2로 선택될 수 있다. 그 대안으로, 전송할 비트 수를 감소시키기 위해, "modulo-X 연산에 따른 동적 스터프 비트 수"의 전송이 가능하다. X는 예컨대 2일 수 있다.
그러나 상기 변형예를 통해 프레임(450_1)의 데이터 오버헤드가 도 2의 프레임(450)에 비해 더 커진다.
프레임(450_1)의 수정 시, S_C 필드 내에서는 송신되는 동적 스터프 비트 수(Stuff Count) 대신, 스터프 보상자(stuff compensator)가 삽입된다. 스터프 보상자는 0개 내지 m개의 비트를 가지며, 이때 m은 FDF 비트까지 발생할 수 있는 동적 스터프 비트의 최대 수에 상응한다. 이 경우, 동적 스터프 비트와 스터프 보상자 비트의 합은 항상 m이다.
스터프 보상자는 프레임(450_1)의 프레임 헤더의 길이가 일정해지도록 보장한다. 예컨대 식별자(ID)를 위한 비트가 11인 경우, 최대 3개의 동적 스터프 비트가 발생할 수 있다. 따라서, 11개의 비트를 가진 식별자(ID)에서는 m = 3일 수 있다. 하나의 동적 스터프 비트를 가진 프레임(450_1) 내에서 스터프 보상자는 2 비트 길이인데, 그 이유는 3 - 1 = 2비트가 적용되기 때문이다. 그로 인해, 데이터 필드(455)는 항상 프레임 시작에서부터 정해진 수의 비트 이후에 시작한다.
도 10에는, CAN FX와 CAN FD가 호환될 수 없는 제4 실시예에 따른 프레임(4500)이 도시되어 있다. 본 실시예의 경우, 프레임(4500)과 그에 따른 CAN FX 프레임 포맷은 하기에 기술되는 것처럼 도 2의 프레임(450)과 구분된다. 여기서는 도 2의 프레임(450)과의 차이점만 기술한다. 나머지는 두 실시예의 프레임(450, 4500)이 서로 동일하다.
일반적으로, 본 실시예에 따른 프레임(4500)의 생성 시 고정 스터핑 규칙만 이용되며, 그럼으로써 정해진 수의 비트 이후에 하나의 고정 스터프 비트가 삽입된다. 그 대안으로, 스터프 비트가 하나만 삽입되는 대신, 2개 또는 그 이상의 비트도 고정 스터프 비트로서 삽입될 수 있다. 이는, 데이터 길이 코드(DLC)의 값을 알고 있을 때, 일정한 프레임 길이 내지 일정 길이의 프레임(4500)으로 이어진다. 이는 동적 스터프 비트에 의해 야기되는 다양한 문제를 방지한다.
본 실시예에 따른 도 10의 프레임(4500) 내에서, 식별자(ID)는 더 이상 CAN FD의 경우처럼 11개의 비트 또는 29개의 비트 수로 제한되지 않는다. 식별자(ID)의 비트 수(k)는 자유롭게 선택될 수 있다. 물론 상기 수(k)는 선택적으로 고정 값으로 결정될 수 있다. 높은 순 데이터 전송 속도를 위해, k = 8비트를 가진 ID가 적합하다. 이는, 버스 시스템(1)의 각각의 가입자국(10, 20, 30)에 충분히 많은 버스 액세스 우선순위를 부여하기에 충분하다. 물론, 필요에 따라 그리고 버스 시스템(1) 내 상이한 우선순위 수에 따라, k가 다른 값으로 선택될 수 있다.
도 2의 프레임(450)의 비트들(RRS, IDE, FDF, FXF)은 도 10의 프레임(4500)에서는 더 이상 불필요하여 생략된다. 이는 4개의 비트를 절약함으로써 프레임 오버헤드가 감소한다. 그 결과, 버스 시스템(1) 내에서 순 데이터 전송 속도가 빨라진다.
종료 필드(EOF)는, 도 10의 프레임(4500) 내에서, NACK 비트가 우성인 경우에만 5개의 비트 수를 더 갖는다. 그와 반대로 NACK 비트가 열성이라면, 종료 필드(EOF)는 3개의 비트 수를 갖는다. 이는, 프레임(4500)의 끝에서 6개의 열성 비트의 수가 송신되도록 보장한다. 이 열성 비트의 수는, 중재 단계(451)에서 5개의 동일한 비트 이후 하나의 고정 스터프 비트가 삽입될 경우, 유효 프레임(4500) 내 다른 위치에서는 발생할 수 없다. 선택적으로 6개 이상의 비트도 가능하다. 특히 EOF 비트의 수는, 그에 후속하여 하나의 고정 스터프 비트가 삽입될 비트의 수에 맞추어 조정되어야 한다.
프레임 간 간격(IFS)은 프레임(4500) 내에서 최소 길이를 필요로 하지 않는다. 특히 프레임 간 간격(IFS)은 0의 길이를 가질 수 있으며, 즉, 완전히 생략될 수 있다. 이 경우, 2개의 프레임(4500)이 이음부 없이 차례로 송신된다. 그러나 전술한 사례에 비해 버스 시스템(1)의 강인성을 높이기 위해서는 예컨대 1개의 비트 수를 갖는 프레임 간 간격(IFS)이 적합하다. 이제 2개의 프레임(4500) 사이의 7개의 열성 비트에 의해, 버스(40) 상의 신규 가입자국이 더욱 신뢰성 있게 동기화될 수 있다.
따라서, 프레임(4500)의 경우, 동적 스터프 비트는 발생하지 않는다. 그러므로 도 10의 필드(S_C)가 불필요하며, 그럼으로써 프레임 오버헤드가 훨씬 더 감소한다. 선택적으로 헤더 체크섬(H_CRC)도 생략될 수 있음으로써, 프레임 오버헤드는 훨씬 더 감소한다. 이는 버스 시스템(1) 내에서 순 데이터 전송 속도를 더욱 증가시킨다.
버스 시스템(1)의 가입자국들(10, 20, 30) 및 이들 내에서 실행되는 방법의 전술한 모든 구성은 개별적으로도 또는 가능한 모든 조합으로도 이용될 수 있다. 특히 전술한 실시예들 및/또는 그 변형들의 모든 특징은 임의로 조합될 수 있다. 그에 추가로 또는 그 대안으로, 특히 하기 변형들을 생각해볼 수 있다.
본 발명이 앞에서 CAN 버스 시스템을 예시로 하여 기술되었긴 하나, 본 발명은 상이한 통신 단계를 위해 생성되는 버스 상태가 서로 구분되는 2개의 서로 다른 통신 단계가 사용되는 모든 통신 네트워크 및/또는 통신 방법에서 사용될 수 있다. 특히 본 발명은, 이더넷 및/또는 100 베이스-T1 이더넷, 필드 버스 시스템 등과 같은 여타의 직렬 통신 네트워크의 개발 시 사용될 수 있다.
특히 실시예들에 따른 버스 시스템(1)은, 데이터가 직렬로 2개의 상이한 비트 전송률로 전송될 수 있는 통신 네트워크일 수 있다. 버스 시스템(1)에서 최소한 정해진 시간 간격 동안에는 하나의 공통 채널에 대한 가입자국(10, 20, 30)의 충돌없는 배타적 액세스가 보장되는 것이 바람직하지만, 필수 요건은 아니다.
실시예들의 버스 시스템(1) 내 가입자국(10, 20, 30)의 개수 및 배치는 임의적인 사항이다. 특히 가입자국(20)은 버스 시스템(1) 내에서 생략될 수 있다. 하나 또는 복수의 가입자국(10 또는 30)이 버스 시스템(1) 내에 제공될 수도 있다. 버스 시스템(1) 내 모든 가입자국이 동일하게 구성되는 점, 즉, 가입자국(10)만 존재하거나 또는 가입자국(30)만 존재하는 경우도 생각해 볼 수 있다.

Claims (15)

  1. 직렬 버스 시스템(1)을 위한 가입자국(10; 30)으로서,
    상기 가입자국은
    가입자국(10; 30)과 버스 시스템(1)의 하나 이상의 다른 가입자국(10; 20; 30)의 통신을 제어하기 위한 통신 제어 장치(11; 31), 및
    상기 통신 제어 장치(11; 31)에 의해 생성된 송신 신호(TXD)를 버스 시스템(1)의 버스(40)로 송신하기 위한 송/수신 장치(12; 32)를 포함하며,
    버스 시스템(1)의 가입자국들(10, 20, 30) 간에 교환되는 메시지(45)에 있어서, 제1 통신 단계(451)에서 버스(40)로 송신되는 신호의 비트 시간(t_bt)이 제2 통신 단계(452)에서 송신되는 신호의 비트 시간(t_bt)과 상이하며,
    통신 제어 장치(11; 31)는, 메시지(45)의 우선순위를 명시하는 필드(ID)에 추가로 데이터 타입(DT)을 위한 필드도 제공되어 있는 프레임(450; 450_1; 4500)에 따라서 송신 신호(TXD)를 생성하도록 구성되며,
    통신 제어 장치(11; 31)는, 데이터 타입(DT)을 위한 필드 내에, 어느 유형의 정보가 프레임(450; 450_1; 4500)의 데이터 필드(455) 내에 위치하는지를 명시하는 값을 기록하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 30).
  2. 제1항에 있어서, 통신 제어 장치(11; 31)는, 송신 신호(TXD)에서 데이터 필드(455)의 데이터 길이 코드(DLC)를 위한 필드의 앞에 또는 뒤에 데이터 타입(DT)을 위한 필드를 제공하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 30).
  3. 제1항 또는 제2항에 있어서, 통신 제어 장치(11; 31)는, 송신 신호(TXD)에서 데이터 필드(455)의 제1 및/또는 제2 바이트 내에 데이터 타입(DT)을 위한 필드를 제공하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 30).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 통신 제어 장치(11; 31)는, 데이터 타입(DT)을 위한 필드 내 기결정된 값에서, 데이터 필드(455) 내에 추가로 데이터 타입(DT)을 위한 하나 이상의 필드를 제공하도록, 그리고 데이터 필드(455) 내의 상기 필드 내에, 어느 유형의 정보가 프레임(450; 450_1; 4500)의 데이터 필드(455) 내에 위치하는지를 나타내는 값을 기록하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 30).
  5. 제4항에 있어서, 데이터 타입(DT)을 위한 필드 내 기결정된 값은, 유효 데이터(4551)가 복수의 프레임(450; 450_1; 4500)으로 분할되어 있고, 데이터 필드(455) 내 데이터 타입(DT)을 위한 상기 추가 필드의 앞에, 프레임들(R1, R2, R3, R4)의 일련번호와; 상기 유효 데이터(4551)로부터 분할된 프레임(R1, R2, R3, R4)의 총 수;를 명시하는 헤더(S1)가 위치한 점을 나타내는, 직렬 버스 시스템용 가입자국(10; 30).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 정보의 유형은, 유효 데이터(4551)가 미가공 데이터를 갖거나; 유효 데이터(4551)가 이더넷 프레임을 갖거나; 유효 데이터(4551)가 인터넷 프로토콜의 패킷을 갖거나; 프레임(450; 450_1; 4500)의 적어도 일부분이 암호화 메커니즘에 의해 보호되거나; 유효 데이터(4551)가 버스 시스템(1)에서의 통신을 위해 기결정된 매개변수를 협의하기 위한 데이터를 갖거나; 유효 데이터(4551)가 시간 동기화를 위한 데이터를 갖거나; 유효 데이터(4551)가 메시지 식별자(4553)를 갖거나; 또는 유효 데이터(4551)가 메시지(45)의 소스 및 타겟에 대한 진술을 갖는; 유형을 포함하는, 직렬 버스 시스템용 가입자국(10; 30).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 통신 제어 장치(11; 31)는, 가입자국(10; 30)의 다른 유닛들에 의해 송신되어서는 안 되는 데이터 타입(DT)을 위해 기결정된 값을 배타적으로 사용할 수 있는, 직렬 버스 시스템용 가입자국(10; 30).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 직렬 버스 시스템용 가입자국은 추가로, 유효 데이터(4551) 내에서 데이터 타입(DT)을 위한 필드 및 선택적으로 존재하는, 데이터 타입(DT)을 위한 추가 필드를 평가하고 그 평가 결과를 기반으로 메시지(45)의 필요한 처리를 실행하기 위한 프로토콜 확장 블록(112)을 갖는, 직렬 버스 시스템용 가입자국(10; 30).
  9. 제7항에 있어서, 프로토콜 확장 블록(112)은, 메시지(45)의 평가 및 필요한 처리의 실행을 실행하는 하나 이상의 모듈(1121 내지 112N)을 포함하는, 직렬 버스 시스템용 가입자국(10; 30).
  10. 제7항 또는 제8항에 있어서, 메시지(45)의 평가 및/또는 필요한 처리의 실행은 하드웨어에 의해 실행되는, 직렬 버스 시스템용 가입자국(10; 30).
  11. 제7항 내지 제9항 중 어느 한 항에 있어서, 메시지(45)의 평가 및/또는 필요한 처리의 실행은 가입자국(10; 30)의 마이크로컨트롤러(13)에서 실행되는 소프트웨어에 의해 실행되는, 직렬 버스 시스템용 가입자국(10; 30).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 메시지(45)를 위해 형성된 프레임(450; 450_1)은 CAN FD와 호환되도록 구성되는, 직렬 버스 시스템용 가입자국(10; 30).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 제1 통신 단계(451)에서는, 버스 시스템(1)의 가입자국들(10, 20, 30) 중 어느 가입자국이 후속하는 제2 통신 단계(452)에서 버스(40)에 대해 적어도 일시적으로 충돌없는 배타적 액세스 권한을 얻는지가 협의되는, 직렬 버스 시스템용 가입자국(10; 30).
  14. 버스(40); 및
    서로 직렬로 통신하는 방식으로 버스(40)를 통해 서로 연결되어 있는 둘 이상의 가입자국(10; 20; 30)
    을 가진 버스 시스템(1)으로서,
    상기 가입자국들 중 적어도 하나의 가입자국(10; 30)은 제1항 내지 제13항 중 어느 한 항에 따른 가입자국(10; 30)인, 버스 시스템(1).
  15. 직렬 버스 시스템(1)에서의 통신을 위한 방법으로서,
    상기 방법은 통신 제어 장치(11; 31) 및 송/수신 장치(12; 32)를 구비한, 버스 시스템(1)의 가입자국(10; 30)에 의해 실행되며, 상기 방법은,
    통신 제어 장치(11; 31)를 이용하여 상기 가입자국(10; 30)과 버스 시스템(1)의 하나 이상의 다른 가입자국(10; 20; 30)의 통신을 제어하는 단계와;
    송/수신 장치(12; 32)를 이용하여, 통신 제어 장치(11; 31)에 의해 생성된 송신 신호(TXD)를 버스 시스템(1)의 버스(40)로 송신하는 단계;를 포함하며,
    버스 시스템(1)의 가입자국들(10, 20, 30) 간에 교환되는 메시지(45)에 있어서, 제1 통신 단계(451)에서 버스(40)로 송신되는 신호의 비트 시간(t_bt)이 제2 통신 단계(452)에서 송신되는 신호의 비트 시간(t_bt)과 상이하며,
    통신 제어 장치(11; 31)는, 메시지(45)의 우선순위를 명시하는 필드(ID)에 추가로 데이터 타입(DT)을 위한 필드도 제공되어 있는 프레임(450; 450_1; 4500)에 따라 송신 신호(TXD)를 생성하도록 구성되며,
    통신 제어 장치(11; 31)는, 데이터 타입(DT)을 위한 필드 내에, 어느 유형의 정보가 프레임(450; 450_1; 4500)의 데이터 필드(455) 내에 위치하는지를 명시하는 값을 기록하도록 구성되는, 직렬 버스 시스템에서의 통신 방법.
KR1020217027973A 2019-02-01 2020-01-29 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법 KR20210121214A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102019201316.3A DE102019201316A1 (de) 2019-02-01 2019-02-01 Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019201316.3 2019-02-01
PCT/EP2020/052079 WO2020157086A1 (de) 2019-02-01 2020-01-29 Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem

Publications (1)

Publication Number Publication Date
KR20210121214A true KR20210121214A (ko) 2021-10-07

Family

ID=69375352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027973A KR20210121214A (ko) 2019-02-01 2020-01-29 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법

Country Status (6)

Country Link
US (1) US11729021B2 (ko)
EP (1) EP3918757A1 (ko)
KR (1) KR20210121214A (ko)
CN (1) CN113330719B (ko)
DE (1) DE102019201316A1 (ko)
WO (1) WO2020157086A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120876A1 (ko) * 2021-12-24 2023-06-29 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019218714A1 (de) 2019-12-02 2021-06-02 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
CN115080477B (zh) * 2022-05-30 2024-01-30 杭州初灵信息技术股份有限公司 一种串行通信的方法和系统
CN115617370B (zh) * 2022-10-21 2024-02-23 广州汽车集团股份有限公司 数据刷新方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798789B1 (en) * 1999-01-27 2004-09-28 Motorola, Inc. Priority enhanced messaging and method therefor
US6728892B1 (en) 1999-09-15 2004-04-27 Koninklijke Philips Electronics N.V. Method for conserving power in a can microcontroller and a can microcontroller that implements this method
US20060268855A1 (en) * 2005-05-31 2006-11-30 Caterpillar Inc. Communication apparatus for real-time embedded control
KR20100073846A (ko) 2008-12-23 2010-07-01 한국전자통신연구원 Can 프로토콜에서의 데이터프레임 송신방법 및 수신방법
EP2712123A1 (en) * 2012-09-20 2014-03-26 Robert Bosch Gmbh Standard CAN implementation tolerating CAN FD frames
DE102017211860B3 (de) * 2017-07-11 2018-09-20 Volkswagen Aktiengesellschaft Verfahren zur Übertragung von Daten über einen seriellen Kommunikationsbus, entsprechend ausgelegte Busschnittstelle sowie entsprechend ausgelegtes Computerprogramm
CN107948176A (zh) * 2017-12-03 2018-04-20 吴武飞 一种面向can网络的信息安全增强方法及控制器
DE102018200982A1 (de) * 2018-01-23 2019-08-08 Volkswagen Aktiengesellschaft Verfahren zur Verarbeitung von Sensordaten in einer Anzahl von Steuergeräten, entsprechend ausgelegte Vorverarbeitungseinheit sowie Fahrzeug
EP3576353B1 (en) * 2018-05-31 2021-07-07 Melexis Technologies NV Flexible data rate handling in a data bus receiver
US11695589B2 (en) * 2020-12-10 2023-07-04 Stmicroelectronics Application Gmbh Controller area network data link layer protocol processing system, related integrated circuit, device and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120876A1 (ko) * 2021-12-24 2023-06-29 삼성전자주식회사 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
DE102019201316A1 (de) 2020-08-06
CN113330719B (zh) 2022-11-15
US11729021B2 (en) 2023-08-15
EP3918757A1 (de) 2021-12-08
CN113330719A (zh) 2021-08-31
WO2020157086A1 (de) 2020-08-06
US20210392011A1 (en) 2021-12-16

Similar Documents

Publication Publication Date Title
CN113330719B (zh) 用于串行总线系统的用户站和在串行总线系统中通信的方法
CN104995873B (zh) 使用协议异常状态的数据传输
US11343117B2 (en) Method for transmitting data via a serial communication bus, correspondingly designed bus interface, and correspondingly designed computer program
CN113841362B (zh) 用于串行总线系统的用户站和用于在串行总线系统中进行通信的方法
CN113412604B (zh) 串行总线系统的用户站和在串行总线系统中通信的方法
CN114144997B (zh) 用于串行总线系统的用户站的错误识别测试装置和用于对在串行总线系统中的通信中用于错误识别的机制进行测试的方法
JP7219342B2 (ja) シリアルバスシステム用の加入局およびシリアルバスシステムでの通信方法
CN114342325B (zh) 用于串行总线系统的用户站和用于在串行总线系统中进行通信的方法
KR20220099920A (ko) 직렬 버스 시스템용 가입자국을 위한 통신 제어 장치 및 직렬 버스 시스템에서의 통신 방법
CN114731308B (zh) 用于串行总线系统的订户站和用于在串行总线系统中的通信的方法
CN113645111A (zh) 通信控制装置和发送/接收装置及总线系统中的通信方法
TWI838577B (zh) 用於串列匯流排系統的節點站以及用於在串列匯流排系統中通訊的方法
KR20230045069A (ko) 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법
JP7422229B2 (ja) シリアルバスシステム用の加入者局およびシリアルバスシステムでの通信方法
US20230148180A1 (en) Subscriber station for a serial bus system and method for communication in a serial bus system
JP7478254B2 (ja) シリアルバスシステムの加入者局用の通信制御デバイスおよび送信/受信デバイス、ならびにシリアルバスシステムで通信するための方法
KR20230045061A (ko) 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법
KR20230107328A (ko) 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법