KR20140050643A - 유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치 - Google Patents

유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20140050643A
KR20140050643A KR1020147002666A KR20147002666A KR20140050643A KR 20140050643 A KR20140050643 A KR 20140050643A KR 1020147002666 A KR1020147002666 A KR 1020147002666A KR 20147002666 A KR20147002666 A KR 20147002666A KR 20140050643 A KR20140050643 A KR 20140050643A
Authority
KR
South Korea
Prior art keywords
bit
bits
message
data
standard
Prior art date
Application number
KR1020147002666A
Other languages
English (en)
Other versions
KR102045254B1 (ko
Inventor
플로리안 하르트비히
얀 셰우잉
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20140050643A publication Critical patent/KR20140050643A/ko
Application granted granted Critical
Publication of KR102045254B1 publication Critical patent/KR102045254B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 버스를 통해 메시지를 교환하는 둘 이상의 버스 가입자를 포함하는 버스 시스템에서의 직렬 데이터 전송 방법에 관한 것으로서, 상기 방법에서는 CAN 표준 ISO 11898-1에 따른 중재 방법을 통해 메시지마다 버스에 대한 송신 액세스 권한이 버스 가입자에게 부여되고, 상기 메시지들은 CAN 표준에 따른 논리 구조, 즉 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 필드로 구성되는 논리 구조를 가지며, 전송하려는 데이터 비트들 사이에 스터프 조건이 존재하면, CAN 표준의 규칙에 따라 스터프 비트가 메시지 안에 삽입되고, 메시지의 초기에 CAN 표준에 따른 CRC 필드의 계산에 추가하여, CAN 표준과 상이한 생성 다항식을 이용하여 하나 이상의 추가 CRC 시퀀스의 계산이 동시에 시작되며, 추가로 실시한 CRC 계산들 중 하나 이상의 계산 시, CAN 표준과 상이하게 CRC 필드의 시작 전에 삽입된 스터프 비트들도 고려되며, 적절한 식별 표시(EDL)에 근거하여, 올바른 데이터 전송의 체크를 위해 동시에 시작된 CRC 계산들 중 하나로부터 어느 결과가 사용되는지가 결정되며, 식별 표시의 하나 이상의 값에 대해 추가 조건이 체크되고, 이런 조건이 존재하면 하나 또는 복수의 비트로 이루어진 고정 스터프 비트 시퀀스들이 송신기에 의해 메시지 안에, 적어도 메시지의 부분들에 삽입된다.

Description

유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치{METHOD AND APPARATUS FOR IMPROVING THE DATA TRANSFER SECURITY IN A SERIAL DATA TRANSFER WITH FLEXIBLE MESSAGE SIZE}
본 발명은 직렬 버스 시스템에서 둘 이상의 가입자들 간의 직렬 데이터 전송을 위한 방법 및 장치에 관한 것이다.
예컨대 패밀리 ISO 11898-1 내지 11898-1-5의 표준으로부터는 Controller Area Network(CAN)뿐 아니라, "Time Triggered CAN"(TTCAN)이라 지칭되는 확장 CAN이 공지되었으며, 이는 하기에서 표준 CAN으로도 지칭된다. CAN에서 사용되는 미디어 액세스 제어 방법은 비트 중재에 기반한다. 비트 중재의 경우 복수의 가입자국이 동시에 버스 시스템의 채널을 통해 데이터를 전송할 수 있으면서도, 그로 인해 데이터 전송이 방해되지는 않는다. 또한, 가입자국들은 채널을 통한 비트의 전송 시 채널의 논리 상태(0 또는 1)를 검출할 수 있다. 전송되는 비트의 값이 채널의 검출된 논리 상태에 상응하지 않으면, 가입자국은 채널에 대한 액세스를 종료한다. CAN에서 비트 중재는 일반적으로 채널을 통해 전송될 메시지 내부의 식별자에 의해 실행된다. 일 가입자국이 식별자를 완전히 채널로 송신하고 난 후, 이 가입자국은 자신이 채널에 대한 배타적 액세스권을 획득하였음을 알게 된다. 그에 따라 식별자 전송의 종료는 이네이블(enable) 구간의 시작에 상응하며, 상기 이네이블 구간 내에서 가입자국은 채널을 배타적으로 사용할 수 있다. CAN의 프로토콜 사양에 따라서, 송신하는 가입자국이 메시지의 체크섬 필드(CRC 필드)를 전송할 때까지, 다른 가입자국들은 채널에 액세스할 수 없으며, 다시 말해 채널에 데이터를 전송할 수 없다. 그에 따라 CRC 필드의 전송 종료 시점은 이네이블 구간의 종료에 상응한다. 상기 프로토콜 사양의 또 다른 특성 중 하나는, 버스 가입자들, 특히 샘플링 시점들의 동기화에 필요한 신호 에지의 발생을 보장하기 위해, 같은 값을 갖는 매 5비트 다음에 송신기에 의해 추가의, 반대의 값을 갖는 소위 "스터프 비트"가 데이터 스트림 안에 삽입된다는 점이다. 삽입된 "스터프 비트"는 수신기 측에서 다시 제거된다. 상기 스터프 비트들은 위에서 언급한 CRC 체크(Cyclic Redundancy Check)의 대상에 포함되지 않는다.
즉, 프로토콜에 의해, 중재 방법을 획득한 메시지가 채널을 통해 훼손 없이 안전하게 전송될 수 있다. CAN의 프로토콜은 특히 실시간 조건하에서 단문 메시지를 전송하기에 적합하며, 식별자를 적절하게 할당하면 특히 중요한 메시지들이 거의 항상 중재를 획득하여 성공적으로 전송되는 점이 보장될 수 있다.
선행하여 메시지로 전송된 데이터로부터 생성 다항식에 의해 도출된 CRC 필드의 전송 및 수신기측 CRC 체크의 실행을 통해, 높은 전송 신뢰도 또는 에러 검출 신뢰도가 제공된다. 다른 값을 갖는 비트들 사이의 에지에 근거한 비트 타이밍의 재동기화와 관련하여, 메시지 내에서 5개의 연속하는 동일 비트가 전송되는 위치들에 소위 스터프 비트가 삽입되면, 사용된 발진기들의 허용 오차에 비해 큰 허용 오차가 보장된다.
최근 차량들에서 네트워크 시스템이 증가하고, 예컨대 주행 안전 또는 주행 쾌적성을 개선하기 위한 추가 시스템들이 도입됨에 따라, 데이터 전송량, 전송 속도, 전송 안정성 및 전송 시 허용 대기 시간에 대한 요구사항이 커지고 있다. 이와 관련한 예로, 차체 자세 제어 장치(ESP)와 같은 주행 다이내믹 제어 시스템, 적응형 순항 제어(ACC)와 같은 운전자 보조 시스템, 또는 교통 표지판 인식과 같은 운전자 정보 시스템이다(예컨대 "보쉬 자동차 기술 편람(Bosch Kraftfahrtechnisches Handbuch)", 27판, 2011, Vieweg+Teubner 참조).
"제어기 영역 네트워크의 오버클록킹(Overclocking of controller area networks)" [Electronics Letters, 35권 22호(1999년), 1924쪽]에서 G. Cena 및 A. Valenzano는 메시지의 부분 영역 내 버스 주파수의 오버클록킹이 효과적으로 달성된 데이터 전송 속도에 미치는 영향을 다루고 있다.
2011년 5월 2일에 인터넷 사이트 http://www.semiconductors.bosch.de에 공개된 문헌, "CAN with Felxible Data Rate, White Paper, Version 1.0"에 소개된 수정된 데이터 전송 프로토콜은, 특히 데이터 필드의 확장과, CAN 메시지의 일부의 경우 비트 길이의 단축을 가능하게 한다. CRC 필드의 시작 전에 나타나는 스터프 비트들은 CAN FD의 경우 CRC 체크에 포함되며, 이는 데이터 안전성을 더 증대시킨다. 그러나 CRC 필드 내부에 나타나는 스터프 비트들은 CRC 체크에서 제외된다. 이는 프로토콜의 에러 검출 메커니즘의 안전성을 제약한다. 종래 기술은 모든 관점에서 만족스러운 결과를 제공하지 못한다는 점이 확인된다.
하기에서는 본 발명 및 본 발명의 장점들을 도면 및 실시예를 참고로 설명한다. 본 발명의 대상이 도시 및 설명된 실시예들에 한정되는 것은 아니다.
본 발명은 버스를 통해 메시지를 교환하는 둘 이상의 버스 가입자를 포함하는 버스 시스템의 직렬 데이터 전송 방법에 관한 것으로서, 상기 방법에서는 CAN 표준 ISO 11898-1에 따른 중재 방법을 통해 메시지마다 버스에 대한 송신 액세스 권한이 버스 가입자에게 부여되며, 이때 메시지들은 CAN 표준에 따른 논리 구조, 즉 SOF(Start-of-Frame) 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF(End-of-Frame) 필드로 구성되는 논리 구조를 가지며, 메시지의 시작 시 CAN 표준에 따른 CRC 필드의 계산에 추가로 하나 이상의 추가 CRC 필드의 계산이 CAN 표준과 다른 생성 다항식을 통해 동시에 시작되며, 추가로 실행된 CRC 계산들 중 하나 이상의 계산 시, CRC 필드 이전에 위치하는 메시지 부분들 안에 CAN 표준의 규칙에 따라 삽입된 스터프 비트들도 고려되며, 이때 적절한 식별 표시(EDL)에 따라, 동시에 시작된 CRC 계산들 중 하나로부터 어느 결과가 올바른 데이터 전송의 체크에 사용될지가 결정된다.
본원의 방법은, 상응하는 식별 표시에서 추가 조건이 체크되고, 상기 추가 조건의 존재 시 하나 또는 복수의 비트들의 고정 스터프 비트 시퀀스들이 적어도 메시지의 부분들에 삽입되는 것을 특징으로 한다. 그 결과, 메시지 안에 의도적으로 신호 에지들을 발생시킬 수 있으며, 이들 신호 에지는 특히, 매우 바람직한 한 실시예에 제공된 것처럼 고정 스터프 비트 시퀀스의 최초 삽입 비트가 선행하는 비트의 반대의 값을 갖는 경우, 예컨대 버스 가입자들의 동기화의 검사 및 보정을 위해 연속적으로 이용될 수 있는 바람직한 효과가 달성될 수 있다.
매우 바람직한 한 실시예에서는, 상기 추가 조건이 규칙적인 간격으로 도입되는 방식으로 사전 설정됨으로써, 메시지의 사전 설정된 위치들에서 하나 또는 복수의 비트로 구성된 고정 스터프 비트 시퀀스들이 메시지 안에 삽입된다. 그 결과, 매우 간단한 방식으로 송신 전 비트의 삽입 및 수신측 버스 가입자들에서의 삽입 비트의 제거가 실시될 수 있다. 고정 스터프 비트 시퀀스들의 삽입은 데이터에 의존하여 이루어지는 것이 아니라 예컨대 카운터에 의존하여 이루어지기 때문에, 비트 에러를 통해 메시지의 한 지점에서는 스터프 비트가 가상 데이터 비트로 바뀌고 또 다른 한 지점에서는 데이터 비트가 가상 스터프 비트로 바뀜으로써, 전송되는 비트 스트림의 상기 부분들에서 어떠한 장애로 인해 발생한 2개의 에러가 다수의 에러로 증가할 수 없는 바람직한 효과가 달성된다.
또한, 삽입된 2개의 고정 스터프 비트 시퀀스들 사이에 각각 최대 4개의 데이터 비트가 배열되는 것이 바람직한데, 그 이유는 표준에 따른 스터핑 규칙의 위반이, 즉 같은 극성의 연속 6비트의 발생이 방지됨으로써, 고정 스터프 비트의 위치가 통일성 있게 정의되고 데이터에 의존하지 않기 때문이다. "데이터 비트" 개념은 여기에서 스터프 비트의 제한에 이용되며, 메시지 형식의 구성 요소로서, 즉 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 필드에서, 송신기에 의해 수신기(들)에 전송되어야 하는 비트를 지칭한다.
적어도 식별된 메시지의 CRC 필드에 추가 조건이 존재할 때 고정 스터프 비트 시퀀스들이 메시지에 삽입되는 것이 바람직하지만, 전체 메시지가 고정 스터프 비트 시퀀스들로 보완될 수도 있다. 매우 바람직한 한 실시예에서는 CRC 필드에만 고정 스터프 비트 시퀀스들이 부가된다. 마찬가지로 바람직한 한 실시예에서는 식별된 메시지들의 CRC 필드가 CAN 표준과 상이한, 특히 더 많은 수의 비트를 갖는다. 그 외에도, 전송된 CRC 필드는 그러한 고정 스터프 비트 시퀀스로 시작하므로, 데이터 필드의 끝에서 나타나는 스터프 조건이 확실하게 인터셉트되고, 고정 스터프 비트 시퀀스들의 위치들이 통일성 있게 결정된다. 이러한 방식으로, 전송 에러들이 매우 신뢰성 있게 검출됨으로써 데이터 전송의 최적의 안전성이 보장된다.
그 외에도, 제1 식별 표시는 표준 주소 할당 메시지의 경우 제어 필드 내 두 번째 열성 비트를 통해, 그리고 확장 주소 할당 메시지의 경우 제어 필드 내 첫 번째 및/또는 두 번째 열성 비트를 통해 이루어지는 것이 바람직하다. 그럼으로써, 버스 가입자들이 수정된 메시지들을 표준 메시지들과 명확하게 구별할 수 있다. 한 바람직한 실시예에서는, 제1 식별 표시의 존재 시 메시지의 제어 필드가 CAN 표준과 상이하게 6비트 이상을 포함하며, 모든 데이터 메시지에서 특히 제1 식별 표시의 열성 비트 다음에 하나 이상의 우성 비트가 온다. 제1 식별 표시가 존재하면 바람직하게는 제1 식별 표시의 열성 비트와 하나 이상의 후속 우성 비트 사이의 에지가 버스 가입자들의 비트 타이밍의 재동기화 또는 하드(hard) 동기화에 이용될 수 있으며, 이는 특히 후속하는 비트 길이 전환 시 데이터 전송의 신뢰성 및 에러 안전성을 증대시킨다.
마찬가지로, 제1 식별 표시의 존재 시 메시지의 데이터 필드가 CAN 표준 ISO 11898-1과 상이하게 8바이트 이상을 포함할 수 있는 것이 바람직한데, 그 이유는 이러한 방식으로 메시지마다 전송되는 데이터량 및 유효 전송률이 증가할 수 있기 때문이다. 그런 경우 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 4비트의 값들이 적어도 부분적으로 CAN 표준과 상이하게 해석된다.
제1 식별 표시는 바람직하게는 버스 가입자들측에서 평가되고, 이 식별 표시와 데이터 길이 코드에 따라서 데이터 필드의 크기에 맞추어 수신 프로세스가 조정된다. 그럼으로써 데이터 전송의 최적의 유연성이 보장된다.
또한, 제2 식별 표시의 존재 시 상기 메시지 내에서 하나 이상의 사전 설정된 또는 사전 설정 가능한 영역에 대한 비트 길이가 제2 식별 표시의 존재 이전에 사용된 비트 길이에 비해 단축된 값을 취하고, 상기 영역은 가장 빠르게는 제2 식별 표시로 시작되고 가장 늦게는 CRC 구분자로 끝나며, 그 결과 바람직하게 메시지가 더 짧은 시간 안에 버스를 통해 전송될 수 있다. 제2 식별 표시는, 메시지의 부분들에서 한편으로 데이터 필드의 크기가, 그리고 다른 한편으로 비트 길이가, 각각 독립적인 식별 표시로 2단계로 전환됨으로써, 상기 두 조치의 장점이 가능성에 따라 독립적으로 활용될 수도 있다는 장점을 갖는다. 예컨대, 버스 토폴로지 때문에 더 짧은 비트 길이로의 전환이 불가능한 경우에도, 더 큰 데이터량을 가진 메시지들이 전송될 수 있다. 비트 길이가 단축된 메시지에서 에러가 발생하면, 우선 일반적인 비트 길이로 전환될 수도 있으며, 이 경우 데이터 영역 확장의 장점들이 희생되지는 않는다.
또한, 제2 식별 표시도 마찬가지로 시간상 제1 식별 표시의 비트 다음에 전송되는 제어 필드 내 열성 비트에 의해 이루어지는 것이, 특히 상기 열성 비트가 하나 이상의 우성 비트에 의해 제1 식별 표시의 열성 비트로부터 분리되는 것이, 식별 및 동기화 목적에 있어 바람직하다.
한 바람직한 실시예에서 제2 식별 표시는 제1 식별 표시의 존재 시 버스 가입자들측에서 평가되고, 제2 식별 표시의 값에 따라서 메시지 내 비트 길이의 상이한 값들에 맞추어 수신 프로세스가 조정된다. 그럼으로써, 가속화되어 전송되는 메시지들의 신뢰성 있는 검출이 보장된다.
구현 비용을 최소화하는 바람직한 방식으로, 하나의 메시지 내에서 시간에 따른 비트 길이의 2개 이상의 상이한 값은, 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위를 세팅하기 위한 2개 이상의 상이한 스케일링 계수를 사용함으로써 구현된다.
상기 방법은 차량의 정상 작동 시 적합한 데이터 버스에 의해 연결되어 있는, 차량의 2개 이상의 제어 장치들 간에 데이터를 전송하는 데 바람직하게 사용될 수 있다. 또는, 차량의 제조 또는 유지 관리 중에 프로그래밍을 위해 적합한 데이터 버스와 연결되어 있는 프로그래밍 유닛과, 상기 데이터 버스에 연결되어 있는 하나 이상의 차량 제어 장치 사이에 데이터를 전송하는 데에도 바람직하게 사용될 수 있다. 또한, 특히 연결 라인들이 긴 산업 제어 설비의 작동 시에도 상기 방법이 바람직하게 사용될 수 있다. 모든 용례에서, 상기 전송 방법을 개개의 조건들(예컨대 신호 전파 시간)에 적합하게 매칭시킬 수 있으려면, 매우 높은 전송 안전성과 동시에 전송률이 유연성을 갖는 것이 바람직하다.
또 다른 장점 중 하나는, 본 발명에 따라 작동할 수 있도록 하기 위해 표준 CAN 제어기를 최소한만 변경하면 된다는 점이다. 표준 CAN 제어기로서도 작동할 수 있는 본 발명에 따른 통신 컨트롤러는 종래의 표준 CAN 제어기보다 약간 더 클 뿐이다. 관련 응용 프로그램은 변경될 필요가 없고, 이로써 이미 데이터 전송의 속도와 관련한 장점이 달성된다.
바람직하게는 CAN 적합성 테스트(ISO 16845)의 상당 부분이 수행될 수 있다. 특히 바람직하게는, 본 발명에 따른 전송 방법과 TTCAN(ISO 11898-4)의 보완책들이 결합될 수 있다.
하기에서는 도면을 참고로 본 발명을 상세히 설명한다.
도 1a는 CAN 표준 ISO 11898-1에 따른 데이터 메시지의 구조에 대한 2가지 대안, 즉 CAN 표준 형식 및 CAN 확장 형식에 관한 도이다.
도 1b는 그에 비해 본 발명에 따른 데이터 전송 방법에서 수정된, 즉 변경된 제어 필드 및 유연한 크기의 데이터 필드와 CRC 필드를 포함하는 "CAN FD 장문" 메시지들의 형식에 대한 2가지 예를 도시한 도이다. 표준 CAN 메시지의 수정뿐만 아니라 확장 CAN 메시지의 수정도 도시되어 있다.
도 1c, 도 1d, 도 1e는 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들을 추가로 삽입하여 전송되는 CRC 필드를 본 발명에 따라 수정하기 위한 여러 실시예들에 관한 도이다.
도 2는 본 발명에 따른 데이터 전송 시, 데이터 길이 코드의 내용이 CAN 표준 ISO 11898-1과 상이하게 어떻게 해석될 수 있는지에 대한 다양한 가능성들에 관한 도이다.
도 3은 버스 시스템의 "CAN FD 장문" 타입의 본 발명에 따른 가입자국에서의 수신 프로세스를 위한 실시예의 개략적 흐름도이다.
도 4는 도 1b에 비해 추가로, 메시지 내에서 본 발명에 따라 상이한 비트 길이를 사용하는 영역들이 결정되는, 본 발명에 따른 데이터 전송에서 수정된 "CAN FD 고속" 타입의 메시지들을 위한 2가지 추가 실시예에 관한 도이다.
도 5는 버스 시스템의 "CAN FD 고속" 타입의 본 발명에 따른 가입자국에서의 수신 프로세스를 위한 실시예의 개략적 흐름도이다.
도 6a는 본 발명에 따른 장치들에서 전송 메시지 안에 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들의 삽입을 실시하는 제어 시스템의 영역의 개략도이다.
도 6b는 본 발명에 따른 장치들에서 수신 메시지들로부터 추가의 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들의 제거를 실시하는 제어 시스템의 영역의 개략도이다.
도 1a에는 CAN 버스에서 데이터 전송을 위해 메시지가 어떻게 사용되는지와 관련하여 메시지의 구조가 도시되어 있다. 상이한 2가지 형식, 즉 "표준" 형식과 "확장" 형식이 도시되어 있다. 본 발명에 따른 방법은 적합한 실시예들에서 상기 두 형식에 적용될 수 있다.
상기 메시지는 이 메시지의 시작을 시그널링하는 SOF(Start of Frame) 비트로 시작한다. 이 비트 다음에 먼저 이 메시지를 식별하는 데 이용되는 섹션이 후속하며, 상기 섹션에 따라 버스 시스템의 가입자들은 상기 메시지를 수신할 지의 여부를 결정한다. 상기 섹션은 "중재 필드"라 불리며, 식별자를 포함하고 있다. 이어서 "제어 필드"가 후속하며, 이 제어 필드는 특히 데이터 길이 코드를 포함하고 있다. 이 데이터 길이 코드는 메시지의 데이터 필드의 크기에 관한 정보를 담고 있다. 이어서, 버스 시스템의 가입자들 사이에 교환될 데이터를 담고 있는 실질적인 데이터 필드인 "데이터 필드"가 후속한다. 이어서, 15비트를 포함하는 체크섬과 구분자를 가진 "CRC 필드"가 후속하고, 이어서 송신기에 메시지가 성공적으로 수신되었음을 시그널링하는 데 이용되는 2개의 "확인응답"(ACK) 비트가 후속한다. EOF(End of Frame) 시퀀스로써 이 메시지는 종료된다.
표준에 따른 CAN 전송 방법에서 데이터 필드는 최대 8바이트, 즉 64비트의 데이터를 포함할 수 있다. 데이터 길이 코드는 표준에 따르면 4비트를 포함하므로 16개의 상이한 값을 취할 수 있다. 이런 값 범위 중에서 현재의 버스 시스템들에서는 1바이트 내지 8바이트의 데이터 필드의 상이한 크기들에 대해 단 8개의 상이한 값이 이용된다. 0바이트의 데이터 필드는 표준 CAN에서는 권장되지 않으며, 8바이트 이상의 크기들도 허용되지 않는다. 데이터 필드의 크기들에 대한 데이터 길이 코드의 값들의 할당은 도 2의 표준 CAN 열에 기입되어 있다.
표현상 유사하게 도 1b에는 본 발명에 따라 전송될 수정된 메시지들이 각각 두 표준 형식으로부터 유도되어 대비되어 있다. 이들은 제어 필드 내에 보충된 몇몇 추가 비트에 의해 도 1a의 표준 메시지들과 구분되며, 상기 추가 비트는 EDL, BRS, ESI라 지칭되며 이들의 목적은 하기에서 더 설명된다. 또한, 본 발명에 따른 메시지들은 데이터 필드와 CRC 필드의 가변적인 크기에 의해 구별된다. 그러므로 이 메시지들은 "CAN FD 장문"이라는 명칭을 갖는다.
본 발명에 따라 수정된 전송 방법의 경우, 데이터 필드는 8바이트 이상도 포함할 수 있으며, 즉 굵은 글씨로 표시된 것처럼 K바이트까지 포함할 수 있다. 표준 CAN에서와 달리, 더 큰 데이터 필드를 식별하기 위해, 데이터 길이 코드가 취할 수 있는 다른 값들이 활용된다. 예컨대 0 내지 15바이트의 값들을 표현하기 위해, 4비트의 데이터 길이 코드가 이용될 수 있다. 그러나 할당이 다르게 이루어질 수도 있는데, 예컨대 현재의 CAN 메시지 안에 일반적으로 이용되지 않은 데이터 길이 코드의 값(DLC = 0b0000)을 데이터 필드의 또 다른 가능한 크기를 위해, 예컨대 16바이트 크기를 위해 이용할 수 있는 가능성도 있다.
이러한 두 가지 가능성이 도 2의 표에서 DLC1과 DLC2로서 기재되어 있다. 데이터 필드(K)의 최대 크기는 이런 경우에 값 15 또는 16을 갖는다. 또 다른 한 가능성에 따라, 0b1000보다 크고 0b1111 이하인 데이터 길이 코드의 값들에 대해 데이터 필드의 관련 크기가 그보다 더 큰 증분만큼 커진다. 이런 경우에 대한 일례가 표에서 DLC3으로 기재되어 있다. 데이터 필드(K)의 최대 크기는 이러한 변형예에서 값 64바이트에 이른다. 물론, 다른 선택도 가능하며, 예컨대 각각 4바이트의 증분이 선택될 수도 있다.
본 발명에 따른 통신 컨트롤러 어떤 방식으로 데이터 길이 코드의 내용들을 해석해야 하는지를 결정할 수 있는 가능성을 보장하기 위해, 버스 시스템의 통신이 표준 CAN에 따라 실행되는지 아니면 본 발명의 방법에 따라 실행되는지의 여부를 상기 통신 컨트롤러가 자동으로 인식하는 것이 바람직하다. 이를 위한 방법 중 하나는, 표준 CAN에서 항시 고정값으로 전송되는 비트가 중재 필드 또는 제어 필드 내에서 식별 표시를 위해 이용됨에 따라 제1 식별 표시로부터 통신 컨트롤러가 제1 전환 조건을 도출할 수 있으며, 이 전환 조건에 따라 사용될 전송 방법을 선택하는 것이다.
표준 주소 할당에서 식별 표시:
표준 CAN 데이터 메시지들의 제어 필드의 두 번째 비트는 도 1a의 상측에 도시된 것처럼 표준 형식에서 항상 우성으로 전송되고 r0로 지칭된다. 도 1b의 하측에 도시된, 표준 주소 할당을 포함하는(즉, 표준 CAN 형식에 따른 중재 필드를 포함하는) 본 발명에 따른 메시지의 예에서, 제어 필드의 상기 두 번째 비트는 열성으로 전송됨으로써 식별 표시에 이용된다. 즉, 그러한 메시지 내 제어 필드의 제2 비트의 열성 값은, 후속하여 표준과 상이한 메시지 형식이 전송될 것임을 지시한다. 이처럼 표준 중재 필드를 포함하는 메시지의 제어 필드의 열성으로 전송된 제2 비트를 EDL(Extended Data Length)이라 칭한다. 표준 CAN에서 항상 우성으로 전송되는 비트(r0)는 본 발명에 따른 메시지들에서 열성 EDL 비트로 대체되거나, 본 발명에 따른 메시지들에서 상기 열성 비트(EDL)와, 비트 길이의 전환 시 역시 열성인 비트(BRS) 사이의 자리로 그 위치가 뒤로 이동된다. 제어 필드 안에 추가 비트를 더 삽입할 수도 있다. 도 1b에는 예컨대 ESI라 불리는 비트가 도시되어 있으며, 이에 관해서는 추후에 더 상세히 다룬다. 이런 점에서, 본 발명에 따른 방법에 영향을 미치지 않으면서, 2 이상의 비트도 삽입될 수 있다. 즉, 전체적으로 표준 형식 CAN 메시지들의 제어 필드 내 비트 시퀀스 {IDE, r0, DLC3, DLC2, DLC1, DLC0}는 본 발명에 따른 메시지들에서 {IDE, EDL, N개의 추가 비트, DLC3, DLC2, DLC1, DLC0}로 대체된다. 도 1b에 도시되어 있는 예에서 N=3이 적용되며, 삽입된 비트들은 r0, BRS, ESI이다. 그러나 N은 0보다 더 큰 임의의 다른 값을 취할 수도 있다. BRS 비트는 경우에 따라 - 추후 설명할 이유들에 근거하여 - 항상 우성으로 전송되는 비트 다음에, 예컨대 비트(r0)와 조합되거나 그 바로 뒤에 삽입되어야 한다.
확장 주소 할당에서 식별 표시:
표준 CAN 데이터 메시지들의 제어 필드의 처음 2개의 비트는 확장 형식에서, 도 1a의 하측에 도시된 것처럼, 항상 우성으로 전송되고 r1 및 r0로 표시된다. 도 1b의 하측에 도시된, 확장 주소 할당을 포함하는(즉, 확장 CAN 형식에 따른 중재 필드를 포함하는) 본 발명에 따른 메시지의 예에서 제어 필드의 첫 번째 비트(r1)는 열성으로 전송됨으로써 식별 표시에 이용된다. 이 경우, 그러한 메시지 내 제어 필드의 첫 번째 비트의 열성 값은, 후속하여 표준과 상이한 메시지 형식이 전송될 것임을 나타낸다. 여기에서도 제어 필드의 열성으로 전송된 비트를 EDL(Extended Data Length)이라 칭한다. 이는 확장 형식을 갖는 표준 CAN 메시지의 예약된 우성 비트(r1)를 대체한다. 대안으로서, 우성 비트(r1)가 유지되어 뒤로 한 자리 이동할 수도 있으며, 그 결과 EDL 비트는 추가 비트로서 RTR과 r1 사이에 삽입될 것이다. 또는, EDL 비트(열성)가 추가 비트로서 r1(우성)과 r0(우성) 사이에 삽입될 수도 있을 것이다. 그 후, 이런 경우에도 제어 필드 안에 추가 비트들이 더 삽입될 수도 있다. 도 1b에 예컨대 다시 ESI라 불리는 비트가 도시되어 있으며, 이에 관해서 더 상세히 다룰 것이다. 본 발명에 따른 방법에 영향을 미치지 않으면서, 2 이상의 비트도 삽입될 수 있다. 즉, 전체적으로 확장 형식 CAN 메시지들의 제어 필드 내 비트 시퀀스 {r1, r0, DLC3, DLC2, DLC1, DLC0}는 본 발명에 따른 메시지 내에서 {EDL, N개의 추가 비트, DLC3, DLC2, DLC1, DLC0} 또는 {r1, EDL, M개의 추가 비트, DLC3, DLC2, DLC1, DLC0}로 대체된다. 도 1b에 도시된 예는 처음에 언급했던, N=3인, 즉 비트들 r0, BRS, ESI가 삽입된 변형예를 볼 수 있다. 물론 N 또는 M은 0보다 큰 임의의 다른 값들을 취할 수도 있다. BRS 비트는 여기에서도 경우에 따라 -추후 설명할 이유들에 근거해- 항상 우성으로 전송되는 비트 다음에, 예컨대 비트(r0)와 결합되거나 그 바로 뒤에 삽입되어야 한다.
그 대안으로, 표준에 따른 CAN 통신을 위해 설계되지 않은 적절한 통신 컨트롤러에서 상기 방법을 사용하는 것도 가능하다. 이런 경우에 예컨대 메시지의 적절한 식별 표시에 기초하여 이미 언급한 제1 전환 조건을 결정하는 것 역시 생략될 수 있다. 이런 경우 통신 컨트롤러는 오히려 전술한 방법들 중 하나에 따라서만 작동하며, 그에 상응하게 그러한 본 발명에 따른 통신 컨트롤러가 사용될 수 있는 버스 시스템에서만 이용될 수 있다.
본 발명에 제공된 것처럼, 메시지의 데이터 필드가 확장되면, 충분한 에러 방지 기능이 유지되도록 이용된 순환 중복 검사(CRC) 방법을 조정하는 점이 의미있을 수 있다. 특히, 다른 CRC 다항식, 예컨대 더 고차의 CRC 다항식을 사용하여, 그에 상응하게 상이한 크기의 CRC 필드를 본 발명에 따라 수정된 메시지들 내에 제공하는 것이 바람직할 수 있다. 이는 도 1b에서, 본 발명에 따른 메시지의 CRC 필드가 L비트의 길이를 갖는 것으로 표현되어 있으며, 이때 L은 표준 CAN과 달리 15가 아닐 수 있고, 특히 15보다 클 수 있다.
CRC 체크섬을 계산하기 위해 수정된 방법을 이용하는 점은 추가 전환 조건을 나타내는 추가 식별 표시에 의해 버스 가입자들에게 시그널링될 수 있다. 상기 추가 식별 표시는 한 바람직한 실시예에서 제1 식별 표시 및/또는 전환 조건과 일치할 수 있다.
표준 CAN 컨트롤러에서는 전송될 CAN 메시지의 CRC 코드가 궤환 시프트 레지스터에 의해 생성되고, 이의 입력에 메시지의 직렬 전송 비트들이 순차적으로 공급된다. 시프트 레지스터의 폭은 CRC 다항식의 차수에 상응한다. CRC 부호화는 시프트 연산 동안 CRC 다항식과 레지스터 내용의 결합을 통해 이루어진다. CAN 메시지들이 수신되면, 그에 상응하게 직렬로 수신되는 메시지의 비트들이 CRC 시프트 레지스터로 시프트된다. CRC 필드의 종료 시 시프트 레지스터의 모든 비트가 0에 있다면, CRC 테스트는 성공적이다. 전송 중 CRC 코드 생성과 수신 중 CRC 테스트는 모두 하드웨어로 수행되며, 소프트웨어의 개입은 불필요하다. 즉, CRC 부호화의 수정은 응용 소프트웨어에 아무런 영향을 미치지 않는다.
표준 CAN 프로토콜에서 CAN 메시지 내에 존재하는 스터프 비트(ISO 11898-1, 10.5장 참조)는 CRC 코드의 계산 또는 체크에 포함되지 않는다(ISO 11898-1, 10.4.2.6장: "... the bit stream given by the destuffed bit sequence ..." 참조). 이는, CRC가 실제로 헤밍 거리에서 하나의 메시지 안에 6부터 5까지 랜덤하게 분포된 비트 에러를 검출해야 함에도 불구하고, 드물게는 하나의 메시지 안에서 2개의 비트 에러가 검출되는 결과를 야기한다. 이런 경우는 예컨대, 비트 에러 때문에 메시지의 하나의 지점에서 스터프 비트가 가상 데이터 비트로 바뀌고 또 다른 지점에서 데이터 비트가 가상 스터프 비트로 바뀌면, 발생할 수 있다(참조: Unruh, Mathony 및 Kaiser 공저: "Error Detection Analysis of Automotive Communication Protocols", SAE International Congress, No.900699, 디트로이트, 미국, 1990). 이러한 과정에서, 예컨대 스터프 비트가 부가된 전송 메시지 안에서 어떤 장애(예컨대 전자기적 영향들)에 의해 발생하는 2개의 비트 에러는, 처음에 전송된, 아직 스터프 비트가 부가되지 않은 데이터 스트림과 스터프 비트에 의해 수정된 수신 데이터 스트림 사이의 다수의 편차로 증가할 수 있다. 이와 같은 다수의 편차들은 상황에 따라, CRC에 의해서는 더 이상 검출될 수 없다.
수정된 전송 방법에서, 한편으로 CRC 부호화를 변경하여, CRC 필드의 시작 전에 메시지 안에 삽입되는 스터프 비트들 역시 CRC 계산 또는 CRC 체크 시에 포함된다. 즉, 이 실시예에서는 중재 필드, 제어 필드 및 데이터 필드에 속하는 스터프 비트들이 CRC를 통해 보호하려는 데이터의 부분으로서 취급된다. 그 결과, 전송되는 비트 스트림의 상기 부분들에서 임의의 장애로 인해 발생한 2개의 에러가 위에서 설명한 것처럼 다수의 에러로 증가할 위험이 배제된다.
CRC 필드 내에서는 전송 시 예컨대 2개의 비트 에러가 발생할 수 있어서, 스터프 비트의 제거 시 상응하는 다수의 편차들로 증가할 위험이 -훨씬 더 적을지라도- 잔존한다.
이런 경우를 대비해 데이터 전송 안전을 더욱 증대시키기 위해, 추가의 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들이 CRC 필드 내 정해진 위치들에 삽입된다. (하기에서는 고정 스터프 비트들과 고정 스터프 비트 시퀀스들 사이에 더 이상 차이가 없을 경우, 고정 스터프 비트 시퀀스 역시 개별 비트로 간주할 수 있다.) 이는 표준 스터프 비트들과 달리, 예컨대 고정 위치에 강제로 삽입된 비트로서 표준에 따른 스터핑 규칙의 위반을 방지한다. 이를 위해, 고정 스터프 비트 시퀀스의 삽입을 허용하는 추가의 고정 스터프 조건이 정의될 수 있다. 예컨대, 스터핑 제어 시스템은 데이터에 의존하여 제어하는 표준 모드로부터 카운터에 의존하여 제어하는 추가 모드로 전환될 수 있다. 비트 카운터가 사전 설정값, 예컨대 3 또는 4에 이를 때마다, 상기 고정 스터프 조건이 활성화되어 고정 스터프 비트 시퀀스가 삽입된다. 가장 간단한 경우, 고정 스터프 비트 시퀀스 삽입 규칙이 표준 스터프 비트 삽입 규칙과 일치하며, 즉 전송되는 비트 스트림 안에 선행 비트에 반대되는 개별 비트가 삽입된다.
표준 CAN의 프로토콜 규칙에 따르면, 버스 가입자들, 특히 샘플링 시점들의 동기화에 필요한 신호 에지의 발생을 보장하기 위해, 같은 값을 갖는 매 5비트 다음에 송신기에 의해 상반된 값을 갖는 추가의 스터프 비트가 데이터 스트림 안에 삽입된다. 본 발명에 따르면 도시된 실시예에서 CRC 필드에 CRC의 매 4비트 다음에 하나 또는 복수의 비트가 삽입되고, 삽입된 첫 번째 비트는 선행 비트에 반대되는 값을 갖는다. 즉, 가장 간단하게는 매 5번째 비트가 선행 비트에 상반된 비트로서 전송된다. 그 결과, 스터프 비트의 위치가 앞서 전송된 비트의 값들과 무관하기 때문에, 비트 에러로 인해 스터프 비트가 데이터 비트로서 잘못 해석되거나, 데이터 비트가 스터프 비트로서 잘못 해석되는 일은 불가능하다. 또한, 상기 값은 로컬 조건(선행 비트의 값)에 좌우되기 때문에, 각 고정 스터프 비트 또는 각 고정 스터프 비트 시퀀스는 그 정확성에 대해 개별적으로 체크될 수 있다. 예컨대 대안 실시예들에서는, 각각 CRC의 매 3비트 다음에 하나의 고정 스터프 비트 시퀀스를 삽입하거나, 교대로 매 3개, 2개 또는 4개의 값 뒤에 임의의 순서로 삽입할 수 있다. 또한, 이 방법은 CRC 필드 밖에 있는 메시지의 영역들로 확장될 수도 있다.
고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들의 삽입에 대한 여러 예들이 도 1d 및 도 1e에 도시되어 있다. 도 1c에는 임의의 (고정) 스터프 비트의 삽입 전, 전송하려는 데이터 스트림의 일련의 비트 시퀀스가 도시되어 있다. CRC1, ..., CRC5로 지칭된 섹션들은 각각 데이터 필드의 마지막 비트(Dx)와 15 내지 18비트로 이루어진 CRC 시퀀스에 상응한다. 이 비트 시퀀스는 임의로 선택되었다. CRC3에서는 표준 전송 시 비트 15 다음에 우성(값 "0") 스터프 비트가 삽입될 것이며, CRC4에서도 마찬가지이다. 그외 스터프 비트들은 선행하는, 도시되어 있지 않은 데이터 비트의 내용에 따라 적어도 시퀀스 CRC4와 CRC5 안에 존재할 수 있을 것이다. 그러나 그 위치는 선행하는 데이터의 세부 내용에 좌우된다.
그에 반해, 도 1d에는 본 발명에 따른 방법의 일 실시예를 통해 데이터 스트림 내 삼각형으로 표시된, 사전 설정된 위치들에 "S"로 표시된 고정 스터프 비트들이 어떻게 삽입되는지 도시되어 있다. 도 1e에는 이와 유사한 그림이 도시되어 있는데, 여기에서는 2개의 고정 스터프 비트로 이루어진 하나의 시퀀스가 각각 삽입되었다는 차이가 있다. 상기 두 경우 모두, 2개의 고정 스터프 비트 시퀀스 사이마다 본래의 데이터 스트림의 4개 비트가 놓여 있다. 고정 스터프 비트 시퀀스들 사이에 더 적은 (예컨대 3개) 또는 가변적인 수의 비트들이 놓이는 경우도 가능하지만, 도시되어 있지는 않다.
한 바람직한 실시예에서 통신 컨트롤러는, 표준 CAN에 대한 호환성을 갖는 반면, 즉 표준 CAN 버스 시스템에서 규정에 따라 작동하는 반면, 본 발명에 따라 수정된 버스 시스템에서는 한편으로 메시지 내 더 큰 데이터 필드를 허용하고 다른 한편으로 CRC 코드의 조정된 계산 및 검사도 실행하도록 설계된다.
메시지의 수신 초기에는, 표준에 부합하는 CAN 메시지가 수신될지 또는 본 발명에 따라 수정된 메시지가 수신될지의 여부가 아직 결정되지 않기 때문에, 본 발명에 따른 통신 컨트롤러에서 병렬로 동작하는 2개의 CRC 시프트 레지스터가 실행된다. CRC 구분자의 수신 후, CRC 코드가 수신기에서 평가되면, 본 발명에 따른 추가 식별 표시에 기초하여 어떤 전송 방법이 사용되었는지 확인되고, 그런 다음 이 전송 방법에 할당된 시프트 레지스터가 평가된다. 이미 앞서 설명한 것처럼, 추가 식별 표시는 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련한 제1 식별 표시와 일치할 수 있다.
심지어는 메시지의 수신 초기에 이미 송신기를 위해, 어떤 전송 방법에 따라 전송되어야 하는지가 결정된다. 그러나 버스 액세스에 대한 중재가 상실되며, 이미 시작된 메시지가 전송되지 않고 오히려 그 대신 다른 메시지가 수신될 수 있기 때문에, 여기에서도 두 CRC 시프트 레지스터가 모두 병렬로 제어된다.
병렬로 동작하는 두 CRC 시프트 레지스터가 전술한 것처럼 실행되면 또 다른 개선도 가능하게 된다: 표준 CAN 프로토콜의 CRC 다항식(x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1)은 127비트 이하의 메시지 길이를 위해 설계된다. 본 발명에 따라 전송된 메시지들 더 긴 데이터 필드들도 이용한다면, 전송 신뢰성을 유지하기 위해 다른, 특히 더 긴 CRC 다항식을 사용하는 것이 적절하다. 그에 상응하게, 본 발명에 따라 전송되는 메시지는 변경된, 특히 더 긴 CRC 필드를 수신한다. 작동 동안 통신 컨트롤러들은 각각에 맞는 다항식을 사용하기 위해, 두 CRC 시프트 레지스터 사이에서, 즉 표준 CAN에 따른 시프트 레지스터와 본 발명에 따른 시프트 레지스터 사이에서 다이내믹하게 전환할 수 있다.
물론, 2개 이상의 시프트 레지스터 및 그에 상응하는 2개 이상의 CRC 다항식은 데이터 필드의 길이 또는 원하는 전송 신뢰도에 따라 단계적으로 사용될 수도 있다. 이런 경우, 표준 CAN에 대한 호환성이 유지되어야 하는 한, 그에 상응하는 식별 표시 및 이와 관련된 전환 조건이 조정되어야 한다. 예컨대 제어 필드의 두 번째 비트는, 예컨대 도 2의 DLC 1에 따른 더 긴 데이터 필드로의 전환 및 관련된 2차 CRC 다항식을 특성화한다. 더 긴 데이터 필드들을 포함하고 제1 식별 표시에 의해 식별되는 메시지들의 경우, 예컨대 데이터 필드 크기들의 또 다른 집합, 예컨대 도 2의 DLC3 및 3차 CRC 다항식으로의 전환을 특성화하는 추가 비트가 제어 필드에 삽입될 수 있다. 제1 식별 표시를 포함하는 메시지들의 제어 필드 안에 추가 비트들이 삽입될 수 있는 이유는, 이 경우 변경된 전송 및 수신 프로세스가 통신 컨트롤러에서 적용됨에 따라 그러한 유형의 변경이 고려될 수 있기 때문이다. 제1 식별 표시가 존재하지 않으면, 도시된 예에서 즉 제어 필드의 두 번째 우성 비트에서, 메시지의 구조는 정확히 ISO 표준 11898-1의 규정에 따름으로써, 표준 CAN과의 호환성이 제공된다.
도 3에는 본 발명에 따른 수신 프로세스의 일부 영역이 버스 시스템의 가입자국에서 어떻게 실행되는지가 개략적으로 도시되어 있다. 여기에는 제1 전환 조건에 기초하여 통신 컨트롤러의 거동이 조정됨으로써 표준 CAN에 대한 호환성이 달성되는 경우가 도시되어 있다. 도 3에서 소프트웨어로 프로그램을 실행하는 경우를 기술하는 데 일반적인 표현이 선택되었을지라도, 상기 방법은 하드웨어로 구현하기에도 전적으로 적합하다.
가입자국은 먼저, 버스에서 통신 트래픽이 없는 동안 버스를 스캔하는 상태에 놓인다. 즉, 질의(302)는 버스에서의 우성 비트를 대기한다. 이 비트는 새로운 메시지의 시작(Start-of-Frame)을 특성화한다.
새로운 메시지의 시작이 확인되는 즉시, 블록(304)에서 병렬로 계산될 2개 이상의 CRC 체크섬의 계산이 시작된다. 제1 체크섬은 표준 CAN의 CRC 계산에 상응하는 반면, 제2 체크섬은 새로운 방법에 따라 계산된다. 도시된 실시예에서 제2의 CRC 계산 시에는 스터프 비트가 포함되지만, 표준 CAN에 따른 계산 시에는 그렇지 않다.
이어서, 단계(306)부터 중재 필드로 시작하여 메시지의, SOF 뒤에 오는 비트들이 수신된다. 복수의 가입자가 메시지를 전송하고자 하는 경우, 표준 CAN의 일반적 방법에 따라 버스 가입자들 간에 어느 버스 가입자가 버스에 액세스할 지가 합의된다. 도시된 블록(306)은 제1 식별 표시가 수신되었거나 제1 전환 조건이 확인될 때까지 모든 비트의 수신을 특성화한다. 도시된 예에서 제1 전환 조건은 제어 필드, 예컨대 제어 필드의 두 번째 비트로부터 검출된다(도 1 참조). 이어서, 검출된 제1 전환 조건에 기초하여 메시지의 특정 비트에서부터 상이하게 처리가 이루어질 때까지, 블록(308)에서 메시지의 추가 비트들이 더 수신될 수 있다. 이러한 상이한 방법들로의 분할은, 하기에 예시적으로 설명된 것처럼, 상응하는 질의 또는 분기(310)에 의해 보장된다.
분기(310)에서 예컨대 제어 필드의 두 번째 비트가 우성 비트(r0)로서 수신된 후, 제1 식별 표시에 따라 표준 CAN에 따른 통신(도 3에서 "1"로 표시된 경로)이 실시된다는 정보가 존재하면, 단계(312)에서 제어 필드의 추가 비트들이 판독입력된다. 이들 비트로부터 표준 CAN에 따라 데이터 길이 코드가 평가된 다음, 단계(316)에서 관련 데이터 양, 최대 8바이트가 데이터 필드에 상응하게 수신된다. 그 후 단계(320)에서 15비트를 포함하는 CRC 필드가 수신된다. 분기(324)에서 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하면, 블록(328)에서 우성 확인응답 비트가 전송된다. 이런 경우, 통신이 표준 CAN에 따라 이루어지기 때문에 표준에 따른 CRC 체크섬들이 비교된다. 일치가 확인되지 않으면, (블록 330) 확인응답 비트가 열성으로 전송된다. 이어서, 단계(332 또는 334)에서 ACK 구분자와 EOF 비트가 후속한다. 이것으로 하나의 메시지를 위한 수신 프로세스가 종료한다.
스터프 비트들의 송신기 측에서의 삽입 및 수신기 측에서의 제거와 관련해서는 CAN 표준 ISO 11898-1의 규칙들이 적용된다. 제시된 필드 크기들은 스터프 비트들의 제거 후 데이터량과 관련된다. 표준에 따른 CRC 체크섬의 계산을 위해서도 상기 삽입된 스터프 비트는 수신된 데이터 스트림으로부터 다시 제거된다.
그에 반해 분기(310)에서, 예컨대 열성 비트(EDL)로서 제어 필드의 두 번째 비트의 수신 후, 본 발명에 따라 수정된 통신 방법(도 3에서 "2"로 표시된 경로)이 적용될 수 있다는 정보가 존재하면, 블록(314)에서 제어 필드의 추가 비트들이 판독입력된다. 이 경우, 예컨대 제어 필드에 보충된 추가 비트들도 판독입력될 수 있는데, 이들은 예컨대 상이한 추가의 CRC 다항식으로의 전환에 이용될 수 있거나,비트 길이의 전환, 동기화 또는 다른 목적들에도 이용될 수 있다. 이런 측면에 관하여 더 세부적으로 다룬다. 이 결과로부터, 도 2에 표의 형태로 몇몇 예시로 기입되어 있는 새로운 해석에 따라 데이터 길이 코드가 검출된다. 블록(318)에서 상응하는 양의 데이터가, 즉 도 2의 표에서 DLC1의 예의 경우 15바이트까지, DLC2의 예의 경우 16바이트까지, DLC3의 예의 경우 64바이트까지 수신된다. 블록(322)에서 본 발명에 따라 상이한, 특히 더 긴 CRC 필드가 수신된다. 분기(324)에서, 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하고, 이때 그 비교가 본 발명에 따라 상이한 CRC 체크섬들에 기반하는 경우, 블록(328)에서 우성 ACK 비트가 전송된다. 그렇지 않은 경우에는 (블록 330) ACK 비트가 열성으로 전송된다. 이어서, 단계(332 또는 334)에서 ACK 구분자와 EOF 비트가 후속한다. 이것으로 하나의 메시지를 위한 수신 프로세스가 종료한다.
여기에서도 스터프 비트들의 송신기 측 삽입 및 수신기 측 제거와 관련하여 CAN 표준 ISO 11898-1의 규칙들이 중재 필드, 제어 필드 및 데이터 필드의 전송에 적용된다. 블록(322)에서 스터핑 제어 시스템은 데이터 의존 모드로부터 카운터 의존 모드로 전환된다. 그럼으로써 송신기에 의해 규칙적인 간격으로 삽입된 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들은 수신기측에서 후속 처리를 위해 다시 제거된다. 제시된 필드 크기들은 스터프 비트들 또는 고정 스터프 비트들이 제거된 후 데이터량과 관련된다. 표준과 상이한 CRC 체크섬의 계산의 경우 상기 삽입된 스터프 비트들이 포함되지만, 본 발명에 따라 삽입된 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들은 수신된 데이터 스트림으로부터 다시 제거된다.
도 3에는 사용될 CRC를 결정하는 추가 식별 표시가 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련된 제1 식별 표시와 일치하는 경우가 도시되어 있다. 즉, CRC 체크섬의 수신(320 또는 322) 전에, 어느 CRC가 추가 식별 표시에 따라 수신되어 분기(324)를 위해 평가될 수 있는지 한번 더 질의된다. 도 3의 흐름도를 간단히 수정하면 이런 추가 질의는 경우에 따라 실행 안에 수용될 수 있다.
도 4에는 본 발명에 따라 수정된 메시지들에 대한 2가지 추가 예시가 도시되어 있으며, 여기서는 도 1b에 비해 추가로, 메시지 내에서 본 발명에 따라 상이한 비트 길이가 사용됨으로써 개별 비트들이 더 빠르게 버스를 통해 전송되는 영역이 결정된다. 그러므로 이 메시지들은 "CAN FD 고속"이라는 명칭을 갖는다. 도 4에는, 메시지들의 2가지 가능한 주소 할당 버전, 즉 표준 형식 및 확장 형식에 대해 고속-CAN-중재와 고속-CAN-데이터라는 명칭의 2가지 상태 간의 전환이 이루어지는 영역들이 표시되어 있다. 상기 두 상태들 간에 전환이 이루어지면, 상응하는 메시지 부분에 대해 비트 길이들이 단축되어 개별 비트들이 더 빠르게 버스를 통해 전송된다. 그러므로 메시지 전송 시간이 표준에 따른 방법에 비해 단축될 수 있다. 시간에 따른 비트 길이의 관련 변경은 예컨대 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위를 세팅하기 위한 2개 이상의 스케일링 계수의 사용을 통해 구현될 수 있다. 비트 길이의 전환 및 그에 따른 스케일링 계수의 변경은 도 4에서 마찬가지로 예시로서 도시되어 있다.
고속-CAN-중재 상태와 고속-CAN-데이터 상태 간의 전환은 제1 식별 표시(EDL)를 포함하는 메시지들에서, 데이터 전송의 가입자들에게 단축된 비트 길이가 사용된다는 사실을 시그널링하는 제2 식별 표시에 따라 이루어진다. 여기에 도시된 실시예에서 상기 식별 표시의 위치는 BRS(Bit Rate Switch)라 불리는 제어 필드 내 추가 비트이다. 이 추가 비트는 도시된 예에서 제어 필드의 제4 비트로서 전송된다.
도시된 것처럼, 제1 식별 표시(EDL) 다음에 제2 식별 표시(BRS)가 오는 경우, 본 발명에 따른 전송 방법으로 메시지가 전송되고, 이 메시지의 비트 길이는 분명히 단축되며, 메시지의 데이터 필드 크기는 8바이트 이상의 값으로 확장될 수 있으며, 메시지의 CRC는 더 큰 데이터 필드에 맞게 조정되어, 앞서 메시지 내에 삽입된 스터프 비트로 확장된다. 그럼으로써 전송 신뢰성이 향상되는 동시에 버스 시스템에 의한 전송 용량이 현저하게 증가할 수 있다.
더 빠른 전송은 도시된 예에서 관련 식별 표시의 전송 직후 시작되고, 재전환을 위해 확정된 비트의 도달 직후 종료되거나, 에러 프레임의 시작 이유가 검출된 경우에 종료된다.
도 5에는 도 3에 비해 수정된 수신 프로세스가 도시되어 있으며, 여기서는 추가로 제2 식별 표시(BRS)에 기초하여 고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환이 이루어진다. 만약 분기(310)에서, 예컨대 열성 비트(EDL)로서 제어 필드의 제2 비트의 수신 후, 본 발명에 따라 수정된 통신 방법이 사용될 수 있다는 정보가 존재하면, 블록(408)에서 제어 필드의 다음 비트들이 판독입력된다. 만약 제2 식별 표시에 이용되는 비트, 예컨대 본 발명에 따라 확장된 제어 필드의 네 번째 비트(BRS)가 제공된 값과 함께, 예컨대 열성으로 수신되면, 예컨대 상기 비트의 샘플 포인트에서 고속 CAN 데이터 상태가 취해지며, 즉 단축된 비트 길이로 전환된다(경로 "C"). 관련 비트가 반대의 값을 가지면, 즉 본 실시예에서 우성이면, 비트 길이의 단축이 실시되지 않는다(경로 "B"). 블록들(412 또는 414)에서 데이터 길이 코드를 포함해서 제어 필드의 남은 비트의 수신 및 데이터 필드의 수신이 데이터 길이 코드의 크기 정보에 따라 실시된다. 블록(412)에서 정상적인 비트 길이로 수신이 이루어지고, 블록(414)에서는 단축된 비트 길이로 수신이 이루어진다. 블록들(416 또는 418)에서 본 발명에 따라 상이한, 특히 더 긴 CRC 필드가 판독입력된다. CRC 필드의 마지막 비트인 CRC 구분자에서는 블록(418)에서 다시 보통의 비트율을 갖는 고속 CAN 중재 상태로의 전환이 이루어진다. 이어서, 분기(324)에서는 도 3과 유사하게, 송신기에 의해 전송되어 수신기에 의해 직접 검출되는 CRC 체크섬들이 일치하는지 여부가 검사되고, 그 결과에 따라 이미 도 3에 도시된 것처럼 계속 진행된다.
여기에서도 스터프 비트들의 송신기측 삽입 및 수신기측 제거와 관련하여 CAN 표준 ISO 11898-1의 규칙들이 중재 필드, 제어 필드 및 데이터 필드의 전송에 적용된다. 블록들(416 또는 418)에서 스터핑 제어 시스템은 데이터 의존 모드로부터 카운터 의존 모드로 전환된다. 그럼으로써 송신기에 의해 규칙적인 간격으로 삽입된 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들은 수신기 측에서 다시 제거된다. 제시된 필드 크기들은 스터프 비트들 또는 고정 스터프 비트들이 제거된 이후의 데이터량에 관련된다. 표준과 상이한른 CRC 체크섬의 계산의 경우에는 상기 삽입된 스터프 비트들이 포함되지만, 본 발명에 따라 삽입된 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들은 수신된 데이터 스트림으로부터 다시 제거된다.
도 6a에는, 본 발명에 따른 장치들, 특히 통신 컨트롤러들에서, 전송 메시지 안에 추가의 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들의 삽입을 실행하는 제어 시스템의 섹션이 개략적으로 도시되어 있다. 도 6b에는, 본 발명에 따른 장치들에서 수신 메시지로부터 추가의 고정 스터프 비트들 또는 고정 스터프 비트 시퀀스들의 제거를 실행하는 제어 시스템의 섹션이 개략적으로 도시되어 있다. 전송되어야 하는 본래의 사용자 데이터는 RD("raw data")라 칭하고, 버스 시스템에 있는, (고정) 스터프 비트가 부가된 데이터는 BD("bus data")라 칭한다.
일반적인 CAN 비트 스터핑 방법의 경우, 수신기 측 및 송신기 측 모두에서 샘플링 시점에 샘플링된 비트들이 5비트 폭의 스터프 시프트 레지스터(610 또는 620)로 이동한다. 이 레지스터의 5개 비트 모두가 동일한 값을 가지면, 이는 스터프 조건이다. 이 조건은 평가 유닛(612 또는 622)에서 확인된다. 스터프 조건이 존재하지 않으면, 데이터 시프트 레지스터는 송신기와 수신기에서 CAN 비트 타임마다 한 번씩 1비트 만큼 이동한다. 메시지의 송신기는 각각 자신의 데이터 시프트 레지스터의 출력 비트를 전송하며, 수신기는 샘플링된 비트를 자신의 데이터 시프트 레지스터로 이동시킨다. 송신기(612)의 평가 유닛이 스터프 조건을 확인하면, 삽입 유닛(616)은, 데이터 시프트 레지스터가 이동되는 것이 아니라 송신기가 후속 비트로서 선행 비트에 상반된 비트를 전송하도록 한다. 그럼으로써 버스 데이터(BD)에는 원시 데이터(RD)에 비해 상기 비트만큼 부가된다. 수신기(622)의 평가 유닛이 버스 데이터(BD)에서 스터프 조건을 확인하면, 제거 유닛(626)은, 후속 비트가 데이터 시프트 레지스터로 이동되는 것이 아니라 상기 비트가 선행 비트에 상반되는지 여부가 체크되도록 한다. (상반되지 않는다면, 스터프 에러가 검출된다.) 상기 비트는 버스 데이터로부터 제거되어, 후속 처리에 제공될 원시 데이터(RD) 안에 더 이상 존재하지 않는다.
본 발명에 따른 전송 방법에서 스터프 비트들의 삽입 또는 제거는, 도 6a 및 도 6b에 도시된 것처럼, 바람직하게는 2개 이상의 모드 사이에서 전환될 수 있는 제어 시스템을 통해 제어된다. 이 제어 시스템에 부분 제어 시스템(614 또는 624) 및 선택 유닛(618 또는 628)이 부가된다. 예컨대 중재 필드, 제어 필드 및 데이터 필드에서 CRC를 통해 안전하게 비트를 전송하는 동안 (표준 CAN 방법에서처럼) 스터프 비트들의 삽입 또는 제거는 스터프 시프트 레지스터(610 또는 620)의 내용에 좌우된다. 메시지의 또 다른 부분 영역에서는, 예컨대 메시지의 CRC 필드의 전송 동안 카운터 의존 거동으로의 전환이 이루어진다. 이를 위해, 도시된 예에서 부분 제어 시스템(614 또는 624)은 5가지 상태로 이용되고, 이들 중 하나의 상태는 고정 스터프 조건에 상응한다. 스터프 조건이 존재할 때처럼, 고정 스터프 조건이 존재하면 삽입 유닛(616) 또는 제거 유닛(626)이 반응한다. 부분 제어 시스템(614 또는 624)이 CAN 비트 클록마다 5가지 상태들 사이에서 전환됨에 따라, 매 5번째 비트마다 삽입 유닛(616) 또는 제거 유닛(626)이 반응한다. 그런 경우, 표준 CAN 방법에서처럼, 선행 비트와 상반된 비트가 송신기에 의해 버스 데이터(BD) 안에 삽입되고, 다른 한편으로 수신기에 의해 체크된 후 다시 제거된다. 즉, 이러한 방법의 적용 시, CRC 필드 내에는 언제나 CRC 시퀀스의 4비트의 그룹들이 개개의 고정 스터프 비트에 의해 분리되어 전송된다.
앞서 설명한 것처럼, 고정 스터프 비트 대신에 각각 고정 스터프 비트 시퀀스가 삽입될 수도 있으며, 예컨대 "1" 다음에 시퀀스 "0 1"이 또는 "0" 다음에 시퀀스 "1 0"이 삽입될 수 있다. 예컨대 CRC 시퀀스의 매 3번째 데이터 비트 다음에 고정 스터프 비트 시퀀스가 삽입될 수 있다. 추가 모드들이 제공될 수도 있으므로, 예컨대 모드에 따라서 매 3번째 데이터 비트 다음에 또는 매 4번째 데이터 비트 다음에 고정 스터프 비트 시퀀스가 온다.
부분 제어 시스템(614 또는 624)은 예컨대 CRC 필드 전송의 시작 시, 고정 스터프 조건이 충족되도록 설정된다. 그 결과, CRC 필드는 고정 스터프 비트 또는 고정 스터프 비트 시퀀스로 시작하며, 메시지의 CRC 필드 내 모든 고정 스터프 비트들의 위치들은 영구적으로 사전 설정된다. 예컨대 데이터 필드가 5개의 동일 비트로 종료하기 때문에, CRC 필드의 초기에 스터프 조건이 충족되면, 스터프 비트는 CRC 필드의 초기에 상기 스터프 조건에도 응답한다.
대안으로서, 부분 제어 시스템(614 또는 624)은 예컨대 0 내지 4의 값 범위를 갖는 순환적 스터핑 카운터로서 구현될 수도 있으며, 상기 값 범위는 CRC 필드의 초기에 0으로 리셋되고, 그 반복값(0)은 각각 고정 스터프 비트 또는 고정 스터프 비트 시퀀스의 삽입을 유발한다.
데이터 필드의 마지막 데이터 비트 이전의 모든 스터프 비트는 CRC 체크에 의해 안전해지고, 데이터 필드의 마지막 데이터 비트 다음의 고정 스터프 비트는 CRC 시퀀스의 생성 및 체크 시 스킵된다.
본 발명에 따른 메시지에서 제1 식별 표시(EDL)의 열성 비트 다음에 오는, 항상 우성인 비트(r0)(또는 확장 주소 할당에서는 경우에 따라 r1)는, 예컨대 도 1b 및 도 4에서 알 수 있는 것처럼, 본 발명에 따른 모든 데이터 메시지 내 열성-우성 에지를 야기한다. 이런 에지는 버스 가입자들 사이의 동기화를 개선하는 데 이용될 수 있으며, 이는 특히 더 짧은 비트 길이로의 전환 시 바람직하다.
망내 모든 버스 가입자가 송신측 가입자에 동기화되면, 문제없이 더 짧은 비트 길이로 전환될 수 있다. 그러나 예컨대 제1 송신측 가입자는 중재 필드의 끝에서 비트 시퀀스 "우성-우성"을 전송하고 중재 범위 내에서 버스에의 액세스권을 획득하길 원하는 제2 송신측 가입자는 비트 시퀀스 "우성-열성"을 전송하면, 전환을 위해 제공된 비트에서 모든 버스 가입자가 상기 송신측 가입자에 동기화되지 못할 수도 있다. 제2 송신측 가입자는 열성 비트에서 중재를 상실하고 수신기가 된다. 열성 비트까지 상기 두 송신기는 동일한 비트 시퀀스를 전송한다. CAN 버스와 트랜시버에 의한 전파 시간 때문에 상기 두 송신기는 각각 직접 전송된, 열성으로부터 우성으로의 에지를 다른 송신기에 의해 전송된 것보다 더 일찍 보기 때문에, 어느 것도 다른 것에 동기화되지 않았다. 새로 수신기가 된 버스 가입자가 남은 송신기에 동기화되기 전에 비트 길이가 전환되면, 전환 이후의 동기화는 더 짧은 비트 길이의 영역에서 이루어진다. 그러면 동기화를 통한 위상 천이는 비트 길이와 관련하여 더 커진다. 양 버스 가입자들 사이의 신호 전파 시간에 따라서 위상 천이가 커질 수 있으므로, 동기화 에러가 발생하여 비트가 잘못 검출된다. 그런 경우, 수신기는 수신 메시지를 유효한 것으로서 인식하지 않고 에러 프레임으로 파기한다.
표준 CAN 통신에서는 이러한 문제가 발생하지 않는데, 그 이유는 CAN 비트 타이밍의 전파 세그먼트가 신호 전파 시간에 의해 야기된, 버스 가입자들 간 위상 천이를 상쇄시키기 때문이다. 그러나 비트 길이를 더 짧게 구성하면 전파 세그먼트가 최소화되거나 완전히 제거되어, 비트 길이가 단축될 수 있다.
비트 길이의 전환 후 동기화 에러를 피하기 위해, 적절한 조치들을 통해 비트 길이의 전환 전 동기화가 보장되어야 한다. 이를 달성할 수 있도록, EDL(열성)로부터 r0 또는 r1(우성)으로의 에지에서 동기화가 실시된다. 특히, 그 밖에 프레임 내에서 일반적인 재동기화 대신 하드 동기화가 실시될 수 있다. 이는 예컨대 SOF 비트에서도 실행되며, 가능한 위상 천이를 확실하게 완전히 상쇄시킨다. 그 밖에 프레임 내에서 일반적인 재동기화 시에는, 위상-에러가 구성된 재동기화 점프폭(SJW)보다 더 크면, 잔여 에러가 남을 수 있다.
도시된 방법의 한 변형예로서, 단축된 비트 길이로의 전환이 제2 식별 표시(BRS)의 값에 기초하여 먼저 전송된 r0 비트의 우성 값과 추가로 결합됨에 따라, r0가 우성으로 전송된 경우에는 더 짧은 비트 길이로의 전환만 이루어진다. 이처럼 보완된 방법은, 열성 EDL 비트 다음에 우성 r0 비트 대신 열성 비트가 오는 비트 시퀀스를, 차후의 다른 메시지 형식을 위해, 예컨대 메시지의 일부 영역들에서의 표준과 상이한 비트 코딩을 위해, 사용할 수 있게 한다.
본 발명에 따른 메시지들의 제어 필드에 추가 비트들을 삽입할 수 있는 방법은, "에러 패시브" 상태에 있는 버스 가입자들의 검출을 간소화하기 위해서도 이용할 수 있다. 종래 기술의 통신 컨트롤러를 구비한 버스 가입자는, 전송 또는 수신 에러 계수가 128 또는 그 이상일 경우 "에러 패시브" 상태를 취한다. 버스 가입자가 "에러 패시브" 상태에 있으면, 상기 버스 가입자는 "액티브 에러 플래그"(6개의 연속하는 우성 비트)를 전송할 수 없다. 버스 가입자가 에러를 검출하면, 상기 버스 가입자는 "패시브 에러 플래그"(6개의 연속하는 열성 비트)를 전송한다. 그러나 "패시브 에러 플래그"는 CAN 버스에서 정지 레벨과 구별될 수 없다. 즉, 다른 버스 가입자들은 상황에 따라, 버스 가입자가 "에러 패시브" 상태에 있음을 간접적으로만 식별할 수 있다.
그에 비해, 본원에서 제안하는 방법은, 상기 방법을 이용하여 "에러 패시브" 상태에 있는 버스 가입자들을 다른 버스 가입자들과 명확하게 구별할 수 있다는 장점이 있다. 이는 현재 "패시브 에러 플래그"의 수신에 의해서는 불가능하다. 종래 기술의 버스 가입자들에서는 CAN 제어기에 로컬 연결된 마이크로프로세서만이 상기 "에러 패시브" 상태를 검출할 수 있고, 예컨대 상응하는 상태 메시지를 통해 다른 버스 가입자들에게 통보할 수 있다. 상기 신규 방법에 의해서는, 마이크로프로세서를 위해 상태 메시지를 전송할 필요가 없다. 또한, 이러한 경우 "에러 패시브" 상태에 대한 정보는 전송 시점에서는 최신인 반면, 상태 메시지가 전송되면 마이크로프로세서에 의한 상태 메시지의 작성과 전송 시점 사이에 상기 상태가 변경될 수 있다.
여기에 설명된 방법에서, 통신 컨트롤러의 "에러 패시브" 상태에 관한 정보는 버스 가입자에 의해 전송된 프레임 안에 통합된다. 이를 위해 메시지의 제어 필드가 1개의 추가 비트(ESI)만큼 확장된다. 도 1b에 도시된 것처럼, 상기 비트는 제1 식별 표시(EDL) 다음에, 그리고 DLC 이전에, 예컨대 BRS 비트의 직전 또는 직후에 삽입된다. "에러 패시브" 상태에 있는 버스 가입자는 상기 비트를 예컨대 우성으로 전송하는 반면, 그렇지 않은 경우에는 상기 비트가 열성으로 전송된다. 그 반대 논리도 가능하다.
소개한 전송 방법은 차량의 정상 작동 시, 적절한 데이터 버스를 통해 연결되어 있는 차량의 둘 이상의 제어 장치 사이에서 데이터를 전송하는 데 적합하다. 그러나 상기 방법은, 차량의 제조 또는 유지보수 시 프로그래밍의 목적으로 적절한 데이터 버스와 연결된 프로그래밍 유닛과, 데이터 버스에 연결되어 있는 차량의 하나 이상의 제어 장치 간의 데이터 전송을 위해서도 마찬가지로 바람직하게 사용될 수 있다. 또한, 산업 자동화에서, 즉 예컨대 산업 제조 공정의 흐름을 제어하는, 버스에 의해 서로 연결되어 분포된 제어 유닛들 사이에서 제어 정보를 전송하기 위해 상기 방법이 이용될 수 있다. 이런 환경에서는 매우 긴 버스선도 발생할 수 있으며, 특히 중요한 점은 상대적으로 긴 비트 길이를 갖는 중재 위상을 위해 버스 시스템이, 예컨대 16, 32 또는 64 마이크로초로 구동됨으로써, 중재 과정 중에 필요 시 버스 신호들이 전체 버스 시스템으로 전파될 수 있다는 점이다. 그러한 경우, 후속하여 메시지의 일부는, 설명한 것처럼, 평균 전송률이 너무 낮아지지 않도록 하기 위해, 더 짧은 비트 길이로 전환될 수 있다.
종합해보면 상기 방법은, 표준 CAN 컨트롤러를 본 발명에 따라 작동할 수 있도록 하기 위해 최소한으로만 변경하면 되는 점을 특징으로 하는 전송 방법을 나타낸다. 표준 CAN 컨트롤러로서 작동할 수도 있는 본 발명에 따른 통신 컨트롤러는 종래 표준 CAN 컨트롤러보다 약간 더 클 뿐이다. 관련 응용 프로그램은 변경될 필요가 없으며, 이러한 점에서 이미 데이터 전송 속도에서의 이점이 획득된다. 데이터 필드 및 관련 DLC 및 CRC의 확장된 크기의 이용에 의해 데이터 전송의 속도가 더욱 증가할 수 있고, 응용 소프트웨어의 조정이 최소화된다. CAN 적합성 테스트(ISO 16845)의 광범위한 부분들이 수행될 수 있다. 본 발명에 따른 전송 방법을 TTCAN(ISO 11898-4)의 보완책들과 결합할 수도 있다.

Claims (29)

  1. 버스를 통해 메시지를 교환하는 둘 이상의 버스 가입자를 포함하는 버스 시스템에서의 직렬 데이터 전송 방법이며,
    CAN 표준 ISO 11898-1에 따른 중재 방법을 통해 메시지마다 버스에 대한 송신 액세스 권한이 버스 가입자에게 부여되고,
    상기 메시지들은 CAN 표준에 따른 논리 구조, 즉 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 필드로 구성되는 논리 구조를 가지며,
    전송하려는 데이터 비트들 사이에 스터프 조건이 존재하면, CAN 표준의 규칙에 따라 스터프 비트가 메시지 안에 삽입되고,
    메시지의 초기에 CAN 표준에 따른 CRC 필드의 계산에 추가하여, CAN 표준과 상이한 생성 다항식을 이용하여 하나 이상의 추가 CRC 시퀀스의 계산이 동시에 시작되며,
    추가로 실시한 CRC 계산들 중 하나 이상의 계산 시, CAN 표준과 상이하게 CRC 필드의 시작 전에 삽입된 스터프 비트들도 고려되며,
    적절한 식별 표시(EDL)에 근거하여, 올바른 데이터 전송의 체크를 위해 동시에 시작된 CRC 계산들 중 하나로부터 어느 결과가 사용되는지가 결정되는, 직렬 데이터 전송 방법에 있어서,
    식별 표시의 하나 이상의 값에 대해 추가 조건이 체크되고, 이런 조건이 존재하면 송신기에 의해 하나 또는 복수의 비트로 이루어진 고정 스터프 비트 시퀀스들이 메시지 안에, 적어도 메시지의 부분들에 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  2. 제1항에 있어서, 송신기에 의해 삽입된, 하나 또는 복수의 비트로 이루어진 고정 스터프 비트 시퀀스들이 수신기 측에서 후속 처리를 위해 다시 제거되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  3. 제1항 또는 제2항에 있어서, 상기 추가 조건이 카운터에 의존하여 사전 설정됨에 따라, 규칙적인 간격으로 하나 또는 복수의 비트로 이루어진 고정 스터프 비트 시퀀스들이 메시지 안에 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 고정 스터프 비트 시퀀스의 첫 번째 삽입 비트가 선행 비트에 상반되는 값을 가지는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 삽입된 2개의 고정 스터프 비트 시퀀스들 사이에 각각 전송하려는 데이터의 최대 4개의 데이터 비트가 배열되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 적어도 CRC 필드 내에 추가 조건이 존재할 때 고정 스터프 비트 시퀀스들이 메시지에 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 전체 메시지 내에 추가 조건이 존재할 때 고정 스터프 비트 시퀀스들이 메시지에 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 식별 표시의 하나 이상의 값에 대해 메시지의 CRC 필드가 CAN 표준과 상이한 수의 비트를 가지는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 고정 스터프 비트 시퀀스는 단일 비트로 구성되며, "0"이 선행할 경우 고정 스터프 비트 시퀀스로서 "1"이 삽입되고, "1"이 선행할 경우 고정 스터프 비트 시퀀스로서 "0"이 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  10. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 고정 스터프 비트 시퀀스는 2비트로 구성되며, "0"이 선행할 경우 고정 스터프 비트 시퀀스로서 "1 0"이 삽입되고, "1"이 선행할 경우 고정 스터프 비트 시퀀스로서 "0 1"이 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, CRC 필드에만 추가 조건이 존재할 때 고정 스터프 비트 시퀀스들이 메시지 안에 삽입되고, 상기 CRC 필드는 고정 스터프 비트 시퀀스로 시작되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 제1 식별 표시(EDL)의 존재 시 메시지의 제어 필드가 CAN 표준 ISO 11898-1과 상이하게 6비트 이상을 포함하는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 제1 식별 표시(EDL)는 표준 주소 할당 메시지의 경우 제어 필드 내 열성 제2 비트에 의해 이루어지고, 확장 주소 할당 메시지의 경우 제어 필드 내 열성 제1 및/또는 제2 비트에 의해 이루어지는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  14. 제13항에 있어서, 제1 식별 표시의 존재 시 모든 데이터 메시지 내에서 제1 식별 표시(EDL)의 열성 비트 다음에 하나 이상의 우성 비트가 오는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 제1 식별 표시(EDL)의 존재 시 메시지의 데이터 필드가 CAN 표준 ISO 11898-1과 상이하게 8바이트 이상을 포함할 수 있으며,
    데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 4비트의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  16. 제15항에 있어서, 제1 식별 표시(EDL)는 버스 가입자들측에서 평가되고, 제1 식별 표시 및 데이터 길이 코드에 따라서 수신 프로세스가 데이터 필드의 크기에 맞추어 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 제2 식별 표시(BRS)의 존재 시 메시지 내에서 하나 이상의 사전 설정된 또는 사전 설정가능한 영역에 대한 비트 길이가 제2 식별 표시의 존재 전에 사용된 비트 길이에 비해 단축된 값을 취하며, 상기 영역은 가장 빠르게는 제2 식별 표시로 시작되고 가장 늦게는 CRC 구분자로 끝나며,
    제2 식별 표시(BRS)는 제1 식별 표시(EDL)가 존재하는 경우에만 발생하고, CAN 표준 ISO 11898-1과 상이하게 6비트 이상을 포함하는 메시지 제어 필드 내에서 이루어지는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  18. 제17항에 있어서, 제2 식별 표시(BRS)는 제어 필드 내 열성 비트에 의해 이루어지고, 상기 열성 비트는 시간상 제1 식별 표시(EDL)의 비트 다음에 전송되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  19. 제18항에 있어서, 제2 식별 표시의 존재 시 제2 식별 표시(BRS)의 열성 비트가 하나 이상의 우성 비트에 의해 제1 식별 표시(EDL)의 열성 비트로부터 분리되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  20. 제13항 내지 제19항 중 어느 한 항에 있어서, 제1 식별 표시의 존재 시 버스 가입자들의 비트 타이밍의 재동기화 또는 하드 동기화를 위해 제1 식별 표시(EDL)의 열성 비트와 하나 이상의 후속 우성 비트 사이의 에지가 이용되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서, 제2 식별 표시(BRS)는 제1 식별 표시의 존재 시 버스 가입자들측에서 평가되고, 상기 제2 식별 표시의 값에 따라서 메시지 내 비트 길이의 상이한 값들에 맞추어 수신 프로세스가 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서, 하나의 메시지 내에서 시간 비트 길이의 2개 이상의 상이한 값은, 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위를 세팅하기 위한 2개 이상의 상이한 스케일링 계수를 사용하여 구현되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  23. 버스를 통해 메시지를 교환하는 둘 이상의 버스 가입자를 포함하는 버스 시스템에서의 직렬 데이터 전송 장치이며,
    CAN 표준 ISO 11898-1에 따른 중재 방법을 통해 메시지마다 버스에 대한 송신 액세스 권한이 버스 가입자에게 부여되고,
    상기 메시지들은 CAN 표준에 따른 논리 구조, 즉 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 필드로 구성되는 논리 구조를 가지며,
    전송하려는 데이터 비트들 사이에 스터프 조건이 존재하면, CAN 표준의 규칙에 따라 스터프 비트가 메시지 안에 삽입되고,
    메시지의 초기에 CAN 표준에 따른 CRC 필드의 계산에 추가하여, CAN 표준과 상이한 생성 다항식을 이용하여 하나 이상의 추가 CRC 시퀀스의 계산이 동시에 시작되며,
    추가로 실시한 CRC 계산들 중 하나 이상의 계산 시, CAN 표준과 상이하게 CRC 필드의 시작 전에 삽입된 스터프 비트들도 고려되며,
    적절한 식별 표시(EDL)에 근거하여, 올바른 데이터 전송의 체크를 위해 동시에 시작된 CRC 계산들 중 하나로부터 어느 결과가 사용되는지가 결정되는, 직렬 데이터 전송 장치에 있어서,
    적절한 추가 수단에 의해 식별 표시의 하나 이상의 값에 대해 추가 조건이 체크되고, 이런 조건이 존재하면 송신기에 의해 하나 또는 복수의 비트로 이루어진 고정 스터프 비트 시퀀스들이 메시지 안에, 적어도 메시지의 부분들에 삽입되는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  24. 제23항에 있어서, 상기 장치는 제2항 내지 제22항에 따른 데이터 전송 방법들 중 하나 이상의 방법을 실행하기에 적합한 수단을 구비한 것을 특징으로 하는, 직렬 데이터 전송 장치.
  25. 제23항 또는 제24항에 있어서, 상기 적절한 수단은 2개 이상의 모드들 사이에서 전환가능한 하나 이상의 제어 시스템을 포함하는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  26. 제25항에 있어서, 전환가능한 제어 시스템은 하나 이상의 카운터 의존 모드를 가지는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  27. 차량의 정상적인 작동 동안, 적절한 데이터 버스에 의해 연결되어 있는 차량의 2개 이상의 제어 장치 사이에서 데이터를 전송하는 데 사용하기 위한, 제1항 내지 제22항 중 어느 한 항에 따른 방법의 용도.
  28. 산업 제어 설비의 작동 시, 적절한 데이터 버스를 통해 연결되어 있는 2개 이상의 제어 유닛들 사이에서 데이터를 전송하는 데 사용하기 위한, 제1항 내지 제22항 중 어느 한 항에 따른 방법의 용도.
  29. 차량의 제조 또는 유지보수 시 프로그래밍의 목적으로 적절한 데이터 버스와 연결된 프로그래밍 유닛과, 데이터 버스에 연결되어 있는 차량의 하나 이상의 제어 장치 간에 데이터를 전송하는 데 사용하기 위한, 제1항 내지 제22항 중 어느 한 항에 따른 방법의 용도.
KR1020147002666A 2011-08-05 2012-07-19 유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치 KR102045254B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102011080476.5 2011-08-05
DE102011080476A DE102011080476A1 (de) 2011-08-05 2011-08-05 Verfahren und Vorrichtung zur Verbesserung der Datenübertragungssicherheit in einer seriellen Datenübertragung mit flexibler Nachrichtengröße
PCT/EP2012/064135 WO2013020781A1 (de) 2011-08-05 2012-07-19 VERFAHREN UND VORRICHTUNG ZUR VERBESSERUNG DER DATENÜBERTRAGUNGSSICHERHEIT IN EINER SERIELLEN DATENÜBERTRAGUNG MIT FLEXIBLER NACHRICHTENGRÖßE

Publications (2)

Publication Number Publication Date
KR20140050643A true KR20140050643A (ko) 2014-04-29
KR102045254B1 KR102045254B1 (ko) 2019-11-18

Family

ID=46551541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002666A KR102045254B1 (ko) 2011-08-05 2012-07-19 유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치

Country Status (8)

Country Link
US (1) US9361178B2 (ko)
EP (1) EP2740042B1 (ko)
JP (1) JP5798251B2 (ko)
KR (1) KR102045254B1 (ko)
CN (1) CN103842981B (ko)
DE (1) DE102011080476A1 (ko)
RU (1) RU2626094C2 (ko)
WO (1) WO2013020781A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669946B1 (ko) * 2015-08-28 2016-10-28 고려대학교 산학협력단 전력 신호를 이용한 ecu 식별 장치 및 방법
KR20230010872A (ko) * 2021-07-12 2023-01-20 한국자동차연구원 비트 스트림 프로세서 및 이를 포함하는 can 컨트롤러, can 통신 에러 처리 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010041223A1 (de) * 2010-09-22 2012-03-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur seriellen Datenübertragung mit umschaltbarer Datenrate
CN104350482B (zh) * 2012-03-30 2017-04-12 英特尔公司 用于在数据突发之间填充比特的方法和装置
US9471528B2 (en) * 2012-11-02 2016-10-18 Nxp B.V. Controller area network (CAN) transceiver and method for operating a CAN transceiver
US8737426B1 (en) 2013-03-15 2014-05-27 Concio Holdings LLC High speed embedded protocol for distributed control system
US8897319B2 (en) 2013-03-15 2014-11-25 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9432488B2 (en) 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
EP2800316A1 (en) 2013-05-01 2014-11-05 Renesas Electronics Europe GmbH Can fd
US9330045B2 (en) * 2013-10-02 2016-05-03 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US10452504B2 (en) 2013-10-02 2019-10-22 Nxp B.V. Controller area network (CAN) device and method for emulating classic CAN error management
EP2908475B1 (en) * 2014-02-17 2019-09-04 Consiglio Nazionale Delle Ricerche Limitation of bit stuffing in a communication frame of an electronic signal
DE102015209207A1 (de) * 2014-09-02 2016-03-03 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmerstation für ein Bussystem
DE102015209201A1 (de) * 2014-09-03 2016-03-03 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmerstation für ein Bussystem
DE102015209196A1 (de) * 2014-09-08 2016-03-10 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmern eines Bussystems
WO2016054245A1 (en) 2014-09-30 2016-04-07 Concio Holdings LLC Confirming data accuracy in a distributed control system
CN104618208A (zh) * 2015-01-26 2015-05-13 国电南瑞科技股份有限公司 数据弹性交互综合总线系统
US10326865B2 (en) 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
DE102015209496A1 (de) 2015-05-22 2016-11-24 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
DE102015220038A1 (de) 2015-05-22 2016-11-24 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
US9756024B2 (en) * 2015-09-18 2017-09-05 Trillium Incorporated Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same
DE102016116567A1 (de) * 2016-09-05 2017-08-17 Innovative Pyrotechnik Gmbh Elektronischer Detonator
EP3535625B1 (en) 2016-12-07 2021-02-24 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
CN110999226B (zh) 2017-08-08 2022-05-10 大众汽车有限公司 用于经由串行通信总线来传输数据的方法、对应设计的总线接口和对应设计的计算机程序
CN107493216B (zh) * 2017-08-11 2020-05-12 北京瑞华高科技术有限责任公司 控制器局域网can总线数据处理方法及装置
EP3478031B1 (en) * 2017-10-30 2020-06-24 Melexis Technologies NV Bus protocol for dynamic lighting application
DE102017223774A1 (de) 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Fehlersignalisierung für eine in einem seriellen Bussystem empfangene Nachricht
DE102017223776A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein serielles Kommunikationsnetzwerk und Verfahren zur Korrektur von Einzelfehlern in einer Nachricht eines seriellen Kommunikationsnetzwerks
US20200389469A1 (en) 2017-12-24 2020-12-10 Arilou Information Security Technologies Ltd. System and method for tunnel-based malware detection
US10439840B1 (en) * 2018-07-27 2019-10-08 Nxp B.V. Method and device for communicating data frames on a multi-master bus
CN111193648B (zh) * 2018-11-14 2021-11-19 厦门雅迅网络股份有限公司 降低can总线负载的数据发送方法、终端设备及存储介质
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
US11295036B2 (en) 2019-12-09 2022-04-05 Nxp Usa, Inc. Method of using protocol CRC to implement end to end protection of a CAN message
CN113708890B (zh) * 2021-08-10 2024-03-26 深圳市华星光电半导体显示技术有限公司 数据编码方法、数据解码方法、存储介质及计算机设备
US12021547B2 (en) * 2021-12-28 2024-06-25 Micron Technology, Inc. Associative computing for error correction
CN115834027B (zh) * 2023-01-06 2023-05-19 浪潮电子信息产业股份有限公司 一种消息填充方法、装置、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6426813B1 (en) * 1999-03-05 2002-07-30 International Truck International Property Company, L.L.C. Telemetry system and method for EMI susceptibility testing of motor vehicles
US20020126691A1 (en) * 1999-04-10 2002-09-12 Peter Strong Data transmission method and apparatus

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434850A (en) * 1993-06-17 1995-07-18 Skydata Corporation Frame relay protocol-based multiplex switching scheme for satellite
JP3316730B2 (ja) * 1995-10-27 2002-08-19 三菱電機株式会社 データ通信装置
US5671223A (en) * 1995-11-30 1997-09-23 Motorola, Inc. Multichannel HDLC framing/deframing machine
US5721726A (en) * 1995-11-30 1998-02-24 Motorola, Inc. Transmission load control for multichannel HDLC TDM line
FR2830152B1 (fr) * 2001-09-27 2004-08-20 Airbus France Bus de terrain deterministe et procede de gestion d'un tel bus
US6766171B2 (en) * 2002-06-26 2004-07-20 Motorola, Inc. Method and apparatus for implementing bi-directional soft handovers between wireless networks without carrier control
KR100689566B1 (ko) * 2003-03-08 2007-03-02 삼성전자주식회사 광대역 무선 접속 통신 시스템에서 초기 레인징을 이용한핸드오프 시스템 및 방법
CN2661507Y (zh) * 2003-12-16 2004-12-08 中国科学院电工研究所 一种车载can总线光纤集线器
US8166221B2 (en) * 2004-03-17 2012-04-24 Super Talent Electronics, Inc. Low-power USB superspeed device with 8-bit payload and 9-bit frame NRZI encoding for replacing 8/10-bit encoding
KR101135101B1 (ko) * 2005-10-17 2012-04-16 엘지전자 주식회사 캔에서의 데이터 길이 코드를 이용한 데이터 필드 패딩방법
JP2008009795A (ja) * 2006-06-30 2008-01-17 Hitachi Ltd 診断装置,回線診断方法及び回線診断プログラム
US7783808B2 (en) * 2006-11-08 2010-08-24 Honeywell International Inc. Embedded self-checking asynchronous pipelined enforcement (escape)
US7966949B2 (en) 2006-11-27 2011-06-28 Willey Kevin E Device for supporting an item(s) while in transit within a vehicle having passenger seating and when carried from location to location
JP4917557B2 (ja) * 2008-01-09 2012-04-18 株式会社オートネットワーク技術研究所 車載用の中継接続ユニット
RU2362206C1 (ru) * 2008-01-09 2009-07-20 Федеральное государственное унитарное предприятие "Научно-производственное предприятие "Полет" Способ работы локальной сети
US20100106810A1 (en) * 2008-10-27 2010-04-29 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8560125B2 (en) * 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8774210B2 (en) * 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8650341B2 (en) * 2009-04-23 2014-02-11 Microchip Technology Incorporated Method for CAN concatenating CAN data payloads
US8665882B2 (en) 2009-10-30 2014-03-04 Honeywell International Inc. Serialized enforced authenticated controller area network
EP2339790A1 (en) * 2009-12-28 2011-06-29 Nxp B.V. Definition of wakeup bus messages for partial networking
FR2970130B1 (fr) * 2011-01-03 2013-08-30 Centre Nat Etd Spatiales Procede de decodage et decodeur
US8897319B2 (en) * 2013-03-15 2014-11-25 Concio Holdings LLC High speed embedded protocol for distributed control systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6426813B1 (en) * 1999-03-05 2002-07-30 International Truck International Property Company, L.L.C. Telemetry system and method for EMI susceptibility testing of motor vehicles
US20020126691A1 (en) * 1999-04-10 2002-09-12 Peter Strong Data transmission method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669946B1 (ko) * 2015-08-28 2016-10-28 고려대학교 산학협력단 전력 신호를 이용한 ecu 식별 장치 및 방법
KR20230010872A (ko) * 2021-07-12 2023-01-20 한국자동차연구원 비트 스트림 프로세서 및 이를 포함하는 can 컨트롤러, can 통신 에러 처리 방법

Also Published As

Publication number Publication date
CN103842981A (zh) 2014-06-04
KR102045254B1 (ko) 2019-11-18
US20140223258A1 (en) 2014-08-07
RU2014108166A (ru) 2015-09-10
EP2740042B1 (de) 2016-02-03
RU2626094C2 (ru) 2017-07-21
CN103842981B (zh) 2017-08-15
US9361178B2 (en) 2016-06-07
EP2740042A1 (de) 2014-06-11
JP2014528187A (ja) 2014-10-23
WO2013020781A1 (de) 2013-02-14
DE102011080476A1 (de) 2013-02-07
JP5798251B2 (ja) 2015-10-21

Similar Documents

Publication Publication Date Title
KR102045254B1 (ko) 유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치
KR102007547B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
KR102011528B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
KR101936450B1 (ko) 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치
KR101921773B1 (ko) 가변 데이터-전송률을 갖는 계측 제어 통신망
US9742584B2 (en) Controller area network with flexible data-rate
KR101876602B1 (ko) 직렬 버스 시스템에서 데이터 전송 보안의 조정 방법 및 장치
KR101921357B1 (ko) 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치
KR102029978B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치

Legal Events

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