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

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

Info

Publication number
KR20220114501A
KR20220114501A KR1020220016146A KR20220016146A KR20220114501A KR 20220114501 A KR20220114501 A KR 20220114501A KR 1020220016146 A KR1020220016146 A KR 1020220016146A KR 20220016146 A KR20220016146 A KR 20220016146A KR 20220114501 A KR20220114501 A KR 20220114501A
Authority
KR
South Korea
Prior art keywords
bus system
filter
subscriber station
frame
sgn
Prior art date
Application number
KR1020220016146A
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 KR20220114501A publication Critical patent/KR20220114501A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • 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/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

본 발명은 직렬 버스 시스템(1)용 가입자국(10; 30)과, 직렬 버스 시스템(1)에서의 통신 방법에 관한 것이다. 상기 가입자국(10; 30)은, 임무(13; 23; 33)의 실행을 위한 애플리케이션(11; 21; 31); 버스 시스템(1)의 가입자국(10; 20; 30)들이 서로 메시지(45; 46)들을 교환하게 하는 버스 시스템(1)의 버스(40)로부터 프레임(450)의 형태로 메시지(45; 46)를 직렬로 수신하기 위한 송/수신 장치(17; 27; 37); 및 수신되는 프레임(450)을 필터링하기 위한 필터 모듈(18; 28; 38);을 포함하며, 필터링하기 위한 상기 필터 모듈(18; 28; 38)은, 수신되는 프레임(450)이 애플리케이션(11; 21; 31)으로 전송되어야 하는지 여부를 결정하기 위해, 프레임(450)의 2개 이상의 상이한 세그먼트(SG1 내지 SGn)를 별도로 검사하도록 구성된다.

Description

직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법{SUBSCRIBER STATION FOR A SERIAL BUS SYSTEM AND METHOD FOR THE COMMUNICATION IN A SERIAL BUS SYSTEM}
본 발명은 직렬 버스 시스템을 위한 가입자국; 그리고 버스 시스템의 각각의 가입자국이 버스 시스템의 버스를 통해 송신되는 모든 메시지들을 수신하는 직렬 버스 시스템에서의 통신을 위한 방법;에 관한 것이다.
예컨대 차량에서 센서들과 제어 장치들 간의 통신을 위한 버스 시스템들은, 기술 설비 또는 차량의 기능들의 각각의 개수에 따라서, 높은 데이터양의 전송을 가능하게 해야 한다. 상기 유형의 버스 시스템들에 대한 예시는 CAN 기반 버스 시스템, 플렉스레이 등이다.
예컨대 차량의 경우, 현재, CAN FD를 이용한 CAN 프로토콜 규격으로서의 표준 ISO11898-1:2015에서 데이터가 메시지로서 전송되는 버스 시스템이 도입 단계에 있다. 메시지는 센서, 제어 장치, 인코더 등과 같은 버스 시스템의 가입자국들 간에 전송된다. 이를 위해, 메시지는, 2개의 통신 단계 사이에서 전환되는 프레임으로 버스로 송신된다. 제1 통신 단계(중재)에서는, 버스 시스템의 가입자국들 중 어느 가입자국이 후속하는 제2 통신 단계(데이터 단계, 또는 유효 데이터의 송신)에서 자신의 프레임을 버스로 송신해도 되는지가 협의된다. CAN FD는 대부분의 제조업체 의해 차량에서 500kbit/s 중재 비트 전송률 및 2Mbit/s 데이터 비트 전송률을 사용하는 첫 번째 단계에서 사용된다. 또한, 버스 상에서의 전송 동안, 저속 동작 모드와 고속 동작 모드 간에 왕복 전환된다.
제2 통신 단계에서 훨씬 더 높은 데이터 전송 속도를 가능하게 하기 위해, 현재 CAN XL이라고도 하는 CAN FD용 계승 버스 시스템이 개발되고 있고 이런 계승 버스 시스템은, 현재, 자동화 CAN(CAN in Automation: CiA) 협회에서 표준화되고 있다. CAN XL은, CAN 버스를 통한 순수 데이터 운반 외에도, 기능 안전(Safety), 데이터 보안(Security) 및 서비스 품질(QoS = Quality of Service)과 같은 다른 기능들 역시도 지원해야 한다. 이는 자율 주행 차량에서 요구되는 기초가 되는 특성들이다.
버스 시스템의 유형과 무관하게, 각각의 버스 시스템에서, 각각의 송신되는 메시지는, 버스를 통해, 메시지가 그를 위해 결정되어 있는 것이거나, 또는 메시지 내에 포함된 데이터를 사용하는 가입자국(들)에 도달해야 한다. 그러나 가입자국이 실행하는 많은 애플리케이션은 모든 메시지들의 데이터를 필요로 하지 않는다.
그러므로 가입자국(들)은, 버스로부터 수신되어 가입자국의 애플리케이션에서도 사용되는 메시지들 또는 그 데이터만을 상기 애플리케이션으로 전달하는 통신 모듈을 사용할 수 있다. 통신 모듈은 메시지들의 수치 식별자(numerical identifier)를 근거로 어느 메시지가 전달되고 어느 메시지는 전달되지 않는지를 구분할 수 있다. 그렇게 하여, 통신 모듈은 메시지들에 대한 수용 필터링(acceptance filtering)을 실행한다.
상기 유형의 수용 필터링의 경우, 통신 모듈은, 이 통신 모듈이 어떤 메시지들을 애플리케이션에 수용시키고 그로 인해 통과시켜야 하는지를 결정하는 식별자들을 포함한 목록들을 사용할 수 있다. 이 경우, 통신 모듈은 필터링을 위해 식별자들의 부분들을 마스킹할 수 있으며, 그럼으로써 각각의 목록 항목(list item)은 식별자들의 그룹을 나타낼 수 있다. 그 대안으로, 필터링은 수용되지 않아야 하는, 다시 말해 차단되어야 하는 식별자들의 목록들을 사용할 수 있다. 이런 수용 및/또는 차단 목록들은 소프트웨어에 의해 구성될 수 있다.
문제가 되는 경우는, 애플리케이션이 폭넓은 스펙트럼의 식별자들로 이루어진 메시지들을 사용할 때이다. 특히 이런 경우, 하드웨어 통신 모듈의 필터 옵션들은 모든 필요한 메시지를 통과시키고 이와 동시에 모든 불필요한 메시지를 차단하기에 충분하지 않을 수 있다. 이런 경우에, 애플리케이션 소프트웨어는 나머지 수용 필터링을 위해 컴퓨팅 용량(computing capacity)을 소모해야 한다. 그렇게 하여, 애플리케이션은 경우에 따라 애플리케이션의 동작을 위해 요구되는 속도를 더 이상 보장할 수 없다.
그러므로 본 발명의 과제는, 전술한 문제들을 해결하는 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법을 제공하는 것이다. 특히, 가입자국의 애플리케이션 소프트웨어가 수용 필터링을 위해 컴퓨팅 용량을 소모할 필요 없이, 보다 더 많은 개수의 상이한 메시지 역시도 오직 가입자국의 하나의 통신 모듈에서만 수용과 관련하여 필터링될 수 있게 하는 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법을 제공해야 한다.
상기 과제는 청구항 제1항의 특징들을 갖는 직렬 버스 시스템용 가입자국을 통해 해결된다. 상기 가입자국은, 임무의 실행을 위한 애플리케이션; 버스 시스템의 가입자국들이 서로 메시지들을 교환하게 하는 버스 시스템의 버스로부터 프레임의 형태로 메시지를 직렬로 수신하기 위한 송/수신 장치; 및 수신되는 프레임을 필터링하기 위한 필터 모듈;을 포함하며, 필터링하기 위한 필터 모듈은, 수신되는 프레임이 애플리케이션으로 전송되어야 하는지 여부를 결정하기 위해, 프레임의 2개 이상의 상이한 세그먼트를 별도로 검사하도록 구성된다.
가입자국의 구성은, 통신 모듈이 버스로부터 수신되는 메시지의 단 하나를 초과하는 개별 수치 식별자를 검사할 수 있게 한다.
또한, 가입자국은, 필터 명령어들 및 기준값들의 분리를 통해, 기준값들이 하나를 초과하는 필터 명령어를 위해 재사용되는 점을 보장한다. 그렇게 하여, 저장 공간은 절약될 수 있다. 그 결과로, 가입자국의 하드웨어를 위한 비용도 절감된다.
본원 가입자국에 의해, 특히 CAN 기반 버스 시스템에서는, 제1 통신 단계에서 CAN에 의해 공지된 중재를 유지할 수 있지만, 그럼에도 CAN 또는 CAN FD에 비해 전송률을 다시 현저하게 증가시킬 수 있다.
또한, 본원 가입자국에 의해 수행되는 방법은, 버스 시스템에 CAN 프로토콜 및/또는 CAN FD 프로토콜에 따라 메시지들을 송신하는 하나 이상의 CAN 가입자국 및/또는 하나 이상의 CAN FD 가입자국 역시도 존재할 때 사용될 수도 있다.
본원 가입자국의 바람직한 또 다른 구성들은 종속 청구항들에 명시되어 있다.
어쩌면, 필터 모듈은, 기준 데이터와 비교하여 필터 명령어들을 근거로 프레임의 2개 이상의 상이한 세그먼트를 검사하도록 구성될 수 있으며, 필터 모듈은 하나를 초과하는 필터 명령어를 위해 기준 데이터를 재사용하도록 구성된다.
특별한 구성에서, 필터 모듈은 수신되는 프레임의 2개 이상의 상이한 세그먼트를 필터링하기 위한 필터 명령어들을 저장하기 위한 제1 저장 블록; 수신되는 프레임의 2개의 상이한 세그먼트 중 하나 이상의 세그먼트와의 비교를 위한 기준 데이터를 저장하기 위한 제2 저장 블록; 및 수신되는 프레임이 애플리케이션으로 전송되어야 하는지 여부를 결정하기 위해, 기준 데이터와 관련하여 필터 명령어들을 검사하기 위한 검사 블록;을 포함한다.
필터 명령어들은, 수신되는 프레임의 어느 세그먼트가 어느 기준 데이터와 비교되어야 하는지를 정의할 수 있다.
필터 명령어들은, 비교 결과가 논리적으로 어떻게 전체 결과로 연산되는지를 정의할 수 있다.
또한, 필터 명령어들 중 하나의 필터 명령어가, 어느 수신되는 프레임이 수용되어야 하는지를 명시하는 하나 이상의 제1 명령어를 포함하며, 그리고 무엇이 수용되는 프레임에 의해 실행되어야 하는지를 명시하는 하나 이상의 제2 명령어를 포함하는 점도 생각해 볼 수 있다. 이런 경우, 하나 이상의 제2 명령어는, 수신되어 수용되는 프레임이 어느 저장 영역에 저장되어야 하는지를 명시할 수 있다. 그에 추가로, 또는 그 대안으로, 하나 이상의 제2 명령어는 수신되는 프레임이 표시되어야 하는 것을 그리고 어떻게 표시되어야 하는지를 명시할 수 있다.
또한, 선택적으로 필터 모듈은, 수신되어 수용되는 프레임에, 수행된 필터링에 대한 데이터를 포함한 기결정된 정보들을 부가하도록 구성될 수 있다.
또한, 기준 데이터는 세그먼트들 중 하나 이상의 세그먼트와의 비교를 위해 제공된 기준값을 포함하며, 그리고 기준값과 세그먼트 간의 비트 단위의 비교 이후 비교 결과를 비트 단위로 마스킹하는데 이용되는 마스크를 포함하며, 기준값과 마스크는 각각 세그먼트와 동일한 비트 폭을 갖는 점도 생각해볼 수 있다.
어쩌면, 모든 세그먼트는 동일한 비트 폭을 가질 수 있다.
일 구성에서, 세그먼트들 중 하나 이상의 세그먼트는 하나 이상의 다른 세그먼트와는 다른 비트 폭을 가질 수 있다.
또한, 메시지를 위해 형성되는 프레임은 CAN FD와 호환되게 구성될 수 있으며, 제1 통신 단계에서, 버스 시스템의 가입자국들 중 어느 가입자국이 후속하는 제2 통신 단계에서 버스에 대한 적어도 일시적인 충돌없는 배타적 액세스 권한을 얻는지가 협의된다.
앞에서 기술한 가입자국은, 추가로 하나의 버스 및 서로 직렬로 통신할 수 있는 방식으로 버스를 통해 서로 연결되어 있는 둘 이상의 가입자국을 포함하는 버스 시스템의 부분일 수 있다. 이 경우, 둘 이상의 가입자국들 중 하나 이상의 가입자국은 앞서 기술한 가입자국이다.
전술한 과제는, 또한, 청구항 제14항에 따른, 직렬 버스 시스템에서의 통신 방법을 통해서도 해결된다. 상기 방법은 제어 임무의 실행을 위한 애플리케이션과 송/수신 장치를 포함한 버스 시스템의 가입자국에 의해 실행되며, 상기 방법은, 송/수신 장치를 이용하여, 버스 시스템의 가입자국들이 서로 메시지를 교환하게 하는 버스 시스템의 버스로부터 프레임의 형태인 메시지를 직렬로 수신하는 단계; 및 필터 모듈을 이용하여, 수신되는 프레임을 필터링하는 단계;를 포함하며, 필터 모듈은, 필터링하는 단계 동안, 수신되는 프레임이 애플리케이션으로 전송되어야 하는지 여부를 결정하기 위해, 프레임의 2개 이상의 상이한 세그먼트를 별도로 검사한다.
본원 방법은, 앞서 가입자국과 관련하여 언급한 것과 동일한 장점들을 제공한다.
본 발명의 또 다른 가능한 구현예들은 앞서, 또는 하기에서 실시예들과 관련하여 기술한 특징들 또는 실시형태들의 명시되지 않은 조합들도 포함한다. 이 경우, 통상의 기술자는 개별 양태들도 개선 또는 보완으로서 본 발명의 각각의 기본 형태에 부가할 것이다.
하기에서 본 발명은 첨부된 도면을 참조하여 그리고 실시예들에 기초하여 더 상세하게 기술된다.
도 1은 제1 실시예에 따른 버스 시스템의 블록회로도이다.
도 2는 제1 실시예에 따른 버스 시스템의 가입자국으로부터 송신될 수 있는 메시지의 구조를 설명하기 위한 도표이다.
도 3은 제1 실시예에 따른 버스 시스템의 가입자국의 필터 모듈의 블록회로도이다.
도 4는 제1 실시예에 따른 버스 시스템의 버스로부터 메시지를 수신할 때 필터 모듈에 의해 실행되는 방법의 흐름도이다.
도면들에서 동일하거나 기능이 동일한 요소들에는, 달리 명시되지 않는 한, 동일한 도면부호들이 부여된다.
도 1에는, 예시로서, 하기에 기술되는 것처럼, 특히 기본적으로 CAN 버스 시스템, CAN FD 버스 시스템, CAN XL 버스 시스템 및/또는 이들의 변형예들을 위해 구성되는 버스 시스템(1)이 도시되어 있다. 그러나 버스 시스템(1)은 대안으로 플렉스레이 또는 임의의 다른 직렬 버스 시스템을 위해 구성될 수 있다.
도 1에서, 버스 시스템(1)은, 각각 제1 버스 코어(41) 및 제2 버스 코어(42)를 구비한 하나의 버스(40)에 연결되어 있는 복수의 가입자국(10, 20, 30)을 포함한다. 버스 코어(41, 42)들은 CAN 기반 버스 시스템의 경우 CAN_H 및 CAN_L 또는 CAN-XL_H 및 CAN-XL_L이라고도 지칭될 수 있으며, 송신 상태에서 신호를 위한 각각의 레벨의 결합 이후 전기 신호 전송을 위해 이용된다. CAN 기반 버스 시스템의 경우, 송신 상태에서 버스(40)를 통해 신호를 송신하기 위해, 적어도 일시적으로 우성 레벨이 결합되거나, 또는 열성 레벨이 생성된다.
버스(40)를 통해 메시지(45, 46)가 신호들의 형태로 개별 가입자국(10, 20, 30)들 간에 직렬로 전송될 수 있다. 버스(40) 상에서 통신 시, 도 1에 흑색의 지그재그형 블록 화살표로 도시된 것처럼, 오류가 발생하면, 선택적으로 오류 프레임(47)(error flag)이 송신될 수 있다.
버스 시스템(1)은 차량, 특히 자동차, 비행기 등에서, 또는 병원 등에서 사용될 수 있다. 가입자국(10, 20, 30)들은 예컨대 자동차의 제어 장치, 센서, 표시 장치 등이다.
도 1에 도시된 것처럼, 가입자국(10)은 애플리케이션(11) 및 통신 모듈(15)을 포함한다. 통신 모듈(15)은, 통신 제어 장치(16), 송/수신 장치(17) 및 필터 모듈(18)을 포함한다. 필터 모듈(18)은 통신 제어 장치(16) 내에 제공된다.
가입자국(20)은 애플리케이션(21) 및 통신 모듈(25)을 포함한다. 통신 모듈(25)은 통신 제어 장치(26), 송/수신 장치(27) 및 선택적으로 필터 모듈(28)을 포함한다. 필터 모듈(28)은 송/수신 장치(27) 내에 제공된다.
가입자국(30)은 애플리케이션(31) 및 통신 모듈(35)을 포함한다. 통신 모듈(35)은 통신 제어 장치(36), 송/수신 장치(37) 및 필터 모듈(38)을 포함한다. 필터 모듈(28)은 통신 제어 장치(36) 및 송/수신 장치(27)와 별도로 통신 모듈(35) 내에 제공된다.
가입자국(10, 20, 30)들의 송/수신 장치(17, 27, 37)들은, 비록 도 1에는 도시되어 있지 않지만, 각각 버스(40)에 직접 연결되어 있다.
애플리케이션(11)은 가입자국(10)의 마이크로컨트롤러에 의해 실행될 수 있는 소프트웨어일 수 있다. 애플리케이션(11)은 하나 이상의 컴퓨터 프로그램을 포함할 수 있다. 가입자국(10)이 예컨대 윈드쉴드 와이퍼를 위한 제어 장치인 경우, 애플리케이션(11)은 윈드쉴드 와이퍼의 이동을 제어하기 위한 소프트웨어일 수 있다. 소프트웨어는, 윈드쉴드 와이퍼의 이동을 자동으로 제어하기 위해, 예컨대 레인 센서 및/또는 속도 센서의 데이터를 사용할 수 있다. 레인 센서 및/또는 속도 센서는 버스 시스템(1)의 가입자국들일 수 있고 자체 데이터를 버스(40)를 통해 송신할 수 있다. 전반적으로, 애플리케이션(11)은 가입자국(10)에 의해 실행되어야 하는 임무(13), 특히 제어 임무를 실행한다. 임무(13)는, 기계적으로, 그리고/또는 전기적으로, 그리고/또는 공압적으로, 그리고/또는 유압적으로 구동될 수 있는 하나 이상의 부품의 이동을 야기할 수 있다. 그 대안으로, 또는 그에 추가로, 임무(13)는 데이터의 계산 및/또는 비교 및/또는 수집을 포함할 수 있다.
또한, 애플리케이션(21)은 가입자국(20)의 마이크로컨트롤러에 의해 실행될 수 있는 소프트웨어일 수 있다. 애플리케이션(11)은 가입자국(20)에 의해 실행되어야 하는 임무(23)를 실행한다. 또한, 애플리케이션(31)은 가입자국(20)의 마이크로컨트롤러에 의해 실행될 수 있는 소프트웨어일 수 있다. 애플리케이션(31)은 가입자국(30)에 의해 실행되어야 하는 임무(33)를 실행한다. 애플리케이션(23, 33)들에 대해, 앞서 애플리케이션(11)에 대해 기술한 것과 동일한 사항이 적용된다.
통신 제어 장치(16, 26, 36)들은 각각, 버스(40)에 연결되어 있는 각각의 가입자국(10, 20, 30)과 하나 이상의 다른 가입자국(10, 20, 30) 간의 버스(40)를 통한 통신을 제어하는데 이용된다. 이 경우, 메시지(45, 46)들은 가입자국(10, 20, 30)들, 특히 이들 가입자국의 애플리케이션(11, 21, 31)들 사이에서 버스(40)를 통해 교환된다.
통신 제어 장치(16, 36)들은 예컨대 수정된 CAN 메시지(45)인 제1 메시지(45)를 작성하고 판독한다. 이 경우, 수정된 CAN 메시지(45)는, 도 2를 참조하여 더 상세하게 기술되는 CAN XL 포맷을 기반으로 구성된다. 또한, 통신 제어 장치(16, 36)들은, 필요에 따라 송/수신 장치(37)를 위해 CAN XL 메시지(45) 또는 CAN FD 메시지(46)를 공급하거나 상기 송/수신 장치로부터 수신하도록 형성될 수 있다. 다시 말해, 통신 제어 장치(16, 36)들은 제1 메시지(45) 또는 제2 메시지(46)를 작성하고 판독하며, 제1 및 제2 메시지(45, 46)는 이들의 데이터 전송 표준, 요컨대 이 경우에는 CAN XL이거나 CAN FD에 의해 구분된다.
통신 제어 장치(26)는 ISO 11898-1:2015에 따른 종래 CAN 컨트롤러처럼, 다시 말해 CAN FD tolerant Classical CAN 컨트롤러 또는 CAN FD 컨트롤러처럼 형성될 수 있다. 통신 제어 장치(26)는 제2 메시지(46), 예컨대 CAN FD 메시지(46)를 작성하고 판독한다. CAN FD 메시지(46)의 경우, 0개 내지 64 이하의 데이터 바이트 수가 포함될 수 있으며, 이들 데이터 바이트는 여전히 이를 위해, 클래식 CAN 메시지의 경우보다 분명히 더 빠른 데이터 전송 속도로 전송된다. 특히 통신 제어 장치(26)는 종래 CAN FD 컨트롤러처럼 형성된다.
송/수신 장치(27)는 ISO 11898-1:2015에 따른 종래 CAN 트랜시버 또는 CAN FD 트랜시버처럼 형성될 수 있다. 송/수신 장치(17, 37)들은, 필요에 따라 대응하는 통신 제어 장치(16, 36)를 위한 CAN XL 포맷에 따른 메시지(45) 또는 현재의 CAN FD 포맷에 따른 메시지(46)를 공급하거나 상기 통신 제어 장치로부터 수신하도록 형성될 수 있다.
두 가입자국(10, 30)들에 의해, CAN XL 포맷을 갖는 메시지(45)의 형성 및 후속 전송 그리고 상기 메시지(45)의 수신이 실현될 수 있다.
도 2에는, 메시지(45)에 대해, 버스(40)로부터 시간(t)에 걸쳐 송/수신 장치(17)에 의해 직렬로 수신되어 통신 제어 장치(16)로 공급될 수 있는 것과 같은 프레임(450)이 도시되어 있다.
프레임(450)은 CAN 기반 버스 시스템의 경우 CAN 또는 CAN FD 프레임일 수 있거나 CAN XL 프레임일 수 있다. CAN XL 프레임은 버스 시스템 내에서 CAN 또는 CAN FD와 비교하여 증가된 순수 데이터 전송률로, 특히 초당 약 10메가비트로 전송될 수 있다. 또한, CAN XL 프레임당 유효 데이터의 크기는 특히 약 2kbyte 또는 임의의 다른 값을 가질 수 있으며, 예컨대 1Byte와 2kbyte 사이의 값을 가질 수 있다. 이런 경우, 통신 제어 장치(16)는 본 실시예의 경우 CAN FD와 호환 가능한 것으로서 CAN XL 프레임을 작성한다. 이와 동일한 사항은, 가입자국(30)의 통신 제어 장치(36) 및 송/수신 장치(37)에도 유사하게 적용된다.
도 2에 따라서, 직렬로 수신되는 프레임(450)은 시간(t)에 걸쳐 상이한 세그먼트(SG1, SG2, SG3, SG4 내지 SGn-1, SGn)들로 분할된다. 세그먼트(SG1 내지 SGn)들은 상이한 통신 단계(451, 452)들에 할당될 수 있으며, 요컨대 CAN의 경우 중재 단계(451) 및 그에 후속하는 데이터 단계(452)에 할당될 수 있다. 맨 먼저 세그먼트(SG1)가 수신되고, 그 다음 세그먼트(SG2) 등이 수신된다.
도 2의 예시의 경우, 세그먼트(SG1)는 식별자(ID)를 포함한 중재 필드를 형성한다. 세그먼트(SG2)는 프레임(450)의 제어 필드이다. 세그먼트(SG3, SG4)들은 각각 프레임(450)의 데이터 필드의 일부분을 형성한다. 데이터 필드는 세그먼트(SGn-1)에서 종료된다.
그 대안으로, 예컨대 세그먼트(SG1, SG2)들은 식별자(ID)를 포함한 중재 필드를 형성한다. 세그먼트(SG3, SG4)들은 제어 필드를 형성한다. 프레임(450)의 데이터 필드가 뒤이어, 다시 말해 세그먼트(SG5)로 시작하여 세그먼트(SGn-1)에서 종료된다. 세그먼트(SG1 내지 SGn)들의 임의의 다른 분할도 가능하다.
세그먼트(SGn) 내에는, 체크섬 필드뿐만 아니라, 통신 단계(452, 451)들 간의 전환을 위한 필드를 포함한 프레임 종단 필드와 프레임 종료 필드도 존재할 수 있다. 세그먼트(SG1 내지 SGn)들은 본 실시예의 경우 각각 도 2의 예시에 도시된 것과 동일한 길이이다.
중재 단계(451)에서는, 식별자(ID)에 의해, 가입자국(10, 20, 30)들 간에 비트 단위로, 어느 가입자국(10, 20, 30)이 최고 우선순위를 갖는 메시지(45, 46)를 송신하고자 하고 그로 인해 후속 데이터 단계(452)에서의 다음 송신 시간 동안 버스 시스템(1)의 버스(40)에 대한 배타적 액세스 권한을 얻는지가 협의된다. 중재 단계(451)에서는 CAN 및 CAN FD에서와 같은 물리 계층이 이용된다. 물리 계층은, 비트 전송 계층 또는 공지된 OSI 모델(Open Systems Interconnection Model)의 계층(1)에 상응한다.
CAN 기반 버스 시스템에서 단계(451) 동안의 중점은, 우선순위가 더 높은 메시지(45, 46)가 파괴되지 않으면서, 버스(40)에 대한 가입자국(10, 20, 30)들의 동시 액세스를 허용하는 공지된 CSMA/CR 방법이 이용된다는 점이다. 그렇게 하여, 버스 시스템(1)에 상대적으로 간단하게 추가 버스 가입자국(10, 20, 30)들이 부가될 수 있고, 이는 매우 바람직하다.
CSMA/CR 방법의 결과, 버스(40) 상에는, 버스(40) 상에서 우성 상태들을 갖는 다른 가입자국(10, 20, 30)들에 의해 덮어쓰기될 수 있는 이른바 열성 상태들이 존재해야 한다. 열성 상태에서는, 개별 가입자국(10, 20, 30)에서 하이 임피던스 조건이 우세하며, 이는 버스 회로의 기생 성분과 결합하여 더 긴 시간 상수를 야기한다.
CAN XL과 CAN FD가 호환될 수 있다면, 프레임 포맷들은 CAN FD 및 CAN XL에서부터 res 비트 또는 XLF 비트까지 동일하다. 이런 경우, 하기에서 XLF 비트라고도 하는, CAN FD에 의해 공지된 res 비트는 CAN FD 포맷에서 CAN XL 포맷으로의 전환을 위해 사용된다. 수신기는, res 비트에서 비로소, 프레임(450)이 어느 포맷으로 송신되지는를 식별한다. CAN XL 가입자국, 다시 말해 여기서는 가입자국(10, 30)들은 CAN FD 역시도 지원한다.
데이터 단계(452)에서, 제어 필드의 일부분 외에도, 데이터 필드에서의 메시지(45) 또는 CAN XL 프레임(450)의 유효 데이터 및 체크섬 필드가 송신된다. 그 후에, 이미 전술한 것처럼, 데이터 단계(452)에서부터 다시 중재 단계(451)로 전환하는데 이용되는 필드가 뒤따른다.
메시지(45)의 송신기는, 가입자국(10)이 송신기로서 중재를 얻었고 그에 따라 가입자국(10)이 송신기로서 송신을 위해 버스 시스템(1)의 버스(40)에 대한 배타적 액세스 권한을 가질 때 비로소, 버스(40)로의 데이터 단계(452)의 비트들의 송신을 시작한다.
도 3에 도시된 것처럼, 가입자국(10)의 필터 모듈(18)은 프레임(450)을 평가한다. 이 경우, 필터 모듈(18)은 프레임(450)의 앞서 기술한 세그먼트(SG1 내지 SGn)들을 사용한다. 필터 모듈(18)은 개별 세그먼트(SG1 내지 SGn)들의 길이를 결정할 수 있다. 또한, 필터 모듈(18)은, 세그먼트(SG1 내지 SGn)들 중 얼마나 많은 세그먼트가 함께 평가되는지도 결정할 수 있다. 또한, 필터 모듈(18)은, 세그먼트(SG1 내지 SGn)들 중 어느 세그먼트들이 함께 평가되는지를 결정할 수 있다. 이 경우, 세그먼트(SG1 내지 SGn)들 중 함께 평가되는 세그먼트들은 프레임(450) 내에서 직접 연속될 수 있거나, 또는 함께 평가되는 세그먼트(SG1 내지 SGn)들 사이에 세그먼트(SG1 내지 SGn)들 중 하나 이상의 다른 세그먼트가 존재할 수 있다. 또한, 세그먼트를 검증하기 위해, 세그먼트(SG1 내지 SGn)들 중 하나 이상의 세그먼트가 여러 번 평가될 수도 있다. 이런 경우에, 하나의 세그먼트가 연속해서 하나를 초과하는 기준값과 비교되어 평가된다. 따라서, 특히 하나의 세그먼트가 4개의 기준값과 검증을 위해 평가될 수도 있다. 그 대안으로, 또는 그에 추가로 4개의 세그먼트가 각각 하나의 기준값과 함께 검증을 위해 평가된다. 언급한 특별한 두 예시의 경우, 총 최대 4회의 검증이 수행된다. 자명한 사실로서, 세그먼트를 검증하기 위해, 하나 이상의 세그먼트의 수 회 평가에 대한 다른 예시들도 가능하다.
필터 모듈(18)은 필터링을 위해 프레임(450)의 최초 세그먼트(SG1 내지 SGn)들을 마음대로 사용할 수 있다. 앞서 기술한 것처럼, 이는 예컨대 CAN 프레임(450)의 경우, 식별자 및 메시지 포맷을 포함하는 프레임 헤드(헤더) 및 데이터 필드의 시작부이다.
도 3에 따라서, 필터 모듈(18)은 제1 저장 블록(181), 제2 저장 블록(182), 검사 블록(183), 선택 블록(184) 및 결과 블록(185)을 포함한다. 제1 저장 블록(181)에는 복수의 필터 명령어(1811 내지 1815)가 저장된다. 제2 저장 블록(182)에는 복수의 기준 데이터(1821 내지 1822)가 저장된다.
기준 데이터(1821 내지 1822)는 별도의 목록들에 제공된다. 상기 목록들 각각은 각각의 필터 명령어(1811 내지 1815)에 의해 사용될 수 있다. 기준 데이터(1821 내지 1822)는 각각 예컨대 32비트의 기준값과 32비트의 마스크를 구비할 수 있다. 따라서, 기준 데이터(1821 내지 1822)는, 도 3에 파선들로 도시되어 있는 것처럼, 각각 두 부분으로 나뉠 수 있다. 기준값은 마스크와 동일한 비트 수를 갖는다.
필터 명령어(1811 내지 1815)들은, 검사 블록(183)이 메시지(45) 또는 그 프레임(450)의 어느 정보를 어느 기준 데이터(1821 내지 1822)와 비교해야 하는지를 정의한다. 그에 추가로, 또는 그 대안으로, 필터 명령어(1811 내지 1815)들은, 검사 블록(183)에 의해 결정된 비교 결과들이 결과 블록(185)에 의해 어떻게 논리적으로 전체 결과로 연산되는지 또는 연산되어야 하는지를 정의한다. 선택 블록(184)은 필터 명령어(1811 내지 1815)들을 근거로 검사 블록을 위한 복수의 기준 데이터(1821 내지 1822)를 선택한다.
필터 모듈(18)의 필터링 방법은 기준 데이터(1821 내지 1822), 특히 이들의 기준값들로부터 필터 명령어(1811 내지 1815)들을 분리한다.
도 3에 도시된 것처럼, 필터 명령어(1811 내지 1815)들 각각은, 도 3에 파선들로 도시되어 있는 것처럼, 2개의 명령부를 포함한다. 각각의 필터 명령어(1811 내지 1815)의 제1 명령부는 검사 블록에 의해 수행되어야 하는 프레임(450)의 수용 검사에 대한 데이터를 포함한다. 각각의 필터 명령어(1811 내지 1815)의 제2 명령부는 수용되는 프레임(450)의 처리를 위한 데이터를 포함한다. 일반적으로 하기 사항이 적용된다.
필터 명령어, 예컨대 필터 명령어(1811)는 자신의 제1 부분에서 검사 블록(183)에 명령하여, 프레임(450) 또는 메시지(45)의 복수의 세그먼트(SG1 내지 SGn)를 검사하게 할 수 있다.
필터 명령어, 예컨대 필터 명령어(1812)는 자신의 제1 부분에서 세그먼트(SG1 내지 SGn)들 중 어느 세그먼트들이 검사 블록(183) 내에서 기준 데이터(1821, 1822) 중 어느 기준 데이터와 비교되어야 하고 그와 동시에 검증되는지를 정의한다.
필터 명령어, 예컨대 필터 명령어(1813)는 자신의 제1 부분에서 검사 블록(183)이 실행한 다수의 상기 비교가 논리적으로 서로 조합되도록 명령할 수 있다. 조합은 마찬가지로 검사 블록(183) 내에서 실행될 수 있다.
필터 명령어는, 자신의 제2 부분에, 프레임(450) 또는 메시지(45)가 수용되었을 때 실행되는 명령어들을 포함한다. 예컨대 필터 명령어(1811)는, 자신의 제2 부분에, 검사된 프레임(450) 또는 메시지(45)가 결과 블록(185) 내에 기결정된 저장 영역(1851 또는 1852) 내에 저장되도록 하는 명령어를 포함할 수 있다. 이런 명령어는 수용되는 프레임(450) 또는 메시지(45) 및/또는 수용되지 않는 프레임(450) 또는 메시지(45)에도 적용될 수 있다. 다른 예시에 따라서, 필터 명령어(1812)는, 자신의 제2 부분에, 검사된 프레임(450) 또는 메시지(45)를 표시하기 위한 명령어를 포함할 수 있다. 표시는 특히 검사된 프레임(450) 또는 메시지(45)의 높은 우선순위를 명시하거나 의미할 수 있다. 표시는, 특히 검사된 프레임(450) 또는 메시지(45)가 블랙리스트(Black List)라고도 하는 차단 목록에 기록되어 있는 프레임(450) 또는 메시지(45)라는 점을 명시할 수 있다.
따라서, 필터 명령어(1811 내지 1815)들은, 수용되는 프레임(450) 또는 메시지(45)와 함께 무엇이 수행되어야 하는지도 정의한다. 수용되는 프레임(450)들의 처리를 위한 가능성은 예컨대 프레임(450)의 저장 및/또는 표시이다.
도 4에는, 필터 모듈(18)에 의해 수행되는 필터링 방법이 도시되어 있다. 상기 방법의 시작 후에, 검사 모듈(183)은, 제1 단계(S1)에서 프레임(450) 또는 메시지(45)가 수신되는지 여부를 검사한다. 단계 S1에서 응답이 '예'라면, 흐름은 단계 S2로 계속된다.
단계 S2에서, 검사 모듈(183)은, 프레임(450)의 수신 동안 예컨대 최초 4개의 세그먼트(SG1 내지 SG4)가 수신되었는지 여부를 검사한다. 일반적으로, 검사 모듈(183)은 2개 이상의 세그먼트(SG1, SG2)를 검사할 수 있다. 단계 S2에서 응답이 '예'라면, 흐름은 단계 S3으로 계속된다.
단계 S3에서, 검사 블록(183)은 저장 블록(181, 182)들 및 선택 블록(184)의 이용 하에 수용 필터링을 수행한다. 이를 위해, 검사 블록(183)은, 필터 명령어(1811 내지 1815)들 중에서 세그먼트(SG1 내지 SG4)들을 수용하는 명령어가 확인될 때까지, 저장 블록(181) 내 필터 명령어(1811 내지 1815)들의 목록을 연속적으로 검사한다. 검사 블록(183)이 완전한 목록의 처리 후에 적합한 필터 명령어(1811 내지 1815)를 확인하지 못했다면, 검사 블록(183)은 선택적으로 대안의 명령어를 검사하고 실행할 수 있다.
단계 S3에서 세그먼트(SG1 내지 SG4)들의 검사를 위해, 저장 블록(182)의 기준 데이터(1821, 1822)를 위한 별도의 목록들에 제공되어 있는 각각의 기준 데이터(1821, 1822)가 참조된다. 이 경우, 기준 데이터(1821, 1822)의 각각의 기준 데이터는 설정값이라고도 할 수 있는 하나의 기준값 및 하나의 마스크를 포함하며, 이 기준값 및 마스크는 세그먼트(SG1 내지 SGn)들 중 하나의 세그먼트의 비트 폭과 동일한 비트 폭을 보유한다. 이런 경우, "비트 폭"이란 용어는, 모든 세그먼트(SG1 내지 SGn)가 동일한 비트 수를 가지고 개별 세그먼트(SG1 내지 SGn)들의 길이는 동일하다는 점을 포괄한다. 세그먼트(SG1 내지 SGn)들 각각은 2개 이상의 비트를 갖는다. 예컨대 세그먼트(SG1 내지 SGn)들 각각은 32 비트 수를 갖는다.
세그먼트(SG1 내지 SGn)들의 각각의 세그먼트의 검사 동안, 검사 블록(183)은 맨 먼저 각각의 세그먼트(SG1 내지 SGn)와 기준값 또는 설정값 간의 비트 단위의 비교를 수행한다. 그 후에, 검사 블록(183)은 결과 블록(185) 내에서 결과를 비트 단위로 마스킹한다. 예컨대 검사 블록(183)은 맨 먼저 세그먼트(SG1)의 제1 비트와, 대응하는 기준값 간의 비트 단위의 비교를 실행한다. 그에 뒤이어, 검사 블록(183)은 세그먼트(SG1)의 제2 비트와, 대응하는 기준값 간의 비트 단위의 비교를 실행한다. 상기 비교는, 세그먼트(SG1)의 최종 비트와, 대응하는 기준값 간의 비교까지 세그먼트(SG1)의 모든 다른 비트에 대해서도 실행된다.
개별 결과들, 특히 일치(
Figure pat00001
) 여부는 단계 S3에서 필터 명령어(1811 내지 1815)에서 논리적으로 해석되며, 이에 대한 예시는 하기와 같다.
* 개별 결과는, 세그먼트와 기준값 또는 설정값 간의 일치가 요구될 때 수용된다.
* 개별 결과는, 세그먼트와 기준값 또는 설정값 간의 일치가 요구되지 않을 때 수용된다.
* 개별 결과는, 검사가 요구되지 않을 때 수용된다.
검사 블록(183)에 의해 검사된 필터 명령어(1811 내지 1815)는, 모든 개별 결과가 수용될 때, 프레임(450) 또는 메시지(45)를 수용한다. 그 다음, 필터링 과정도 종료된다. 그 결과로, 실제 프레임(450) 또는 메시지(45)에 대해 추가 필터 명령어(1811 내지 1815)는 처리되지 않는다. 그 후에 흐름은 단계 S4로 계속된다.
하기와 같이 단계 S3에서 필터 모듈(18)의 필터링은 의사 코드(pseudo-code)로서 표현될 수 있다.
for n = 1 to 4 do
if((세그먼트[n] XOR 설정값[n]) AND (NOT 마스크[n])) = 0 then
// 일치
end if
end for
단계 S4에서는, 프레임(450) 또는 메시지(45)가 수용되는지 여부가 검사된다. 선택적으로, 필터 명령어(1811 내지 1815)가 이를 요구한다면, 중단(인터럽트), 특히 버스(40) 상에서 통신, 및/또는 애플리케이션(11) 실행의 중단(인터럽트)이 트리거링된다. 프레임(450) 또는 메시지(45)가 수용된다면, 흐름은 단계 S5로 계속된다. 프레임(450) 또는 메시지(45)가 수용되지 않으면, 흐름은 단계 S7로 계속된다.
단계 S5에서는, 수용되는 프레임(450) 또는 메시지(45)가 특히 결과 블록(185) 내에 저장된다. 이 경우, 프레임(450) 또는 메시지(45)는 결과 블록(185)에서 추가 정보(455)만큼 보충되는데, 요컨대 상기 추가 정보는 예컨대 하기와 같다.
455_1) 프레임(450) 또는 메시지(45)가 어디에 저장되어야 하는지에 대한 정보이며, 복수의 메모리의 선택이 준비될 수 있다. 메모리들 중 하나 이상의 메모리는, 맨 먼저 저장된 요소들이 마찬가지로 맨 먼저 다시 메모리에서 인출되는 저장 원리[퍼스트인 퍼스트아웃(FIFO)]에 따르는 스토리지 큐(storage queue)일 수 있다.
455_2) 프레임(450) 또는 메시지(45)가 어느 필터 명령어(1811 내지 1815)를 충족했는지 또는 적합했는지에 대한 정보. 달리 말하면, 필터 인덱스(filter index)가 작성된다.
455_3) 충족된 필터 명령어(1811 내지 1815), 특히 우선순위(높음 또는 중간 또는 낮음), 또는 위험성[블랙리스트(black list)]을 통해 제어되는 프레임(450) 또는 메시지(45)의 표시에 대한 정보.
그 후에 흐름은 단계 S6으로 계속된다.
단계 S6에서, 결과 블록(185)은 프레임(450) 또는 메시지(45)를 애플리케이션(11)으로 전달한다. 그에 따라, 애플리케이션(11)은 선택적으로 시간 지연 없이 또는 즉시, 프레임(450) 또는 메시지(45) 내에 포함된 유효 데이터를 사용할 수 있다. 그 후에 흐름은 단계 S1로 되돌아간다.
단계 S7에서, 수용되지 않은 프레임(450) 또는 메시지(45)는 폐기된다. 다시 말해, 결과 블록(185)은 프레임(450) 또는 메시지(45)를 애플리케이션(11)으로 전달하지 않는다. 그 후에 흐름은 단계 S1로 되돌아간다.
본원 방법은, 가입자국(10) 또는 필터 모듈(18)이 비활성화될 때 종료된다.
앞서 기술한 방법은 하기와 같이 의사 코드에 의해 예시적으로 구성될 수 있다.
수용 필터링 프로그램 시작
메시지의 수신 대기
세그먼트 4가 수신 완료될 때까지 대기
모든 필터 명령어에 대해 반복
메모리에서부터 필터 명령어 판독
모든 세그먼트 1..4에 대해 반복 // 세그먼트들의 순차 검사
상기 세그먼트의 검사가 필터 명령어에 의해 요구된다면,
메모리에서 상응하는 기준 데이터 판독
x = 세그먼트[n] XOR 기준 데이터.설정값 // 비트 단위의 비교
x = x AND(NOT 기준 데이터.마스크) // 비트 단위의 마스킹
Figure pat00002
[n] = x = 0일 때 참, 그렇지 않으면 거짓 //
Figure pat00003
= 일치
필터 명령어가 결과의 반전을 요구한다면,
Figure pat00004
[n] = NOT
Figure pat00005
[n]
그렇지 않으면,
Figure pat00006
[n] = 참
Figure pat00007
=
Figure pat00008
[1] AND
Figure pat00009
[2] AND
Figure pat00010
[3] AND
Figure pat00011
[4] // 모든 세그먼트에 대해
일치 결정
Figure pat00012
= 거짓이면, 다음 필터 명령어 검사
Figure pat00013
= 거짓 // 적합한 필터 명령어가 확인되지 않음?
메모리에서 대안의 필터 명령어 판독 // 세그먼트들의 검사 없음,
오직 명령어들뿐
// 명령어들 실행
필터 명령어가 이를 요구하면, 인터럽트의 트리거링
필터 명령어에 따라 메시지 내에 정보 보충
FilterIndex
BlackListed
필터 명령어가 이를 요구하면, 메시지 전송
수용 필터링 프로그램 종료
제2 실시예에 따라서, 세그먼트(SG1 내지 SGn)들은, 도 2의 예시에 도시된 것처럼, 모두 길이가 동일하지 않다. 그 대신, 본 실시예의 경우, 세그먼트(SG1 내지 SGn)들 중 하나 이상의 세그먼트는 세그먼트(SG1 내지 SGn)들 중 다른 세그먼트들과 다른 길이를 갖는다.
이 경우, 예컨대 세그먼트의 결정된 섹션만이 다른 세그먼트 전체와, 또는 특히 기준값과 비교될 수 있다. 그 대안으로, 세그먼트의 기결정된 섹션만이 다른 세그먼트의 기결정된 섹션과, 또는 특히 기준값과 비교될 수 있다. 특히, 중재 필드에서 세그먼트(SG1)의 시작부는 데이터 필드의 세그먼트(SG3)와 비교될 수 있고, 그리고/또는 세그먼트(SG1)의 종료부는 데이터 필드의 세그먼트(SG4)와 비교될 수 있다. 세그먼트(SG1 내지 SGn)들의 섹션들의 비교에 대한 임의의 다른 변형예들도 가능하다.
그 외에, 제2 실시예에서 버스 시스템(1)의 동작 원리는 앞서 제1 실시예에 대해 기술된 것과 같은 동작 원리와 동일하다.
버스 시스템(1)의 가입자국(10, 20, 30)들 및 그 내에서 실행되는 방법의 앞서 기술한 모든 구성은 개별적으로, 또는 모든 가능한 조합으로 사용될 수 있다. 특히 앞서 기술한 실시예들 및/또는 그 변경들의 모든 특징은 임의로 조합될 수 있다. 그에 추가로, 또는 그 대안으로 특히 하기 변경들을 생각해볼 수 있다.
본 발명이 앞에서 CAN 버스 시스템을 예시로 하여 기술되었지만, 본 발명은 버스(40)의 데이터를 위한 수용 필터링이 수행되는 각각의 통신 네트워크 및/또는 통신 방법에서 사용될 수 있다. 특히, 본 발명은, 이더넷 및/또는 100 베이스-T1 이더넷, 필드 버스 시스템 등과 같은 여타의 직렬 통신 네트워크의 개발 시 사용될 수 있다.
특히, 실시예들에 따른 버스 시스템(1)은, 데이터가 직렬로 2개의 상이한 비트 전송률로 전송될 수 있는 통신 네트워크일 수 있다. 버스 시스템(1)에서 최소한 정해진 시간 간격 동안에는 하나의 공통 채널에 대한 가입자국(10, 20, 30)의 충돌없는 배타적 액세스 권한이 보장되는 것이 바람직하지만, 필수 요건은 아니다.
실시예들의 버스 시스템(1) 내 가입자국(10, 20, 30)의 개수 및 배치는 임의적인 사항이다. 특히, 가입자국(20)은 버스 시스템(1) 내에서 생략될 수 있다. 하나 또는 복수의 가입자국(10 또는 30)이 버스 시스템(1) 내에 제공될 수도 있다. 버스 시스템(1) 내 모든 가입자국이 동일하게 구성되는 점, 즉, 가입자국(10)만 존재하거나 또는 가입자국(30)만 존재하는 경우도 생각해 볼 수 있다.

Claims (14)

  1. 직렬 버스 시스템(1)용 가입자국(10; 20; 30)으로서,
    임무(13; 23; 33)의 실행을 위한 애플리케이션(11; 21; 31);
    버스 시스템(1)의 가입자국(10; 20; 30)들이 서로 메시지(45; 46)들을 교환하게 하는 버스 시스템(1)의 버스(40)로부터 프레임(450)의 형태로 메시지(45; 46)를 직렬로 수신하기 위한 송/수신 장치(17; 27; 37); 및
    수신되는 프레임(450)을 필터링하기 위한 필터 모듈(18; 28; 38);을 포함하는, 직렬 버스 시스템용 가입자국이며,
    필터링하기 위한 필터 모듈(18; 28; 38)은, 수신되는 프레임(450)이 애플리케이션(11; 21; 31)으로 전송되어야 하는지 여부를 결정하기 위해, 프레임(450)의 2개 이상의 상이한 세그먼트(SG1 내지 SGn)를 별도로 검사하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  2. 제1항에 있어서,
    필터 모듈(18; 28; 38)은, 기준 데이터(1821 내지 1822)와 비교하여 필터 명령어(1811 내지 1815)들을 근거로 프레임(450)의 2개 이상의 상이한 세그먼트(SG1 내지 SGn)를 검사하도록 구성되며,
    필터 모듈(18; 28; 38)은 하나를 초과하는 필터 명령어(1811 내지 1815)를 위해 기준 데이터(1821 내지 1822)를 재사용하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  3. 제1항 또는 제2항에 있어서, 필터 모듈(18; 28; 38)은
    수신되는 프레임(450)의 2개 이상의 상이한 세그먼트(SG1 내지 SGn)를 필터링하기 위한 필터 명령어(1811 내지 1815)들을 저장하기 위한 제1 저장 블록(181);
    수신되는 프레임(450)의 2개의 상이한 세그먼트(SG1 내지 SGn)들 중 하나 이상의 세그먼트와의 비교를 위한 기준 데이터(1821 내지 1822)를 저장하기 위한 제2 저장 블록(182); 및
    수신되는 프레임(450)이 애플리케이션(11; 21; 31)으로 전송되어야 하는지 여부를 결정하기 위해, 기준 데이터(1821 내지 1822)와 관련하여 필터 명령어(1811 내지 1815)들을 검사하기 위한 검사 블록(183);을 포함하는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 필터 명령어(1811 내지 1815)들은, 수신되는 프레임(450)의 어느 세그먼트(SG1 내지 SGn)가 어느 기준 데이터(1821 내지 1822)와 비교되어야 하는지를 정의하는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 필터 명령어(1811 내지 1815)들은, 비교 결과가 논리적으로 어떻게 전체 결과로 연산되는지를 정의하는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 필터 명령어(1811 내지 1815)들 중 하나의 필터 명령어는
    어느 수신되는 프레임(450)이 수용되어야 하는지를 명시하는 하나 이상의 제1 명령어, 및
    무엇이 수용되는 프레임(450)에 의해 실행되어야 하는지를 명시하는 하나 이상의 제2 명령어를 포함하는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  7. 제6항에 있어서,
    상기 하나 이상의 제2 명령어는, 수신되어 수용되는 프레임(450)이 어느 저장 영역에 저장되어야 하는지를 명시하고, 그리고/또는
    상기 하나 이상의 제2 명령어는 수신되는 프레임(450)이 표시되어야 하는 것을 그리고 어떻게 표시되어야 하는지를 명시하는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  8. 제6항 또는 제7항에 있어서, 필터 모듈(18; 28; 38)은, 또한, 수신되어 수용되는 프레임(450)에, 수행된 필터링에 대한 데이터를 포함한 기결정된 정보(455)들을 부가하도록 구성되는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    기준 데이터(1821 내지 1822)는
    세그먼트(SG1 내지 SGn)들 중 하나 이상의 세그먼트와의 비교를 위해 제공된 기준값; 및
    기준값과 세그먼트(SG1 내지 SGn) 간의 비트 단위의 비교 이후 비교 결과를 비트 단위로 마스킹하는데 이용되는 마스크;를 포함하며,
    상기 기준값과 상기 마스크는 각각 세그먼트(SG1 내지 SGn)와 동일한 비트 폭을 갖는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 모든 세그먼트(SG1 내지 SGn)는 동일한 비트 폭을 갖는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 세그먼트(SG1 내지 SGn)들 중 하나 이상의 세그먼트는 하나 이상의 다른 세그먼트(SG1 내지 SGn)와는 다른 비트 폭을 갖는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    메시지(45)를 위해 형성되는 프레임(450)은 CAN FD와 호환되게 구성되며, 그리고
    프레임(450)의 제1 통신 단계(451)에서, 버스 시스템(1)의 가입자국(10, 20, 30)들 중 어느 가입자국이 후속하는 제2 통신 단계(452)에서 버스(40)에 대한 적어도 일시적인 충돌없는 배타적 액세스 권한을 얻는지가 협의되는, 직렬 버스 시스템용 가입자국(10; 20; 30).
  13. 하나의 버스(40); 및
    서로 직렬로 통신할 수 있는 방식으로 버스(40)를 통해 서로 연결되어 있는 둘 이상의 가입자국(10; 20; 30)이며, 이들 가입자국 중 하나 이상의 가입자국(10; 30)은 제1항 내지 제12항 중 어느 한 항에 따른 가입자국(10; 30)인 것인, 상기 둘 이상의 가입자국(10; 20; 30);을 포함하는 버스 시스템(1).
  14. 직렬 버스 시스템(1)에서의 통신 방법으로서, 상기 방법은 임무(13; 23; 33)의 실행을 위한 애플리케이션(11; 21; 31) 및 송/수신 장치(17; 27; 37)를 포함하는 버스 시스템(1)의 가입자국(10; 30)에 의해 실행되며, 상기 방법은
    송/수신 장치(17; 27; 37)를 이용하여, 버스 시스템(1)의 가입자국(10; 20; 30)들이 서로 메시지(45; 46)를 교환하게 하는 버스 시스템(1)의 버스(40)로부터 프레임(450)의 형태인 메시지(45; 46)를 직렬로 수신하는 단계(S2); 및
    필터 모듈(18; 28; 38)을 이용하여, 수신되는 프레임(450)을 필터링하는 단계(S3);를 포함하며,
    필터 모듈(18; 28; 38)은, 필터링하는 단계(S3) 동안, 수신되는 프레임(450)이 애플리케이션(11; 21; 31)으로 전송되어야 하는지 여부를 결정하기 위해, 프레임(450)의 2개 이상의 상이한 세그먼트(SG1 내지 SGn)를 별도로 검사하는, 직렬 버스 시스템에서의 통신 방법.
KR1020220016146A 2021-02-08 2022-02-08 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법 KR20220114501A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021201120.9A DE102021201120A1 (de) 2021-02-08 2021-02-08 Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102021201120.9 2021-02-08

Publications (1)

Publication Number Publication Date
KR20220114501A true KR20220114501A (ko) 2022-08-17

Family

ID=82493740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220016146A KR20220114501A (ko) 2021-02-08 2022-02-08 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법

Country Status (5)

Country Link
US (1) US11943076B2 (ko)
JP (1) JP2022121402A (ko)
KR (1) KR20220114501A (ko)
CN (1) CN114915517A (ko)
DE (1) DE102021201120A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009112411A2 (de) 2008-03-10 2009-09-17 Robert Bosch Gmbh Verfahren und filteranordnung zum filtern von über einen seriellen datenbus eines kommunikationsnetzwerks in einem teilnehmer des netzwerks eingehenden nachrichten
US8467324B2 (en) * 2010-11-03 2013-06-18 Broadcom Corporation Managing devices within a vehicular communication network
JP6126980B2 (ja) * 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
DE102016216495B4 (de) 2016-09-01 2019-06-19 Volkswagen Aktiengesellschaft Basic-CAN Controller
DE102020200850A1 (de) 2020-01-24 2021-07-29 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten von Datenrahmen eines Bussystems
DE102020201606A1 (de) 2020-02-10 2021-08-12 Robert Bosch Gesellschaft mit beschränkter Haftung Kommunikationsmodul, Teilnehmer und Verfahren

Also Published As

Publication number Publication date
JP2022121402A (ja) 2022-08-19
US11943076B2 (en) 2024-03-26
US20220255768A1 (en) 2022-08-11
DE102021201120A1 (de) 2022-08-11
CN114915517A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
KR102023673B1 (ko) 직렬 통신 버스를 통해 데이터를 전송하기 위한 방법, 상응하게 설계된 버스 인터페이스 및 상응하게 설계된 컴퓨터 프로그램
US10756930B2 (en) Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program
US7801173B2 (en) Communication message conversion apparatus and communication message conversion method
EP3358788B1 (en) Illegality detection electronic control unit, vehicle onboard network system, and communication method
US11012514B2 (en) Network hub, transfer method, and onboard network system
US11018897B2 (en) Electronic control unit, communication method, and onboard network system
US8909834B2 (en) Central bus guardian (CBG) and method for operating CBG
US10153825B2 (en) Vehicle-mounted control device
US20180331852A1 (en) Communication network for transmission of messages
CN113395197B (zh) 网关装置、车载网络系统、转送方法和计算机可读记录介质
US11729021B2 (en) User station for a serial bus system and method for communication in a serial bus system
CN112015161A (zh) 车辆诊断通信装置和方法以及包括该装置的系统
KR20220012988A (ko) 직렬 버스 시스템의 가입자국용 오류 검출 시험 장치 및 직렬 버스 시스템에서의 통신 시 오류 검출 메커니즘의 시험 방법
CN112968821B (zh) 电子控制单元、通信方法以及车载网络系统
KR20220114501A (ko) 직렬 버스 시스템용 가입자국 및 직렬 버스 시스템에서의 통신 방법
EP2573981A2 (en) System and method for encoding a slot table for a communications controller
CN112823496A (zh) 帧屏蔽单元、用于串行总线系统的用户站以及用于在串行总线系统中进行通信的方法
CN112787901B (zh) 网络集线器、转发方法及车载网络系统
US11646908B2 (en) Device for providing enhanced speed for connected nodes on a bus
CN117978576A (zh) 传输系统
CN117061351A (zh) 一种基于can网络的辅助网络构建方法及系统
CN116488953A (zh) Can通信方法、电子设备及can通信系统