KR101921357B1 - 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치 - Google Patents

직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101921357B1
KR101921357B1 KR1020137029299A KR20137029299A KR101921357B1 KR 101921357 B1 KR101921357 B1 KR 101921357B1 KR 1020137029299 A KR1020137029299 A KR 1020137029299A KR 20137029299 A KR20137029299 A KR 20137029299A KR 101921357 B1 KR101921357 B1 KR 101921357B1
Authority
KR
South Korea
Prior art keywords
data
field
bit
message
bits
Prior art date
Application number
KR1020137029299A
Other languages
English (en)
Other versions
KR20140029432A (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
Priority claimed from DE201110006884 external-priority patent/DE102011006884A1/de
Priority claimed from DE102011078266A external-priority patent/DE102011078266A1/de
Priority claimed from DE102011080476A external-priority patent/DE102011080476A1/de
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20140029432A publication Critical patent/KR20140029432A/ko
Application granted granted Critical
Publication of KR101921357B1 publication Critical patent/KR101921357B1/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
    • 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]
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error 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/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/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 둘 이상의 가입 데이터 처리 유닛을 포함하는 버스 시스템에서의 직렬 데이터 전송 방법에 관한 것으로, 상기 데이터 처리 유닛들은 버스를 통해 메시지를 교환하며, 전송되는 메시지는 CAN 표준 ISO 11898-1에 따른 논리 구조를 가지며, 이 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, 확인응답 필드 및 EOF 시퀀스를 포함하며, 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함한다. 제1 전환 조건이 존재하면, 상기 메시지의 데이터 필드는 CAN 표준 ISO 11898-1과 상이하게 8바이트 이상을 포함할 수 있으며, 제1 전환 조건의 존재 시 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 4개 비트의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석된다.

Description

직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치{METHOD AND DEVICE FOR INCREASING THE DATA TRANSMISSION CAPACITY IN A SERIAL BUS SYSTEM}
본 발명은 직렬 버스 시스템에서 둘 이상의 가입자들 간 데이터 전송 용량을 증대하기 위한 방법 및 장치에 관한 것이다.
예컨대 패밀리 ISO 11898-1 내지 11898-1-5의 표준으로부터는 Controller Area Network(CAN)뿐 아니라, "Time Triggered CAN"(TTCAN)이라 지칭되는 확장 CAN이 공지되었으며, 이는 하기에서 표준 CAN으로도 지칭된다. CAN에서 사용되는 미디어 액세스 제어 방법은 비트 중재에 기반한다. 비트 중재의 경우 복수의 가입자국이 동시에 버스 시스템의 채널을 통해 데이터를 전송할 수 있으면서도, 그로 인해 데이터 전송이 방해되지는 않는다. 또한, 가입자국들은 채널을 통한 비트의 전송 시 채널의 논리 상태(0 또는 1)를 검출할 수 있다. 전송되는 비트의 값이 채널의 검출된 논리 상태에 상응하지 않으면, 가입자국은 채널에 대한 액세스를 종료한다. CAN에서 비트 중재는 일반적으로 채널을 통해 전송될 메시지 내부의 식별자에 의해 실행된다. 일 가입자국이 식별자를 완전히 채널로 송신하고 난 후, 이 가입자국은 자신이 채널에 대한 배타적 액세스권을 획득하였음을 알게 된다. 그에 따라 식별자 전송의 종료는 이네이블(enable) 구간의 시작에 상응하며, 상기 이네이블 구간 내에서 가입자국은 채널을 배타적으로 사용할 수 있다. CAN의 프로토콜 사양에 따라서, 송신하는 가입자국이 메시지의 체크섬 필드(CRC 필드)를 전송할 때까지, 다른 가입자국들은 채널에 액세스할 수 없으며, 다시 말해 채널에 데이터를 전송할 수 없다. 그에 따라 CRC 필드의 전송 종료 시점은 이네이블 구간의 종료에 상응한다.
비트 중재를 통해서, 중재 방법을 획득한 메시지를 채널을 통해 손상 없이 전송하는 점도 달성된다. CAN의 프로토콜들은 특히 실시간 조건들 하에 단문 메시지를 전송하는 데 적합하며, 이때 식별자의 적절한 할당을 통해, 특히 중요한 메시지들은 거의 항상 중재를 획득하여 성공적으로 전송되는 점이 보장될 수 있다.
최근 차량들에서 네트워크 시스템이 증가하고, 예컨대 주행 안전 또는 주행 쾌적성을 개선하기 위한 추가 시스템들이 도입됨에 따라, 데이터 전송량과 전송 시 허용 대기 시간에 대한 요구사항이 커지고 있다. 이와 관련한 예로, 차체 자세 제어 장치(ESP)와 같은 주행 다이내믹 제어 시스템, 적응형 순항 제어(ACC)와 같은 운전자 보조 시스템, 또는 교통 표지판 인식과 같은 운전자 정보 시스템이다(예컨대 "보쉬 자동차 기술 편람(Bosch Kraftfahrtechnisches Handbuch)", 27판, 2011, Vieweg+Teubner 참조).
DE 103 11 395 A1호는, 비동기 직렬 통신이 선택적으로 비대칭 물리 CAN 프로토콜 또는 대칭 물리 CAN 프로토콜을 통해 이루어질 수 있고, 그럼으로써 비동기 통신을 위한 더 빠른 데이터 전송 속도 또는 더 높은 데이터 전송 안전이 달성될 수 있는 시스템을 기술하고 있다.
DE 10 2007 051 657 A1호는, 전송되는 데이터량을 증가시키기 위해, TTCAN 프로토콜의 배타적 시간 구간 내에서 CAN에 부합하지 않는 고속 비동기 데이터 전송을 적용하는 점을 제안한다.
"컨트롤러 영역 네트워크의 오버클록킹(Overclocking of controller area networks)" [Electronics Letters, 35권 22호(1999년), 1924쪽]에서 G. Cena 및 A. Valenzano는 메시지의 부분 영역 내 버스 주파수의 오버클록킹이 효과적으로 달성된 데이터 전송 속도에 미치는 영향을 다루고 있다.
종래 기술은 모든 관점에서 만족스러운 결과를 제공하지 못한다는 점이 확인된다.
하기에서는 본 발명 및 본 발명의 장점들을 도면 및 실시예를 참고로 설명한다. 본 발명의 대상이 도시되고 설명된 실시예들에 한정되지는 않는다.
본 발명은 2개 이상의 가입 데이터 처리 유닛들을 포함하는 버스 시스템에서 CAN 표준 ISO 11898-1에 따른 논리 구조를 갖는 메시지의 전송에서 시작되며, 이때 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, 확인응답 필드 및 EOF 시퀀스를 포함하며, 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함한다.
전송된 메시지의 데이터 필드의 확장 가능성의 제공을 통해 본 발명은, 제1 전환 조건이 존재하면 메시지의 데이터 필드가 CAN 표준 ISO 11898-1과 상이하게 8바이트 이상을 포함할 수 있으므로, 표준에 따른 CAN 메시지에 비해 더 많은 양의 데이터가 단일 메시지에 의해 버스를 통해 전송될 수 있는 효과를 달성하며, 이 경우 제1 전환 조건의 존재 시 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 비트의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석될 수 있다. 그럼으로써 하나의 메시지 내에서 제어 정보에 대한 데이터 양의 비율이 증가하므로 버스 시스템에 의한 평균 데이터 전송 속도 역시 증가한다.
데이터 길이 코드의 내용과 데이터 필드의 길이 사이에 명확한 할당을 확립함으로써, 구현 가능한 데이터 필드의 크기와 관련하여 큰 유연성이 바람직하게 달성될 수 있다.
또한, 표준 CAN에서 일반적으로 이용되는 데이터 길이 코드의 값들(0b0001 내지 0b1000)에 대해 표준 CAN에 상응하는 데이터 필드의 크기들, 즉 1바이트 내지 8바이트가 할당되며, 데이터 필드의 다른 허용 크기들에 대한 데이터 길이 코드의 잔여 값들은 최대로 가능한 크기까지 이용된다. 이는 본 발명에 따른 방법으로 전환 시 응용 소프트웨어의 조정 비용을 경제적으로 절감시킨다.
데이터 필드의 확장 및 데이터 길이 코드 내용 해석의 조정은 제1 전환 조건에 기초하여 이루어지므로, 제1 전환 조건이 존재하면 본 발명에 따른 방법이 이용되고, 그렇지 않으면 보통의 CAN 표준에 따른 데이터 전송이 이루어진다. 그러므로 본 발명에 따른 장치들은 표준 CAN 버스 시스템에서도 이용될 수 있고, 잠재적으로 더 큰 데이터 필드들을 갖는 본 발명에 따른 새로운 버스 시스템에서도 이용될 수 있다.
추가로, 제2 전환 조건이 존재하면 데이터 길이 코드의 비트는 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석되고, 제2 전환 조건이 존재하지 않으면 상기 할당과도 다르게 해석될 수 있다. 그와 같이 전송되는 메시지들은 제2 식별 부호에 의해 중재 필드 및/또는 제어 필드에서 검출될 수 있다. 그럼으로써 데이터 필드의 유효 크기 선택과 관련해 훨씬 더 큰 유연성이 달성된다. 제2 식별 부호는 가입 데이터 처리 유닛들에서 제2 전송 조건의 검출을 위해 평가될 수 있으며, 제2 전송 조건에 기초하여 수신 프로세스가 데이터 필드의 크기에 맞게 조정된다.
표준 CAN 프로토콜에 대한 변경 복잡성과 관련한 장점으로서, 제2 식별 표시는 확장 형식으로 CAN 메시지의 형식을 포함하는 중재 필드를 갖는 메시지에서만 나타나고, 그리고/또는 확장 형식의 식별 표시와 일치한다.
또한, 데이터 필드가 본 발명에 따라 확장되는 경우, 체크섬의 계산을 위해 변경된 다항식을 이용하고 CRC 필드에서 전송하는 것이 가능하다. 이는 더 큰 데이터양의 전송 시에도 에러 검출의 신뢰성이 유지되는 장점을 갖는다. 매우 바람직한 한 실시예에서 메시지의 시작 시 체크섬들의 복수의 계산이 동시에 시작되고, 임의의, 경우에 따라서는 동일한 전환 조건의 존재 및/또는 데이터 길이 코드의 내용에 따라, 상기 계산들 중 하나의 어느 결과가 이용되는지 또는 CRC 필드에서 전송되는지가 결정된다. 그 결과, 메시지가 표준에 따른 방법으로 전송되는지, 아니면 본 발명에 따라 수정된 방법으로 전송되는지에 관한 정보를 이 메시지와 함께 전송할 수 있고, 이때 사용된 방법을 미리 수신기에 알리지 않는다. 올바른 데이터 전송을 검사하기 위한 체크섬은 상기 두 방법 모두에 대해 제공되며, 필요에 따라 평가될 수 있다.
제공되는 전환 조건들은 하나 또는 복수의 식별 부호들을 통해 수신기에 통지된다. 이 경우, 식별 표시들 중 하나 이상이 제1 식별 표시 비트에 의해 이루어지는 것이 특히 바람직하며, 이 식별 표시 비트의 위치는 식별자의 마지막 비트와 데이터 길이 코드의 첫 번째 비트 사이에 놓이며, CAN 표준 ISO 11898-1에 따른 메시지들에서 상기 위치에 결정된 값을 포함하는 비트가 위치한다.
또 다른 장점은, 메시지 내 CRC 필드의 전방에 나타나는, 경우에 따라 존재하는 스터프 비트가 체크섬의 계산 안에 포함된다는 점이다. 그럼으로써 데이터 전송의 신뢰성 내지는 데이터 전송 에러에 대한 검출 확률이 향상된다.
상기 방법을 예컨대 적어도 데이터 필드와 CRC 필드의 비트들을 위한 비트 길이의 전환과 결합하면, 데이터 필드를 8바이트로 제한하는 경우보다 더 많은 양의 데이터가 가속화되어 전송되는 추가적인 장점이 획득된다. 그 결과, 버스 시스템의 평균 데이터 전송 속도가 증가한다. 특히 바람직하게는, 이 경우에 단축된 비트 길이를 갖는 메시지의 식별이 제어 필드 내 식별 표시 비트를 통해 이루어진다. 그러므로 비트 길이의 전환은 CRC 계산의 전환 또는 데이터 필드의 크기와 무관하게 이루어질 수 있고, 버스 시스템의 조건들에 유연하게 반응할 수 있다.
상기 방법은 차량의 정상 작동 시 적합한 데이터 버스에 의해 연결되어 있는, 차량의 2개 이상의 제어 장치들 간에 데이터를 전송하는 데 바람직하게 사용될 수 있다. 또는, 차량의 제조 또는 유지 관리 중에 프로그래밍을 위해 적합한 데이터 버스와 연결되어 있는 프로그래밍 유닛과, 상기 데이터 버스에 연결되어 있는 하나 이상의 차량 제어 장치 사이에 데이터를 전송하는 데에도 바람직하게 사용될 수 있다. 마찬가지로, 더 큰 데이터 양이 예컨대 제어 목적을 위해 전송되어야 하는 산업 분야에서도 바람직하게 사용될 수 있다. 특히, 중재 동안 전송 경로의 길이에 따라 감소한 데이터 속도가 적용되어야 하는 경우, 모든 가입자가 버스에의 액세스 권한을 얻을 가능성을 가지도록, 특히 데이터 필드 길이의 전환과 비트 길이의 단축을 결합한 방법을 통해 더 큰 데이터 전송 속도가 달성될 수 있다.
또 다른 장점 중 하나는, 본 발명에 따라 작동할 수 있도록 하기 위해 표준 CAN 컨트롤러를 최소한만 변경하면 된다는 점이다. 표준 CAN 컨트롤러로서도 작동할 수 있는 본 발명에 따른 통신 컨트롤러는 종래의 표준 CAN 컨트롤러보다 약간 더 클 뿐이다. 관련 응용 프로그램은 변경될 필요가 없고, 이로써 이미 데이터 전송의 속도와 관련한 장점이 달성된다.
바람직하게는 CAN 적합성 테스트(ISO 16845)의 상당 부분이 수행될 수 있다. 특히 바람직하게는, 본 발명에 따른 전송 방법과 TTCAN(ISO 11898-4)의 보완책들이 결합될 수 있다.
하기에서는 도면을 참고로 본 발명을 상세히 설명한다.
도 1a는 종래 기술에서 CAN 표준 ISO 11898-1에 따른 CAN 형식의 메시지 구조에 대한 2가지 대안에 관한 도이다.
도 1b는 그에 반해 본 발명에 따라 수정된 메시지 형식에 대한 2가지 유사 대안에 관한 도이다.
도 2는 데이터 길이 코드의 내용이 CAN 표준 ISO 11898-1과 상이하게 본 발명에 따라 어떻게 해석될 수 있는지에 대한 다양한 가능성들에 관한 도이다.
도 3은 버스 시스템의 가입자국에서의 본 발명에 따른 수신 프로세스를 위한 한 실시예의 개략도이다.
도 4는 버스 시스템의 가입자국에서의 본 발명에 따른 수신 프로세스를 위한 또 다른 실시예의 개략도이다.
도 5는 메시지 내 확정 영역들에서 추가로 상이한 비트 길이가 사용되는, 본 발명에 따라 수정된 메시지들의 형식에 대한 2가지 예에 대한 도이다.
도 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에는 본 발명에 따라 전송될 수정된 메시지들이 각각 두 표준 형식으로부터 유도되어 대비되어 있다.
본 발명에 따라 수정된 전송 방법의 경우, 데이터 필드는 8바이트 이상도 포함할 수 있으며, 즉 강조해서 표시된 것처럼 K바이트까지 포함할 수 있다. 표준 CAN에서와 달리, 더 큰 데이터 필드를 식별하기 위해, 데이터 길이 코드가 취할 수 있는 다른 값들이 활용된다. 예컨대 0 내지 15바이트의 값들을 표현하기 위해, 4비트의 데이터 길이 코드가 이용될 수 있다. 그러나 할당이 다르게 이루어질 수도 있는데, 예컨대 현재의 CAN 메시지 안에 일반적으로 이용되지 않은 데이터 길이 코드의 값(DLC = 0b0000)을 데이터 필드의 또 다른 가능한 크기를 위해, 예컨대 16바이트 크기를 위해 이용할 수 있는 가능성도 있다. 이러한 두 가지 가능성이 도 2의 표에서 DLC1과 DLC2로서 기재되어 있다. 데이터 필드(K)의 최대 크기는 이런 경우에 값 15 또는 16을 갖는다.
또 다른 한 가능성에 따라, 0b1000보다 크고 0b1111 이하인 데이터 길이 코드의 값들에 대해 데이터 필드의 관련 크기가 예컨대 각각 2바이트만큼 커진다. 이런 경우는 표에서 DLC3으로 기재되어 있다. 데이터 필드(K)의 최대 크기는 이러한 변형예에서 값 24에 이른다. 더 큰 증분, 예컨대 4바이트가 선택되면, 그에 따라 더 큰 데이터 필드들이 달성될 수 있을 것이다.
DLC3의 예에서는 또 다른 수정이 수행되어 있다. 값 DLC=0b0000은 이 실시예에서 원격 프레임에 의해 사용된다. 그에 반해, 표준 CAN에서는, 원격 프레임이 반응으로서 원격 프레임에 전송되는 메시지가 가지는 동일한 DLC 값과 함께 전송된다. 여기에 기술된 수정에 의해, DLC는 다르지만 식별자는 동일한 원격 프레임이 전송될 수 없는 점이 보장되며, 이는 해결할 수 없는 충돌들을 야기할 수 있다(ISO 11898-1, 10.8.8장 참조).
도 2의 열들 DLC1, DLC2 및 DLC3에 표의 형태로 기재된 방법 실시예들에서, 1바이트와 8바이트 사이에 있는 데이터 필드의 크기들에 대해 데이터 길이 코드의 0b0001 내지 0b1000의 값들의 할당은 표준 CAN에서의 할당에 상응한다. 그 결과, 표준 CAN과의 호환성이 달성될 수 있으며, 다시 말해 통신 컨트롤러는 표준 CAN 버스 시스템에서는 표준에 따라 작동하는 반면, 본 발명에 따라 수정된 버스 시스템에서는 메시지 내에 더 큰 데이터 필드를 허용하도록, 간단한 방식으로 설계될 수 있다. 그러나 데이터 필드의 허용 크기들에 데이터 길이 코드의 가능 값들이 완전히 새롭게 할당될 수도 있다. 그에 대한 예가 DLC4로서 역시 도 2에서 기입되어 있다. 데이터 필드의 달성된 최대 크기(K)는 이 경우 30바이트이다.
그러한 통신 컨트롤러가 어떤 방식으로 데이터 길이 코드의 내용들을 해석해야 하는지를 결정할 수 있는 가능성을 보장하기 위해, 버스 시스템의 통신이 표준 CAN에 따라 실행되는지 아니면 본 발명의 방법에 따라 실행되는지의 여부를 상기 통신 컨트롤러가 자동으로 인식하는 것이 바람직하다. 이를 위한 방법 중 하나는, 중재 필드 또는 제어 필드 내 예약 비트가 식별 표시를 위해 이용됨에 따라 제1 식별 표시(K1)로부터 통신 컨트롤러가 제1 전환 조건을 도출할 수 있으며, 이 전환 조건에따라 전송 방법을 선택하는 것이다. 예컨대 도 1b에서 r0로 표시된, 제어 필드의 제2 비트가 식별 표시에 이용될 수 있다.
결정은 식별자 형식에 기초하여 선택될 수도 있다. 표준 주소 지정과 관련하여, 본 발명에 따른 메시지를 식별할 수 있는 한 방법은, 표준 CAN에서 항상 우성인 r0 비트의 위치에 제어 필드 내로 열성 비트(EDL(Extended Data Length) 비트)를 삽입하는 것이다. 확장 주소 지정을 위해 열성 EDL 비트가 제어 필드 내에서 표준 CAN에서 항상 우성인 r1 비트의 위치에 나타날 수 있다.
또 다른 한 방법은, 표준 CAN에서 항상 열성으로 전송되어야 하지만 메시지를 수신하는 가입자들에 의해 우성으로 수용되기도 하는 SRR 비트를 사용하는 것이다. 제1 전환 조건(UB1)을 결정하기 위한 비트 조합들도 평가될 수 있다.
또 다른 한 방법은, 본 발명에 따라 수정된 전송 방법을 위해 확장 형식의 사용을 규정하는 것일 수 있다. 확장 형식의 메시지들은 버스 가입자들에 의해 IDE 비트의 값에서 검출되고(비교, 도 1a), 이러한 비트는 동시에 제1 전환 조건(UB1)을 표현할 수도 있으므로, 확장 메시지에 대하여 항상 수정된 전송 방법이 적용된다. 그 대안으로, 확장 메시지에서 예약 비트(r1)가 제1 식별 표시(K1)로서 또는 제1 전환 조건(UB1)의 도출을 위해 이용될 수도 있을 것이다. 또는, 하기에서 계속 설명되듯이, 데이터 필드의 2개 이상의 상이한 크기들 간의 전환을 위한 제2 전환 조건(UB2)을 도출하기 위해, 또는 데이터 길이 코드의 값들과 데이터 필드 크기들 사이의 할당을 위해 예약 비트가 이용될 수도 있다. 그와 같은 제2 전환 조건 또는 복수의 다른 전환 조건들도 유연하게 이용될 수 있다.
또는 그 대안으로, 이런 목적에 적합한, 표준에 따른 CAN 통신을 위해 설계되지 않은 통신 컨트롤러에서 상기 방법을 사용하는 것도 가능하다. 이런 경우에 예컨대 메시지의 적절한 식별 표시(K1)에 기초하여 이미 언급한 제1 전환 조건(UB1)을 결정하는 것 역시 생략될 수 있다. 이런 경우 통신 컨트롤러는 오히려 전술한 방법들 중 하나에 따라서만 작동하며, 그에 상응하게 그러한 본 발명에 따른 통신 컨트롤러가 사용될 수 있는 버스 시스템에서만 이용될 수 있다.
본 발명에 제공된 것처럼, 메시지의 데이터 필드가 확장되면, 충분한 에러 방지 기능이 유지되도록 이용된 순환 중복 검사(CRC) 방법을 조정하는 점이 의미있을 수 있다. 특히, 다른 CRC 다항식, 예컨대 더 고차의 CRC 다항식을 사용하여 본 발명에 따라 수정된 메시지들에 있는 상이한 크기의 CRC 필드를 제공하는 것이 바람직할 수 있다. 이는 도 1b에서, 본 발명에 따른 메시지의 CRC 필드가 도시된 예에서 L비트의 길이를 갖는 것으로 표현되어 있으며, 이때 L은 표준 CAN과 달리 15가 아닐 수 있고, 특히 15보다 클 수 있다.
CRC 체크섬을 계산하기 위해 수정된 방법을 이용하는 점은 제3 전환 조건(UB3)을 표시하는 제3 식별 표시(K3)에 의해 가입자들에게 시그널링될 수 있다. 그러나 이 식별 표시(K3)와 제3 전환 조건(UB3)은 제1 식별 표시(K1) 및/또는 전환 조건(UB1)과도 일치할 수 있다. 위에서 계속 설명한 것처럼, 여기에서도 예컨대 도 1b의 예약 비트(r0)가 식별 표시에 이용될 수 있거나 SRR 비트가 이용될 수 있다. 확장 메시지에서 상기 방법의 사용과 관련하여 IDE 비트 또는 비트(r1)의 사용도 고려된다.
표준 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가 실제로 메시지 내에서 5개까지 랜덤하게 분포된 비트 에러를 검출해야 할지라도, 드물게는 하나의 메시지 안에서 2개의 비트 에러가 검출되지 않는다. 이는, 비트 에러에 의해 스터프 비트가 데이터 비트로 또는 그와 반대로 변환되는 경우에 나타날 수 있다(Unruh, Mathony and Kaiser 공저: "Error Detection Analysis of Automotive Communication Protocols", SAE International Congress, no.900699, Detroit, USA, 1990 참조).
그에 비해 본 발명에 따라 수정된 전송 방법에서는, 메시지 내 스터프 비트들도 CRC 코드의 계산 또는 검사 시에 관여되도록 CRC 부호화가 변경될 수 있다. 즉, 본 실시예에서는 중재 필드, 제어 필드 및 데이터 필드에 속하는 스터프 비트들이 CRC에 의해 보호될 데이터의 일부로서 처리된다. CRC 필드의 스터프 비트들은 표준 CAN에서처럼 페이드 다운된다.
한 가능한 실시예에서 컨트롤러는, 표준 CAN에 대한 호환성을 갖는 반면, 즉 표준 CAN 버스 시스템에서 규정에 따라 작동하는 반면, 본 발명에 따라 수정된 버스 시스템에서는 한편으로 메시지 내 더 큰 데이터 필드를 허용하고 다른 한편으로 CRC 코드의 조정된 계산 및 검사도 실행하도록 설계된다.
메시지의 수신 초기에는, 표준에 부합하는 CAN 메시지가 수신될지 또는 본 발명에 따라 수정된 메시지가 수신될지의 여부가 아직 결정되지 않기 때문에, 본 발명에 따른 통신 컨트롤러에서 병렬로 동작하는 2개의 CRC 시프트 레지스터가 실행된다. CRC 구분자의 수신 후, CRC 코드가 수신기에서 평가되면, 본 발명에 따른 제3 식별 표시(K3) 또는 예컨대 이 식별 표시나 데이터 길이 코드의 내용에서 도출된 제3 전환 조건(UB3)에 기초하여, 어떤 전송 방법이 사용되었는지도 확인되고, 그런 다음 이 전송 방법에 할당된 시프트 레지스터가 평가된다. 이미 앞서 설명한 것처럼, 제3 전환 조건(UB3)은 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련한 제1 전환 조건(UB1)과 일치할 수 있다.
심지어는 메시지의 수신 초기에 이미 송신기를 위해, 어떤 전송 방법에 따라 전송되어야 하는지가 결정된다. 그러나 버스 액세스에 대한 중재가 상실되며, 이미 시작된 메시지가 전송되지 않고 오히려 그 대신 다른 메시지가 수신될 수 있기 때문에, 여기에서도 두 CRC 시프트 레지스터가 모두 병렬로 제어된다.
병렬로 동작하는 두 CRC 시프트 레지스터가 전술한 것처럼 실행되면 또 다른 개선도 가능하게 된다: 표준 CAN 프로토콜의 CRC 다항식(x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1)은 127비트 이하의 메시지 길이를 위해 설계된다. 본 발명에 따라 전송된 메시지들 더 긴 데이터 필드들도 이용한다면, 전송 신뢰성을 유지하기 위해 다른, 특히 더 긴 CRC 다항식을 사용하는 것이 적절하다. 그에 상응하게, 본 발명에 따라 전송되는 메시지는 변경된, 특히 더 긴 CRC 필드를 수신한다. 작동 동안 통신 컨트롤러들은 각각에 맞는 다항식을 사용하기 위해, 두 CRC 시프트 레지스터 사이에서, 즉 표준 CAN에 따른 시프트 레지스터와 본 발명에 따른 시프트 레지스터 사이에서 다이내믹하게 전환할 수 있다.
물론, 2개 이상의 시프트 레지스터 및 그에 상응하는 2개 이상의 CRC 다항식은 데이터 필드의 길이 또는 원하는 전송 신뢰도에 따라 단계적으로 사용될 수도 있다. 이런 경우, 표준 CAN에 대한 호환성이 유지되어야 하는 한, 그에 상응하는 식별 표시 및 이와 관련된 전환 조건이 조정되어야 한다. 예컨대 도 1b의 예약 비트(r0) 또는 SRR 비트에 의해 제1 전환 조건이 트리거될 수 있으며, 이 전환 조건은 예컨대 도 2의 DLC 1에 따른 더 긴 데이터 필드로의 전환 및 관련 2차 CRC 다항식을 특성화한다. 추가로, 예컨대 확장 형식의 메시지에 대해 도 1b의 예약 비트(r1) 또는 IDE 비트에 의해 제2 전환 조건(UB2)이 트리거될 수도 있을 것이며, 이 전환 조건은 또 다른 세트의 데이터 필드 크기, 예컨대 도 2의 DLC 3로의 전환 및 3차 CRC 다항식을 특성화한다. 또는, 제1 식별 표시(K1)에 따라 메시지 안에 삽입되거나 기록되는 추가의 상응하는 전환 조건들 및 식별 표시들에 의해서도 가용 유효 데이터 필드 크기들과 관련한 변형 가능성이 계속 증대될 수 있다. 그런 경우 가입 데이터 처리 유닛들은 제1 식별 표시의 수신 후 또는 관련 전환 조건의 평가 후 자신의 전송 프로세스를 상응하게 조정할 수 있으며, 이들은 또 다른 제2의 또는 다른 식별 표시들 또는 전환 조건들을 평가하고, 각각 전환 조건들과 데이터 길이 코드의 내용으로부터 검출된 데이터 필드 크기에 맞게 전송 방법을 조정할 수 있다.
그 외에도, 제1 전환 조건(UB1)은, 예컨대 예약 비트(r0) 또는 SRR 비트에 의해 더 긴 데이터 필드의 가능성 및 데이터 길이 코드의 내용의 상응하는 해석으로 전환될 수도 있으며, 제3차 전환 조건(UB3)의 검출 및 그와 동시에 CRC 검사를 위해 평가되는 CRC 다항식의 선택이 데이터 길이 코드의 내용에 기초하여 수행될 수도 있다. 그에 상응하게 제3 전환 조건(UB3)은 2개 이상의 값을 취할 수도 있다. 예컨대 DLC3에 따른 데이터 필드 크기들이 선택될 수 있고, 즉 값 0(원격 프레임의 경우)이 1, ..., 8, 10, 12, 14, 16, 18, 20 및 24바이트를 취할 수도 있으며, 그런 경우 3개의 CRC 다항식이 적절한 시프트 레지스터에 의해 병렬로 계산될 수 있고, 예컨대 8바이트 이하의 데이터 필드의 경우 표준 CRC 다항식이, 16바이트 이하의 데이터 필드의 경우 2차 CRC 다항식이, 그리고 24바이트 이하의 데이터 필드의 경우 3차 CRC 다항식이 계산될 수 있다.
도 3에는 본 발명에 따른 수신 프로세스의 일부 영역이 버스 시스템의 가입자국에서 어떻게 실행되는지가 개략적으로 도시되어 있다. 여기에는 제1 전환 조건(UB1)에 기초하여 통신 컨트롤러의 거동이 조정됨으로써 표준 CAN에 대한 호환성이 달성되는 경우가 도시되어 있다. 도 3에서 소프트웨어로 프로그램을 실행하는 경우를 기술하는 데 일반적인 표현이 선택되었을지라도, 상기 방법은 하드웨어로 구현하기에도 전적으로 적합하다.
가입자국은 먼저, 버스에서 통신 트래픽이 없는 동안 버스를 스캔하는 상태에 놓인다. 즉, 질의(302)는 버스에서의 우성 비트를 대기한다. 이 비트는 새로운 메시지의 시작을 특성화한다.
새로운 메시지의 시작이 확인되는 즉시, 블록(304)에서 병렬로 계산될 2개 이상의 체크섬의 계산이 시작된다. 제1 체크섬은 표준 CAN의 CRC 계산에 상응하는 반면, 제2 체크섬은 새로운 방법에 따라 계산된다. 제2 체크섬의 계산 시 도시된 실시예에서 스터프 비트가 관여되는 반면, 이는 표준 CAN에 따른 계산 시의 경우와 다르다. 또는, 표준 CAN과 유사하게 스터프 비트들은 제2 체크섬의 계산에도 고려되지 않을 수도 있다.
이어서, 단계(306)부터 중재 필드로 시작하여 메시지의, SOF 뒤에 오는 비트들이 수신된다. 복수의 가입자가 메시지를 전송하고자 하는 경우, 표준 CAN의 일반적 방법에 따라 버스 가입자들 간에 어느 버스 가입자가 버스에 액세스할 지가 합의된다. 도시된 블록(306)은 제1 식별 표시(K1)가 수신되었거나 제1 전환 조건(UB1)이 확인될 때까지 모든 비트의 수신을 특성화한다. 설명된 예시들에서 제1 전환 조건(UB1)은 중재 필드, 예컨대 SRR 비트 또는 IDE 비트로부터 또는 제어 필드, 예컨대 제어 필드의 예약 비트로부터 검출된다(도 1 참조). 이어서, 검출된 제1 전환 조건(UB1)에 기초하여 메시지의 특정 비트에서부터 상이하게 처리가 이루어질 때까지, 블록(308)에서 메시지의 다른 비트들이 더 수신될 수 있다. 이러한 상이한 방법들로의 분할은, 하기에 예시적으로 설명된 것처럼, 상응하는 질의 또는 분기(310)에 의해 보장된다.
분기(310)에서 예컨대 제어 필드의 2개의 제1 비트의 수신 후, 제1 전환 조건(UB1)에 따라 표준 CAN에 따른 통신이 실시된다는 정보가 존재하면("1"로 표시된 도 3의 경로), 단계(312)에서 제어 필드의 추가 비트들이 판독입력된다. 이들 비트로부터 표준 CAN에 따라 데이터 길이 코드가 평가된 다음, 단계(316)에서 관련 데이터 양, 최대 8바이트가 데이터 필드에 상응하게 수신된다. 그 후 단계(320)에서 15비트를 포함하는 CRC 필드가 수신된다. 분기(324)에서 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하면, 블록(328)에서 우성 확인응답 비트가 전송된다. 이런 경우, 통신이 표준 CAN에 따라 이루어지기 때문에 표준에 따른 CRC 체크섬들이 비교된다. 일치가 확인되지 않으면, (블록 330) 확인응답 비트가 열성으로 전송된다. 이어서 ACK 구분자와 EOF 비트가 후속한다(도 1b 참조, 도 3에는 도시되지 않음).
그에 반해 분기(310)에서, 예컨대 제어 필드의 2개의 제1 비트의 수신 후, 제1 전환 조건(UB1)에 따라 본 발명에 따라 수정된 통신 방법이 적용될 수 있다는 정보가 존재하면("2"로 표시된 도 3의 경로), 블록(314)에서 제어 필드의 추가 비트들이 판독입력된다. 이 결과로부터 데이터 길이 코드가, 일부 예들이 표의 형태로 도 2에 설명된 새로운 해석에 따라 검출된다. 블록(318)에서 상응하는 양의 데이터가, 즉 도 2의 표에서 DLC1의 예의 경우 15바이트까지, DLC2의 예의 경우 16바이트까지, DLC3의 예의 경우 24바이트까지, 그리고 DLC4의 예의경우 30바이트까지 수신된다. 블록(322)에서 본 발명에 따라 상이한, 특히 더 긴 CRC 필드가 수신된다. 분기(324)에서, 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하고, 이때 그 비교가 본 발명에 따라 상이한 CRC 체크섬들에 기반하는 경우, 블록(328)에서 우성 ACK 비트가 전송된다. 그렇지 않으면, (블록 330) ACK 비트는 열성으로 전송된다. 이어서, 단계(332 또는 334)에서 ACK 구분자와 EOF 비트가 후속한다. 이것으로 하나의 메시지를 위한 수신 프로세스가 종료한다.
도 3에는 사용될 CRC를 결정하는 제3 전환 조건(UB3)이 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련된 제1 전환 조건(UB1)과 일치하는 경우가 도시되어 있다. 즉, CRC 체크섬의 수신(320 또는 322) 전에, 어느 CRC가 제3 전환 조건(UB3)에 따라 수신될 수 있고 분기(324)를 위해 평가될 수 있는지 한번 더 질의된다. 도 3의 흐름도를 간단히 수정하면 이런 추가 질의는 도 4에 도시된 것처럼 실행 안에 수용될 수 있다.
그와 같이 수정된, 도 4에 따른 수신 프로세스의 경우, 데이터 길이 코드 정보에 따라 예상되는 수의 데이터 필드의 데이터 바이트를 수신한 후, 블록(316 또는 318)에서 질의 또는 분기(410)에서 제3 전환 조건(UB3)이 어떤 값을 가지는지 검출된다. 이런 정보는 앞서 설명한 것처럼 예컨대 상응하는 제3 식별 표시로부터 또는 데이터 길이 코드의 내용으로부터 검출될 수 있다. 도시된 예에서 제3 전환 조건(UB3), 즉 A, B 및 C에 대해 3가지 상이한 값이 존재한다. 전환 조건(UB3)의 값에 기초하여, 블록들(420, 422 및 424)에서 다른 수의 CRC 필드의 비트들이, 예컨대 값(A)에 대해 15비트가, 값(B)에 대해 17비트가, 그리고 값(C)에 대해 19비트가 판독입력된다. 이어서, 도 3과 유사하게 분기(324)에서, 송신기에 의해 전송되고 수신기에 의해 직접 검출되는 CRC 체크섬들이 일치하는지 그리고 이에 기초하여 계속 처리되는지 여부가 검사된다.
도 5에는 본 발명에 따른 전송 방법의 또 다른 실시예들에 대해 한번 더 메시지의 구조가 2개의 가능한 변형예, 즉 표준 형식과 확장 형식으로 도시되어 있다. 상기 두 변형예에 대해 도 5에는, 여기서 고속 CAN 중재와 고속 CAN 데이터로 표시된 2개의 상태 간 전환 영역들이 기입되어 있다. 본 실시예에서는 상기 두 상태들 간에 전환이 이루어지면, 메시지의 일부에 대한, 특히 데이터 필드와 CRC 필드에 대한 중재의 종료 후, 비트 길이들이 단축되어 개별 비트들이 더 빠르게 버스에 의해 전송된다. 그러므로 메시지 전송 시간이 표준에 따른 방법에 비해 단축될 수 있다. 시간에 따른 비트 길이의 관련 변경은 예컨대 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위의 세팅을 위한 2개 이상의 스케일링 계수의 사용을 통해 구현될 수 있다. 비트 길이의 전환 및 그에 따른 스케일링 계수의 변경은 도 5에서 마찬가지로 예시로서 도시되어 있다.
고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환은 제4의 전환 조건(UB4)에 기초하여 이루어질 수 있으며, 이 전환 조건은 메시지의 제4 식별 부호(K4)에 상응하고, 이는 데이터 전송의 가입자들에게 단축된 비트 길이가 사용된다는 사실을 시그널링한다. 여기에 도시된 실시예에서 상기 식별 부호(K4)의 선택된 위치는 데이터 길이 코드 전에 전송되는 "예약 비트"(r0)이다. 즉, 상기 위치는, 제1 전환 조건(UB1)에 상응하며 더 긴 데이터 필드 및 데이터 길이 코드의 변경된 해석의 사용 가능성을 특성화하는 제1 식별 표시(K1)의 가능한 한 위치에 상응하고, 변경된 CRC 계산에 해당하는 제3 식별 부호(K3)에도 상응한다.
단축된 비트 길이를 갖는 본 발명에 따른 메시지를 식별하기 위한 다른 가능성이 도 6에 도시되어 있다. 여기에서 잠재적으로 더 긴 데이터 필드(관련: 제1 식별 부호(K1)) 및 변경된 CRC 계산(관련: 제3 식별 부호(K3))을 포함하는 메시지가 열성 EDL 비트에 의해 식별되고, 이것은 표준 CAN 메시지에서 우성으로 전송되는 비트의 자리에 나타나 이 비트를 대체하거나 뒤쪽으로 한 위치만큼 이동시킨다. 표준 주소 지정을 위해 이 EDL 비트는 제어 필드 내 제2 위치에 나타나 거기에 있던, 항상 우성인 r0 비트를 한 위치만큼 이동시킨다. 확장 주소 지정을 위해 이 EDL 비트는 도시된 예에서 제어 필드의 제1 위치에 나타나 거기에 있던, 표준 CAN에서 항상 우성으로 전송되는 예약된 r1 비트를 대체한다.
데이터 길이 코드의 내용과 데이터 필드의 크기 사이에 복수의 상이한 할당이 사용될 수 있는 한, EDL 비트 다음에 오는 제어 필드 내 비트 위치들에서 또 다른 식별 부호들도 본 발명에 따른 메시지 안에 수용될 수 있으며, 이들은 이어서 데이터 필드의 크기들에 대한 데이터 길이 코드의 값들의 각각의 할당을 선택하기 위해 평가된다.
단축된 비트 길이의 사용을 알리는 제4 식별 표시(K4)는, 추가의 열성 BRS(bit rate switch) 비트가 EDL 비트에 의해 식별되는 본 발명에 따른 메시지의 제어 필드 안에 삽입됨으로써 구현된다. 여기에 도시된 실시예에서 BRS 비트의 위치는 제어 필드 안에서 제4 위치(표준 주소 지정) 또는 제3 위치(확장 주소 지정) 이다.
상기 메시지들은 "CAN FD 고속"이라는 명칭을 지닌다. 메시지들의 가능한 2가지 주소 지정의 예, 즉 표준 형식과 확장 형식에 대해 도 6에, 고속 CAN 중재와 고속 CAN 데이터로 표시된 2가지 상태들 간 전환 영역들이 표시되어 있다. 상기 두 상태들 간에 전환이 이루어지면, 이미 설명한 것처럼 메시지의 상응하는 부분에 대해 비트 길이가 단축되고, 그 결과 개별 비트가 더 빠르게 버스에 의해 전송된다. 그럼으로써 표준에 따른 방법에 비해 메시지 전송 시간이 단축될 수 있다. 고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환은, 데이터 전송의 가입자들에게 단축된 비트 길이가 사용되는 점을 시그널링하는 제4 식별 부호(BRS)에 따라, 제1 또는 제3 식별 부호(EDL)를 가진 메시지들에서 이루어진다.
도시된 것처럼, 제1 식별 부호(EDL) 다음에 제2 식별 부호(BRS)가 오는 경우, 본 발명에 따른 전송 방법으로 메시지가 전송되고, 이 메시지의 비트 길이는 분명히 단축되며, 메시지의 데이터 필드 크기는 8바이트 이상의 값으로 확장될 수 있으며, 메시지의 CRC는 더 큰 데이터 필드에 맞게 조정된다. 그럼으로써 전송 신뢰성이 향상되는 동시에 버스 시스템에 의한 전송 용량이 현저하게 증가할 수 있다.
더 빠른 전송은 도시된 예에서 관련 식별 부호의 전송 직후 시작되고, 재전환을 위해 확정된 비트의 도달 직후 종료되거나, 에러 프레임의 시작 이유가 검출된 경우에 종료된다.
도 7에는 도 3에 비해 수정된 수신 프로세스가 도시되어 있으며, 여기서는 추가로 제2 식별 부호(BRS)에 기초하여 고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환이 이루어진다.
만약 분기(310)에서, 예컨대 열성 비트(EDL)로서 제어 필드의 제2 비트의 수신 후, 본 발명에 따라 수정된 통신 방법이 사용될 수 있다는 정보가 존재하면, 블록(408)에서 제어 필드의 다음 비트들이 판독입력된다. 만약 제2 식별에 이용되는 비트, 예컨대 본 발명에 따라 확장되는 제어 필드의 제4 비트(BRS)가 제공된 값과 함께, 예컨대 열성으로 수신되면, 예컨대 상기 비트의 샘플 포인트에서 고속 CAN 데이터 상태가 취해지며, 즉 단축된 비트 길이로 전환된다(경로 "C"). 관련 비트가 역의 값을 가지면, 즉 본 실시예에서 우성이면, 비트 길이의 단축이 실시되지 않는다(경로 "B"). 블록들(412 또는 414)에서 데이터 길이 코드를 포함해서 제어 필드의 남은 비트의 수신 및 데이터 필드의 수신이 데이터 길이 코드의 크기 정보에 따라 실시된다. 블록(412)에서 정상적인 비트 길이로 수신이 이루어지고, 블록(414)에서는 단축된 비트 길이로 수신이 이루어진다. 블록들(416 또는 418)에서 본 발명에 따라 상이한, 특히 더 긴 CRC 필드가 판독입력된다. CRC 필드의 마지막 비트, CRC 구분자에서 블록(418)에서 다시 보통의 비트율을 갖는 고속 CAN 중재 상태로의 전환이 이루어진다. 이어서, 분기(324)에서 도 3과 유사하게, 송신기에 의해 전송되어 수신기에 의해 직접 검출되는 CRC 체크섬들이 일치하는지 여부가 검사되고, 그 결과에 따라 이미 도 3에 도시된 것처럼 계속 진행된다.
데이터 전송 속도의 달성과 관련하여 데이터 필드의 크기가 변경된, DLC3으로 표시된 방법 실시예와 결합하여 도 5에 도시된 실시예의 이용을 하기의 계산이 보여준다: 24바이트의 데이터 필드의 길이, 11비트 주소 지정을 갖는 표준 형식의 데이터 프레임 및 500kbit/s의 보 레이트에서 시작한다. 또한, 스케일링 계수가 "예약 비트"(r0) 후 계수 4만큼 커진다고 가정된다. 즉, 이 경우 비트 길이는 "예약 비트"(r0) 후 2 마이크로초에서 0.5 마이크로초로 단축될 것이다. 이 예에서 있을 수 있는 스터프 비트를 무시할 경우, 데이터 프레임마다 보통의 비트 길이를 갖는 27 비트(SOF, 식별자, RTR, IDE, r0, ACK 필드, EOF, 중단) 및 단축된 비트 길이를 갖는 212 비트(DLC, 데이터, CRC, CRC 구분자)가 전송되고, 여기서는 15비트 CRC에서 시작되었지만, 본 발명에 따라 더 긴 CRC로 대체될 수도 있다.
주어진 경계 조건들 하에서 160 마이크로초동안 293비트의 효과적인 전송 출력이 나오며, 이는 버스 트래픽 부하가 동일하다는 가정에서 수정되지 않은 표준 CAN 전송에 비해 계수 3.7만큼 증가한 데이터 전송 속도에 상응한다. 추가로 프로토콜 오버헤드에 대한 사용자 데이터(데이터 필드)의 비율이 유리한 방식으로 이동한다.
이 방법은 차량의 정상 작동 모드에서, 적절한 데이터 버스에 의해 연결되어 있는 차량의 2개 이상의 제어 장치 사이에서 데이터를 전송하는데 적합하다. 또는, 차량의 제조 또는 유지 관리 시 프로그래밍의 목적으로 적절한 데이터 버스와 연결된 프로그래밍 유닛과, 상기 데이터 버스와 연결되어 있는 차량의 하나 이상의 제어 장치 사이의 데이터 전송을 위해서도 똑같이 바람직하게 이용될 수 있다. 또한, 산업 자동화 시스템에서 예컨대 버스에 의해 서로 연결된, 산업 생산 흐름의 진행을 제어하는 분산 제어 유닛들 간에 제어 정보를 전송하기 위해 상기 방법을 이용할 수도 있다. 이와 같은 환경에서는 매우 긴 버스 라인들도 발생할 수 있고, 예컨대 16, 32 또는 64 마이크로초동안 상대적으로 긴 비트 길이로 중재 단계를 위한 버스 시스템을 작동함으로써 버스 신호들이 필요에 따라 중재 과정 동안 전체 버스 시스템으로 전파될 수 있는 점이 특히 중요할 수 있다. 이어서, 평균 전송 속도가 너무 느려지지 못하도록, 전술한 것처럼 메시지의 일부에 대해 더 짧은 비트 길이로 전환될 수 있다.
종합해보면 상기 방법은, 표준 CAN 컨트롤러를 본 발명에 따라 작동할 수 있도록 하기 위해 최소한으로만 변경하면 되는 점을 특징으로 하는 전송 방법을 나타낸다. 표준 CAN 컨트롤러로서 작동할 수도 있는 본 발명에 따른 통신 컨트롤러는 종래 표준 CAN 컨트롤러보다 약간 더 클 뿐이다. 관련 응용 프로그램은 변경될 필요가 없으며, 이러한 점에서 이미 데이터 전송 속도에서의 이점이 획득된다. 데이터 필드 및 관련 DLC 및 CRC의 확장된 크기의 이용에 의해 데이터 전송의 속도가 더욱 증가할 수 있고, 응용 소프트웨어의 조정이 최소화된다. CAN 적합성 테스트(ISO 16845)의 추가 부분들이 수행될 수 있다. 본 발명에 따른 전송 방법이 TTCAN(ISO 11898-4)의 보완책들과 결합될 수도 있다.
본 발명의 전술한 설명에서 ISO 표준을 인용했던 부분에서, 각각 관련 ISO 표준의, 출원 시점에 유효한 버전이 종래 기술의 근거가 된다.

Claims (32)

  1. 버스 시스템 내의 버스를 통해 메시지들을 교환하는 둘 이상의 가입 데이터 처리 유닛들을 포함하는 버스 시스템에서의 직렬 데이터 전송 방법이며, 상기 메시지들의 각각은 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드, 및 EOF 시퀀스를 포함하는 논리 구조를 가지고, 이때 제어 필드는 데이터 필드의 길이에 관한 정보를 담은 데이터 길이 코드를 포함하는, 직렬 데이터 전송 방법에 있어서,
    전송된 메시지 내에서 데이터 길이 코드의 비트들의 값들을, i) 제1 전환 조건이 존재하면 데이터 필드의 비트들의 수를 확인하기 위해 CAN 표준 ISO 11898-1과 상이하게 해석하고, ii) 제1 전환 조건이 존재하지 않으면 데이터 필드의 비트들의 수를 확인하기 위해 CAN 표준 ISO 11898-1에 따라 해석하며,
    제1 전환 조건의 존재 여부는 전송된 메시지의 논리 구조의 일부에 포함된 적어도 하나의 전환 비트에 기초하여 결정되되, 상기 일부는 상기 데이터 길이 코드를 포함하지 않는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  2. 제1항에 있어서, 제1 전환 조건의 값에 기초하여 데이터 길이 코드의 비트들의 가능한 값 조합들의 각각이 데이터 필드의 허용 크기들 중 하나에 할당되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  3. 제1항 또는 제2항에 있어서, 메시지들의 데이터 필드는 CAN 표준 ISO 11898-1과 상이하게 8바이트 이상을 포함할 수 있으며, 데이터 필드의 크기를 확인하기 위해 데이터 길이 코드의 비트들의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석되는, 메시지들이 중재 필드 또는 제어 필드 중 적어도 하나 내의 상기 적어도 하나의 전환 비트의 제1 식별 표시(K1)에 의해 CAN 표준 메시지와 구별될 수 있는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  4. 제3항에 있어서, 제1 식별 표시는 가입 데이터 처리 유닛들에서 제1 전환 조건을 검출하기 위해 평가되고, 제1 전환 조건에 기초하여 수신 프로세스가 데이터 필드의 크기에 맞게 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  5. 제3항에 있어서, 제1 식별 표시(K1)는 제1 식별 표시 비트(EDL)에 의해 이루어지고, 제1 식별 표시 비트의 위치는 식별자의 마지막 비트와 데이터 길이 코드의 첫 번째 비트 사이에 놓이며, 상기 제1 식별 표시 비트의 위치에서 CAN 표준 ISO 11898-1에 따른 메시지 안에 결정된 값을 갖는 비트가 위치하는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  6. 제5항에 있어서, 제어 필드 내에서 제2 식별 표시(K2)에 대해 제2 식별 표시 비트가 제1 식별 표시 비트(EDL) 다음에 오거나, 추가 식별 표시들에 대해 추가 식별 표시 비트들이 제1 식별 표시 비트(EDL) 다음에 오는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  7. 제1항 또는 제2항에 있어서, 제1 전환 조건이 존재하면 데이터 필드는 16가지의 상이한 크기를 가질 수 있으며, 데이터 길이 코드의 비트들의 16가지 값 조합들이 데이터 필드의 상기 16가지 상이한 크기들에 할당되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  8. 제1항 또는 제2항에 있어서, 제1 전환 조건이 존재하면 데이터 필드의 최대 가능 크기가 16바이트보다 더 큰 것을 특징으로 하는, 직렬 데이터 전송 방법.
  9. 제1항 또는 제2항에 있어서, 1과 8바이트 사이의 데이터 필드의 크기들에 대한 데이터 길이 코드의 0b0001과 0b1000 사이 값들은 CAN 표준 ISO 11898-1에 따라 이용되고, 제1 전환 조건이 존재하면 데이터 필드의 또 다른 허용 크기들에 대한 데이터 길이 코드의 잔여 값들이 최대 가능 크기까지 이용되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  10. 제1항 또는 제2항에 있어서, 제2 전환 조건(UB2) 또는 복수의 추가 전환 조건들이 존재하면 데이터 길이 코드의 비트들이 CAN 표준 ISO 11898-1로부터의 적어도 하나의 추가 전환 해석에 따라 해석되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  11. 제10항에 있어서, 제2 전환 조건 또는 복수의 추가 전환 조건이 존재하면 데이터 길이 코드의 비트들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 상이하게 해석되고, 제2 전환 조건이 존재하지 않거나 또는 추가 전환 조건이 존재하지 않으면 할당과 상이하게 해석되어야 하는 메시지가 중재 필드 또는 제어 필드 중 적어도 하나에서의 제2 식별 표시(K2) 또는 추가 식별 표시들에 의해 검출될 수 있는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  12. 제11항에 있어서, 제2 식별 표시 또는 추가 식별 표시들은 가입 데이터 처리 유닛들 안에서 제2 전환 조건 또는 추가 전환 조건을 검출하기 위해 평가되고, 이 평가 결과에 따라 수신 프로세스가 데이터 필드의 크기에 맞게 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  13. 제11항에 있어서, 제2 식별 표시는, 중재 필드가 확장 형식으로 CAN 메시지의 형식을 가지는 메시지에서만 나타나거나, 확장 형식의 식별 표시와 일치하는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  14. 제1항 또는 제2항에 있어서, 제3 전환 조건(UB3)의 값에 기초하여 메시지들의 CRC 필드가 2개 이상의 상이한 수의 비트들을 가질 수 있고, CRC 필드에서 비트들의 유효 수들 중 하나 이상은 CAN 표준 ISO 11898-1과 상이한 수의 비트이고, 상이한 수의 비트들을 가진 CRC 필드의 내용을 결정하기 위해 CAN 표준 ISO 11898-1과 상이한 생성 다항식이 이용되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  15. 제14항에 있어서, 제3 전환 조건(UB3)의 값에 기초하여 메시지들의 CRC 필드가 2개 이상의 상이한 수의 비트를 포함할 수 있는 메시지들이 중재 필드 또는 제어 필드 중 적어도 하나에서의 제3 전환 조건(K3)에 의해 검출될 수 있으며, 제3 식별 표시는 제1 식별 표시와 일치할 수 있는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  16. 제15항에 있어서, 제3 전환 조건(UB3)의 값이 가입 데이터 처리 유닛들 안에서 제3 식별 표시(K3)에 기초하여 검출되거나, 제1 전환 조건과 일치하거나, 제1 전환 조건 또는 데이터 길이 코드의 내용 중 적어도 하나로부터 도출되며, 제3 전환 조건의 값에 기초하여 수신 프로세스가 CRC 필드의 크기에 맞게 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  17. 제14항에 있어서, 메시지의 시작 시 서로 다른 생성 다항식을 이용한 2개 이상의 CRC 체크섬의 계산이 동시에 시작되고, 제3 전환 조건의 값에 기초하여 동시에 시작된 CRC 계산들 중 하나로부터 어느 결과가 사용되는지가 결정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  18. 제14항에 있어서, 제3 전환 조건이 존재하면 하나 이상의 실시된 CRC 계산에서, CRC 필드 앞에 있는 메시지 섹션 내에서 가능성 있는 스터프 비트도 고려되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  19. 제1항 또는 제2항에 있어서, 제4 전환 조건(UB4)의 값에 기초하여 하나의 메시지 내 시간에 따른 비트 길이가 2개 이상의 상이한 값을 취할 수 있으며, 상기 메시지 내 하나 이상의 제1 설정 영역에 대해 시간에 따른 비트 길이는 1마이크로초의 설정 최소값보다 크거나 같으며, 상기 메시지 내 하나 이상의 제2 설정 영역에서 시간에 따른 비트 길이는 제1 영역에 비해 감소한 값을 갖는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  20. 제19항에 있어서, 제4 전환 조건의 값에 기초하여 하나의 메시지 내에서 시간에 따른 비트 길이가 2개 이상의 상이한 값을 취할 수 있는 메시지는 중재 필드 또는 제어 필드 중 적어도 하나에서의 제4 식별 표시에 의해 검출될 수 있으며, 제4 식별 표시는 제1 식별 표시 또는 제3 식별 표시 중 적어도 하나와 일치할 수 있는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  21. 제20항에 있어서, 제4 식별 표시(K4)는, 제1 식별 표시 비트(EDL)와 데이터 길이 코드의 첫 번째 비트 사이에 위치하는 추가 식별 표시 비트(BRS)에 의해 이루어지는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  22. 제19항에 있어서, 하나의 메시지 내 시간에 따른 비트 길이의 서로 다른 2개 이상의 값은, 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위를 세팅하기 위한 2개 이상의 상이한 스케일링 계수를 사용함으로써 실현되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  23. 제19항에 있어서, 제4 전환 조건의 값은 가입 데이터 처리 유닛들 안에서 제4 식별 표시에 기초하여 검출되거나, 제1 전환 조건 또는 제3 전환 조건 중 적어도 하나와 일치하거나, 제1 전환 조건 또는 제3 전환 조건 중 적어도 하나로부터 도출되며, 제4 전환 조건의 값에 기초하여 수신 프로세스가 하나의 메시지 내 비트 길이의 다른 값들에 맞게 조정되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  24. 제1항 또는 제2항에 있어서, 메시지는 TTCAN 표준 ISO 11898-4에 규정된 방법에 따라 시간 제어 방식으로 전송되는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  25. 제1항에 있어서, 차량 또는 산업 시설의 정상 작동 시, 데이터 길이 코드의 비트들의 값들이 해석되고, 둘 이상의 가입 데이터 처리 유닛들은 데이터 버스를 통해 연결되는 차량 또는 산업 시설의 둘 이상의 제어 유닛들을 포함하는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  26. 제1항에 있어서, 차량 또는 산업 시설의 제조 또는 유지 관리 시, 데이터 길이 코드의 비트들의 값들이 해석되고, 둘 이상의 가입 데이터 처리 유닛들은 프로그래밍 목적의 데이터 버스에 연결되는 프로그래밍 유닛과 상기 데이터 버스에 연결되는 차량 또는 산업 시설의 적어도 하나의 제어 유닛을 포함하는 것을 특징으로 하는, 직렬 데이터 전송 방법.
  27. 제1항에 있어서, 제1 전환 조건이 존재하면, 데이터 필드의 비트들의 수를 확인하기 위해, 전환 해석은 CAN 표준 ISO 11898-1과 상이한 것을 특징으로 하는, 직렬 데이터 전송 방법.
  28. 버스 시스템 내의 버스를 통해 메시지들을 교환하는 둘 이상의 가입 데이터 처리 유닛을 포함하는 버스 시스템에서의 직렬 데이터 전송을 위한 장치이며, 상기 메시지들의 각각은 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드, 및 EOF 시퀀스를 포함하는 논리 구조를 가지고, 이때 제어 필드는 데이터 필드의 길이에 관한 정보를 담은 데이터 길이 코드를 포함하는, 직렬 데이터 전송 장치에 있어서,
    i) 제1 전환 조건이 존재하면 데이터 필드의 비트들의 수를 확인하기 위해 데이터 길이 코드의 비트들의 값들이 상기 둘 이상의 가입 데이터 처리 유닛들 중 하나에 의해 CAN 표준 ISO 11898-1과 상이하게 해석되고, ii) 제1 전환 조건이 존재하지 않으면 데이터 필드의 비트들의 수를 확인하기 위해 데이터 길이 코드의 비트들의 값들이 CAN 표준 ISO 11898-1에 따라 해석되고,
    제1 전환 조건의 존재 여부는 전송된 메시지의 논리 구조의 일부에 포함된 적어도 하나의 전환 비트에 기초하여 결정되되, 상기 일부는 데이터 길이 코드를 포함하지 않는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  29. 제28항에 있어서, 직렬 데이터 전송 장치는, CAN 표준 ISO 11898-1와 상이하게 또는 CAN 표준 ISO 11898-1에 따라 데이터 길이 코드의 비트들의 값들을 해석함으로써, 상기 전송된 메시지를 포함하는 메시지들을 교환하도록 구성되는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  30. 제28항에 있어서, 전송된 메시지의 시작 시, 동시에, 서로 다른 생성 다항식들을 이용한 2개 이상의 CRC 체크섬들을 계산하는 복수의 시프트 레지스터들을 더 포함하는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  31. 제30항에 있어서, 상기 서로 다른 생성 다항식들은 서로 다른 길이를 갖는 것을 특징으로 하는, 직렬 데이터 전송 장치.
  32. 버스 시스템의 버스를 통해, 상기 버스에 의해 결합된 두 개의 가입 데이터 처리 유닛들 사이에서 직렬적으로 데이터를 전송하는 방법에 있어서,
    상기 두 개의 가입 데이터 처리 유닛들 중 첫 번째 것은,
    데이터 필드에서 메시지에 포함될 데이터의 길이를 확인하고,
    제1 전환 조건에 기초하여, (a) 데이터 길이 코드와 데이터 필드에 포함될 데이터의 확인된 길이의 상관관계를, i) 제1 전환 조건이 존재하면 CAN 표준 ISO 11898-1과 상이하게, ii) 제1 전환 조건에 존재하지 않으면 CAN 표준 ISO 11898-1에 따라 설정하고, (b) 데이터의 확인된 길이에 기초한 길이의 다항식을 설정하되, 상기 다항식은 체크섬을 계산하기 위한 것이고, 그리고
    (a) 데이터 필드에 포함된 데이터의 확인된 길이와 설정된 상관관계를 갖는 데이터 길이 코드, 및 (b) 체크섬을 계산하기 위한 다항식을 포함하는 CRC 필드를 포함하는 메시지를 버스를 통해 상기 두 개의 가입 데이터 처리 유닛들 중 두 번째 것으로 전송하고,
    상기 메시지는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드, 및 EOF 시퀀스를 포함하는 논리 구조를 가지고, 이때 제어 필드는 데이터 필드의 길이에 관한 정보를 담은 데이터 길이 코드를 포함하며,
    제1 전환 조건의 존재 여부는 상기 전송된 메시지의 상기 논리 구조의 일부에 포함된 적어도 하나의 전환 비트에 기초하여 결정되되, 상기 일부는 상기 데이터 길이 코드를 포함하지 않는 직렬적으로 데이터를 전송하는 방법.
KR1020137029299A 2011-04-06 2012-03-29 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치 KR101921357B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE102011006884.8 2011-04-06
DE201110006884 DE102011006884A1 (de) 2011-04-06 2011-04-06 Verfahren und Vorrichtung zur Erhöhung der Datenübertragungskapazität in einem seriellen Bussystem
DE102011078266.4 2011-06-29
DE102011078266A DE102011078266A1 (de) 2011-06-29 2011-06-29 Verfahren und Vorrichtung zur seriellen Datenübertragung mit flexibler Nachrichtengröße und variabler Bitlänge
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/055588 WO2012136547A1 (de) 2011-04-06 2012-03-29 Verfahren und vorrichtung zur erhöhung der datenübertragungskapazität in einem seriellen bussystem

Publications (2)

Publication Number Publication Date
KR20140029432A KR20140029432A (ko) 2014-03-10
KR101921357B1 true KR101921357B1 (ko) 2018-11-22

Family

ID=45937326

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137029300A KR101932787B1 (ko) 2011-04-06 2012-03-29 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치
KR1020137029299A KR101921357B1 (ko) 2011-04-06 2012-03-29 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020137029300A KR101932787B1 (ko) 2011-04-06 2012-03-29 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치

Country Status (8)

Country Link
US (2) US9594626B2 (ko)
EP (2) EP2695076B1 (ko)
JP (2) JP5770924B2 (ko)
KR (2) KR101932787B1 (ko)
CN (2) CN103562900B (ko)
ES (2) ES2538234T3 (ko)
RU (2) RU2620989C2 (ko)
WO (2) WO2012136550A1 (ko)

Families Citing this family (21)

* 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
DE102012224024A1 (de) 2012-12-20 2014-06-26 Robert Bosch Gmbh Datenübertragung unter Nutzung eines Protokollausnahmezustands
DE102012224031A1 (de) * 2012-12-20 2014-06-26 Robert Bosch Gmbh Datenübertragungsprotokoll mit Protokollausnahmezustand
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
DE102014205120A1 (de) 2014-03-19 2015-09-24 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und Verfahren zur Erhöhung der Übertragungskapazität in einem Bussystem
EP2940935B1 (en) * 2014-04-30 2017-08-02 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
WO2016006150A1 (ja) * 2014-07-10 2016-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット、受信方法及び送信方法
WO2016054245A1 (en) 2014-09-30 2016-04-07 Concio Holdings LLC Confirming data accuracy in a distributed control system
KR101573637B1 (ko) * 2014-11-03 2015-12-01 현대자동차주식회사 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조
JP2016225791A (ja) 2015-05-29 2016-12-28 株式会社デンソー 車載ネットワークシステム
US9694766B2 (en) 2015-06-16 2017-07-04 Ford Global Technologies, Llc Compression algorithms for vehicle-bus-messaging of preview data
WO2017038005A1 (ja) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正検知方法、不正検知電子制御ユニット及び不正検知システム
EP3402129A1 (en) * 2017-05-09 2018-11-14 Concio Holdings LLC Bit encoding for a bus communication system
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
US11128400B2 (en) * 2017-12-01 2021-09-21 Nippon Telegraph And Telephone Corporation Bit assignment estimating device, bit assignment estimating method, and program
US10439840B1 (en) * 2018-07-27 2019-10-08 Nxp B.V. Method and device for communicating data frames on a multi-master bus
CN111209240B (zh) * 2019-12-23 2021-08-03 深圳优地科技有限公司 数据传输的方法、电子设备及存储介质
US20230060218A1 (en) 2020-02-11 2023-03-02 Ciphersip Systems Ltd. High bandwidth can-derivative communication
KR20220006906A (ko) * 2020-07-09 2022-01-18 주식회사 엘지에너지솔루션 통신 시스템 및 방법
KR20230096737A (ko) * 2021-12-23 2023-06-30 주식회사 엘지에너지솔루션 Modbus 프로토콜을 지원하는 can 통신 장치 및 이의 동작 방법
CN116667971B (zh) * 2023-07-28 2023-10-27 常州星宇车灯股份有限公司 Can数据报文发送校验方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606670B1 (en) 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
KR100609493B1 (ko) 2004-08-19 2006-08-08 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088342A (en) 1997-05-05 2000-07-11 Nokia Mobile Phones Limited Dynamic configuration of radio link protocol in a telecommunications system
US5734826A (en) 1991-03-29 1998-03-31 International Business Machines Corporation Variable cyclic redundancy coding method and apparatus for use in a multistage network
DE4131133B4 (de) 1991-09-19 2005-09-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen
US5267240A (en) * 1992-02-20 1993-11-30 International Business Machines Corporation Frame-group transmission and reception for parallel/serial buses
US5610945A (en) 1993-11-04 1997-03-11 International Business Machines Corporation System for identifying communication sequences transmitted across multiple carriers by examining bit streams for sequences of valid words
DE4408488A1 (de) 1994-03-14 1995-09-21 Bosch Gmbh Robert Verfahren zur zyklischen Übertragung von Daten zwischen mindestens zwei verteilt arbeitenden Steuergeräten
DE69736278T2 (de) 1996-02-22 2007-06-06 Kvaser Consultant Ab Vorrichtung zur Beeinflussung von Nachrichten in einem CAN-System
JPH10340243A (ja) * 1997-06-06 1998-12-22 Hitachi Ltd 入出力データ転送システム
GB2351884B (en) * 1999-04-10 2002-07-31 Peter Strong Data transmission method
DE19951451A1 (de) * 1999-10-25 2001-04-26 Bayerische Motoren Werke Ag Verfahren zum Absichern der Datenübertragung in einem Datenbus
DE60015186T2 (de) * 2000-01-07 2006-02-02 International Business Machines Corp. Verfahren und system für rahmen- und protokollklassifikation
US20070191932A1 (en) * 2000-03-15 2007-08-16 Orbusneich Medical, Inc. Medical device with coating for capturing genetically-altered cells and methods for using same
JP3770053B2 (ja) 2000-05-26 2006-04-26 三菱ふそうトラック・バス株式会社 車両用ネットワークの通信復帰判定方法
KR20030010890A (ko) * 2001-07-27 2003-02-06 주식회사 현대오토넷 캔(can)프로토콜을 이용한 자동차의 네트워크 시스템
US7181668B2 (en) 2002-03-29 2007-02-20 Lucent Technologies Inc. Method and system of decoding an encoded data block
DE10216674A1 (de) 2002-04-15 2003-10-30 Bosch Gmbh Robert Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem
EP1355460B1 (en) * 2002-04-16 2005-10-05 ROBERT BOSCH GmbH Method for monitoring a communication media access schedule of a communication controller of a communication system
JP4004389B2 (ja) 2002-11-27 2007-11-07 富士通株式会社 バッファメモリ管理方法及びシステム
US6975966B2 (en) 2003-01-28 2005-12-13 Fisher-Rosemount Systems, Inc. Integrated diagnostics in a process plant having a process control system and a safety system
DE10311395A1 (de) 2003-03-13 2004-09-23 Robert Bosch Gmbh Kommunikationsvorrichtung mit asynchroner Datenübertragung über eine symmetrische serielle Schnittstelle
DE10318068B4 (de) 2003-04-17 2009-08-27 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten
DE10345359B4 (de) 2003-09-29 2006-11-02 Berghof Labor- Und Automationstechnik Gmbh Serieller Datenbus, Bewegungssystem sowie Verfahren zur ereignisgesteuerten Übertragung von Nachrichten
US7168024B2 (en) 2003-10-03 2007-01-23 Jennic Limited Data processing system and method
DE10360856A1 (de) 2003-12-23 2005-07-28 Airbus Deutschland Gmbh Bussystem für ein Flugzeug
EP1733537A1 (en) 2004-03-10 2006-12-20 Qualcomm, Incorporated High data rate interface apparatus and method
JP4401239B2 (ja) 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 通信メッセージ変換装置、通信方法及び通信システム
DE102004030969A1 (de) * 2004-06-26 2006-01-12 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Bussystems sowie entsprechendes Bussystem
IL163092A (en) 2004-07-19 2010-11-30 Veraz Networks Ltd Processing of packets forwarded in communication networks
US7594226B2 (en) 2004-08-16 2009-09-22 National Instruments Corporation Implementation of packet-based communications in a reconfigurable hardware element
US7599377B2 (en) * 2004-10-15 2009-10-06 Temic Automotive Of North America, Inc. System and method for tunneling standard bus protocol messages through an automotive switch fabric network
KR20060053425A (ko) * 2004-11-15 2006-05-22 엘지전자 주식회사 데이터 스트림내의 픽처 데이터의 기록구간을 지정하고이를 이용하는 방법 및 장치
DE102004055684A1 (de) 2004-11-18 2006-05-24 Innotec Gmbh Verfahren zur Absicherung des Datentransferns in einem sicheren Netzwerk mit CRC`s variabler Länge
DE102004062210B3 (de) 2004-12-23 2006-05-24 Texas Instruments Deutschland Gmbh Dualmodultaktversorgung für CAN-Kommunikationsmodul
CA2896121C (en) 2005-03-18 2016-08-30 Stephen E. Hannah Two-way communication system for tracking locations and statuses of wheeled vehicles
JP4207912B2 (ja) 2005-03-24 2009-01-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2006352706A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd マイクロプロセッサ、ネットワークシステム及び通信方法
CN101208674B (zh) 2005-06-23 2012-07-04 赫优讯自动化系统有限公司 用于开放式自动化系统的总线用户的数据通信的方法和装置
KR101135101B1 (ko) * 2005-10-17 2012-04-16 엘지전자 주식회사 캔에서의 데이터 길이 코드를 이용한 데이터 필드 패딩방법
KR100781266B1 (ko) 2005-10-20 2007-11-30 엘지전자 주식회사 통신 기기 및 처리 방법
US7991351B2 (en) 2007-02-28 2011-08-02 Kuban Paul A Extension of wired controller area networks to wireless personal area networks
CN100471156C (zh) 2007-03-07 2009-03-18 今创集团有限公司 数据总线桥接器及其工作方法
JP5057304B2 (ja) 2007-06-08 2012-10-24 国立大学法人名古屋大学 車載通信システム及び車載通信方法
KR100900882B1 (ko) 2007-06-11 2009-06-04 성균관대학교산학협력단 상호 상이한 복수의 네트워크 프로토콜을 사용하는 차량에적용되는 게이트웨이 디바이스, 네트워크 시스템 및 데이터변환방법
DE102007028766A1 (de) 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten
US8423835B2 (en) 2007-08-16 2013-04-16 Nxp B.V. System and method providing fault detection capability
US8324868B2 (en) 2007-08-24 2012-12-04 Valence Technology, Inc. Power source with temperature sensing
DE102007051657A1 (de) 2007-10-26 2009-04-30 Robert Bosch Gmbh Kommunikationssystem mit einem CAN-Bus und Verfahren zum Betreiben eines solchen Kommunikationssystems
US20090192051A1 (en) 2008-01-28 2009-07-30 Bj Services Company High temperature stabilizer for well treatment fluids and methods of using same
TWI448111B (zh) 2008-03-18 2014-08-01 Icm Inc Automobile detection and control integration device and method thereof
US8351785B2 (en) 2008-04-21 2013-01-08 Futurewei Technologies, Inc. Gigabit passive optical network transmission convergence extension for next generation access
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
JP5308802B2 (ja) * 2008-12-16 2013-10-09 ルネサスエレクトロニクス株式会社 Canノード
KR20100073846A (ko) 2008-12-23 2010-07-01 한국전자통신연구원 Can 프로토콜에서의 데이터프레임 송신방법 및 수신방법
CN101873299B (zh) 2009-04-24 2013-08-14 北京大豪科技股份有限公司 串行总线和通信方法及系统
JP2010258990A (ja) * 2009-04-28 2010-11-11 Autonetworks Technologies Ltd 制御システム及び制御プログラム更新方法
JP2010272971A (ja) 2009-05-19 2010-12-02 Nagoya Univ 制御システム及び制御プログラム書換方法
CN101572641B (zh) * 2009-05-26 2015-02-25 阴晓峰 基于can总线的控制器网络监控系统及监控方法
CN102687123B (zh) 2009-11-10 2015-04-01 飞思卡尔半导体公司 高级通信控制器单元和用于记录协议事件的方法
EP2339790A1 (en) 2009-12-28 2011-06-29 Nxp B.V. Definition of wakeup bus messages for partial networking
JP5255579B2 (ja) * 2010-02-09 2013-08-07 日立オートモティブシステムズ株式会社 車内データ中継装置、車両制御システム
CN101814230A (zh) 2010-04-01 2010-08-25 青岛海信电器股份有限公司 串口数据通信传输方法及装置
DE102011077493A1 (de) * 2010-06-23 2012-04-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenübertragung mit variabler Bitlänge
JP5717240B2 (ja) 2010-08-09 2015-05-13 国立大学法人名古屋大学 通信システム及び通信装置
US8863256B1 (en) 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US9852106B2 (en) 2011-06-29 2017-12-26 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
DE112011105912T5 (de) 2011-12-02 2014-09-18 Autonetworks Technologies, Ltd. Einrichtung zum Erzeugen von Übertragungsnachrichten und fahrzeugeigenes Kommunikationssystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606670B1 (en) 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
KR100609493B1 (ko) 2004-08-19 2006-08-08 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법

Also Published As

Publication number Publication date
EP2695076A1 (de) 2014-02-12
US9513988B2 (en) 2016-12-06
EP2695075B1 (de) 2015-05-13
RU2013149028A (ru) 2015-05-20
RU2620989C2 (ru) 2017-05-30
CN103562900B (zh) 2017-02-15
RU2013149025A (ru) 2015-05-20
EP2695075A1 (de) 2014-02-12
KR101932787B1 (ko) 2019-03-15
JP5770925B2 (ja) 2015-08-26
US20140245102A1 (en) 2014-08-28
EP2695076B1 (de) 2016-07-13
JP2014510498A (ja) 2014-04-24
ES2597975T3 (es) 2017-01-24
US20140129900A1 (en) 2014-05-08
JP2014518599A (ja) 2014-07-31
KR20140029432A (ko) 2014-03-10
WO2012136550A1 (de) 2012-10-11
CN103620574B (zh) 2016-08-31
ES2538234T3 (es) 2015-06-18
JP5770924B2 (ja) 2015-08-26
CN103620574A (zh) 2014-03-05
US9594626B2 (en) 2017-03-14
CN103562900A (zh) 2014-02-05
WO2012136547A1 (de) 2012-10-11
KR20140029433A (ko) 2014-03-10

Similar Documents

Publication Publication Date Title
KR101921357B1 (ko) 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치
KR101876602B1 (ko) 직렬 버스 시스템에서 데이터 전송 보안의 조정 방법 및 장치
KR101936450B1 (ko) 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치
KR102011528B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
KR102007547B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
KR102029978B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right