KR101936450B1 - 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치 - Google Patents

메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치 Download PDF

Info

Publication number
KR101936450B1
KR101936450B1 KR1020137031201A KR20137031201A KR101936450B1 KR 101936450 B1 KR101936450 B1 KR 101936450B1 KR 1020137031201 A KR1020137031201 A KR 1020137031201A KR 20137031201 A KR20137031201 A KR 20137031201A KR 101936450 B1 KR101936450 B1 KR 101936450B1
Authority
KR
South Korea
Prior art keywords
data
field
message
size
bits
Prior art date
Application number
KR1020137031201A
Other languages
English (en)
Other versions
KR20140030214A (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 DE102011017539A external-priority patent/DE102011017539A1/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 KR20140030214A publication Critical patent/KR20140030214A/ko
Application granted granted Critical
Publication of KR101936450B1 publication Critical patent/KR101936450B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/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

Abstract

본 발명은 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법에 관한 것으로서, 데이터 처리 유닛들은 버스에 의해 메시지를 교환하며, 송신되는 메시지들은 CAN 표준 ISO 11898-1에 따른 논리 구조를 가지고 있으며, 이때 이러한 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 시퀀스를 포함하고, 상기 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함한다. 상기 메시지의 데이터 필드는 CAN 표준 ISO 11898-1과 다르게 8바이트를 초과하는 바이트를 포함할 수 있으며, 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석될 수 있다. 데이터 필드와 응용 소프트웨어 사이에서 데이터를 전송하기 위해 하나 이상의 버퍼 메모리가 제공되어 있으므로, 전송된 데이터량은, 데이터 필드의 크기가 사용된 상기 버퍼 메모리의 크기와 다를 때, 데이터 필드와 사용된 버퍼 메모리 사이의 크기 차에 상응하게 적어도 매칭된다.

Description

메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치{METHOD AND DEVICE FOR SERIAL DATA TRANSMISSION WHICH IS ADAPTED TO MEMORY SIZES}
본 발명은 직렬 버스 시스템의 2이상의 가입자 간에 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치에 관한 것이다.
예컨대 패밀리 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 시퀀스를 포함하며, 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함한다.
본 발명에 따른 방법은, 메시지의 데이터 필드가 CAN 표준 ISO 11898-1과 다르게 8바이트를 초과하는 바이트를 포함할 수 있으며, 이 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 4비트의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석되며, 데이터 필드와 응용 소프트웨어 사이에서 데이터를 전송하기 위해 하나 이상의 버퍼 메모리가 제공되어 사용되므로, 전송된 데이터량은, 데이터 필드의 크기가 사용된 상기 버퍼 메모리의 크기와 다를 때, 데이터 필드와 사용된 버퍼 메모리 사이의 크기 차에 상응하게 적어도 매칭되는 것을 특징으로 한다. 그 결과 달성되는 장점으로서, 응용 소프트웨어가 변경 없이 계속 사용될 수 있으며, 데이터 필드의 크기가 표준 CAN에 비해 증대될지라도, 통신 컨트롤러의 크기가 불필요하게 증대될 필요가 없다.
유리하게는, 상기 데이터 필드의 크기가 사용된 버퍼 메모리의 크기, 일반적으로 8바이트보다 크면, 사용된 버퍼 메모리의 크기에 상응하는, 특히 8바이트를 포함하는 데이터량이 사전 설정된 또는 사전 설정 가능한 선택 방법에 따라 버스에 의해 수신된 메시지의 데이터 필드에서 선택되어 버퍼 메모리에 전송된다. 데이터 필드의 크기가 사용된 버퍼 메모리의 크기보다 크면, 버스에 의해 전송하려는 메시지의 데이터 필드 안으로 버퍼 메모리의 내용이 이 메시지의 데이터 필드의 하나 이상의 사전 설정된 또는 사전 설정 가능한 영역 안으로 입력되고, 데이터 필드의 남은 영역(들)은 사전 설정된 또는 사전 설정 가능한 방법에 따라 채워진다. 메시지 길이가 불필요하게 커지지 않도록, 버스에 의해 전송하려는 메시지의 데이터 필드의 채워져야 하는 영역들 안에 비트들이 채워지므로, CAN 표준 ISO 11898-1의 규칙에 따라 이 영역들 안에 스터프 비트가 삽입될 필요가 없다는 점이 유리하다.
데이터 필드의 길이와 데이터 길이 코드의 내용 사이의 할당이 명확하게 세워지기 때문에, 데이터 필드의 표현가능한 크기와 관련한 높은 유연성이 유리하게 달성될 수 있다.
또한, 데이터 필드가 본 발명에 따라 확장되는 경우, 체크섬의 계산을 위해 변경된 다항식을 이용하고 CRC 필드에서 전송하는 것이 가능하다. 이는 더 큰 데이터양의 전송 시에도 에러 검출의 신뢰성이 유지되는 장점을 갖는다. 매우 바람직한 한 실시예에서 메시지의 시작 시 체크섬들의 복수의 계산이 동시에 시작되고, 데이터 길이 코드의 내용에 따라, 상기 계산들 중 하나의 어느 결과가 이용되는지 또는 CRC 필드에서 전송되는지가 결정된다. 그 결과, 메시지가 표준에 따른 방법으로 전송되는지, 아니면 본 발명에 따라 수정된 방법으로 전송되는지에 관한 정보를 이 메시지와 함께 전송할 수 있고, 이때 사용된 방법을 미리 수신기에 알리지 않는다. 올바른 데이터 전송을 검사하기 위한 체크섬은 상기 두 방법 모두에 대해 제공되며, 필요에 따라 평가될 수 있다.
만약 상기 방법과 예컨대 적어도 데이터 필드 및 CRC 필드의 비트를 위해 비트 길이의 전환을 조합하면, 달성되는 그외 장점으로서, 더 많은 양의 데이터가 가속되어 전송되고 버스 시스템의 평균적인 데이터 전송률이 상승한다. 바람직한 특징에서, 이러한 경우 제어 필드 안의 식별 표시 비트를 통한 단축된 비트 길이를 갖는 메시지의 식별 표시가 실행된다. 그러므로 비트 길이의 전환은 CRC 계산의 전환 또는 데이터 필드의 크기와 무관하게 이루어질 수 있으며 버스 시스템의 조건에 유연하게 반응이 이루어질 수 있다.
각각의 경우에 사용되는 전송 방법의 복원 가능성을 위해 하나 또는 복수의 추가적 상태 비트가 제공되는 것이 유리하며, CAN 표준 ISO 11898-1과 다른 데이터 전송 방법과 관련된 정보들이 상기 상태 비트를 통해 응용 소프트웨어에 제공된다. 예컨대 송신 성공의 알림을 위해, 수신 성공의 알림을 위해 또는 최근 발생 오류의 종류의 알림을 위한 상태 비트들도 생각해 볼 수 있다. CAN 표준 ISO 11898-1과 다른 데이터 전송 방법에서 오류 발생 빈도에 따라 유리하게는 CAN 표준 ISO 11898-1에 따른 전송 방법으로 복귀가 이루어질 수 있고 이는 다른 한 상태 비트에 의해 신호화될 수 있다.
메시지 메모리 및/또는 버퍼 메모리 안에 유리하게는 하나 또는 복수의 추가적 메시지 비트가 제공될 수 있으므로, 이 메시지 비트를 통해서는 각 메시지에 사용된 또는 사용될 데이터 전송 방법이 식별된다. 이 경우, 예컨대 이 메시지 안에 제공되어 있는 식별 표시들이 입력될 수 있다.
상기 방법은 차량의 정상 작동 시 적합한 데이터 버스에 의해 연결되어 있는, 차량의 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는 본 발명의 한 실시예를 위해 본 발명에 따라 수정된 메시지의 형식에 관한 도로서, 추가로 메시지 내 설정된 영역들에서 비트 길이가 다르게 사용된다.
도 6은 데이터 필드와 응용 소프트웨어 사이에서 전송되는 데이터량의 본 발명에 따른 매칭에 대한 일례를 보여주는 도이다.
도 7은 본 발명의 다른 한 실시예에 따라 본 발명에 따라 수정된 메시지의 형식을 위한 양 대안들(표준/확장)에 관한 도로서, 데이터 필드 크기 및 비트 길이의 전환을 위해 별도의 비트들이 사용되고 추가의 비트들이 제어 필드 안에 수용된다.
도 8은 버스 시스템의 일 가입자국에서 실행되며, 본 발명의 실시예에 상응하게 매칭되는 수신 처리를 도시한 도면이다.
도 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인 데이터 길이 코드의 값들에 대해 데이터 필드의 관련 크기들이 더 큰 증분으로 커지는 것이다. 이런 경우에 대한 일례는 표에서 DLC3으로서 도시되어 있다. 데이터 필드(K)의 최대 크기는 이와 같은 변형예에서 값 64바이트에 이른다. 물론, 다른 한 선택도 가능하고, 예컨대 각각 4바이트의 증분이 선택될 수도 있다.
본 발명에 따른 통신 컨트롤러가 어떤 방식으로 데이터 길이 코드의 내용들을 해석해야 하는지를 결정할 수 있는 가능성을 보장하기 위해, 버스 시스템의 통신이 표준 CAN에 따라 실행되는지 아니면 본 발명의 방법에 따라 실행되는지의 여부를 상기 통신 컨트롤러가 자동으로 인식하는 것이 바람직하다. 이를 위한 방법 중 하나는, 중재 필드 또는 제어 필드 내 예약 비트가 식별 표시를 위해 이용됨에 따라 이러한 식별 표시로부터 통신 컨트롤러가 제1 전환 조건을 도출할 수 있으며, 이 전환 조건에 따라 전송 방법을 선택하는 것이다. 예컨대 도 1b에서 r0로 표시된, 제어 필드의 제2 비트가 식별 표시에 이용될 수 있다.
결정은 식별자 형식에 기초하여 선택될 수도 있다. 표준 주소 지정과 관련하여, 본 발명에 따른 메시지를 식별할 수 있는 한 방법은, 표준 CAN에서 항상 우성인 r0 비트의 위치에 제어 필드 내로 열성 비트(EDL(Extended Data Length) 비트)를 삽입하는 것이다. 확장 주소 지정을 위해 열성 EDL 비트가 제어 필드 내에서 표준 CAN에서 항상 우성인 r1 비트의 위치에 나타날 수 있다.
또 다른 한 방법은, 표준 CAN에서 항상 열성으로 전송되어야 하지만 메시지를 수신하는 가입자들에 의해 우성으로 수용되기도 하는 SRR 비트를 사용하는 것이다. 제1 전환 조건을 결정하기 위한 비트 조합들도 평가될 수 있다.
또 다른 한 방법은, 본 발명에 따라 수정된 전송 방법을 위해 확장 형식의 사용을 규정하는 것일 수 있다. 확장 형식의 메시지들은 버스 가입자들에 의해 IDE 비트의 값에서 검출되고(비교, 도 1a), 이러한 비트는 동시에 제1 전환 조건을 표현할 수도 있으므로, 확장 메시지에 대하여 항상 수정된 전송 방법이 적용된다. 그 대안으로, 확장 메시지에서 예약 비트(r1)가 식별 표시를 위해 또는 제1 전환 조건의 도출을 위해 이용될 수도 있을 것이다. 또는, 하기에서 계속 설명되듯이, 데이터 필드의 2개 이상의 상이한 크기들 간의 전환을 위한 제2 전환 조건을 도출하기 위해, 또는 데이터 길이 코드의 값들과 데이터 필드 크기들 사이의 할당을 위해 예약 비트가 이용될 수도 있다.
또는 그 대안으로, 이런 목적에 적합한, 표준에 따른 CAN 통신을 위해 설계되지 않은 통신 컨트롤러에서 상기 방법을 사용하는 것도 가능하다. 이런 경우에 예컨대 메시지의 적절한 식별 표시에 기초하여 이미 언급한 제1 전환 조건을 결정하는 것 역시 생략될 수 있다. 이런 경우 통신 컨트롤러는 오히려 전술한 방법들 중 하나에 따라서만 작동하며, 그에 상응하게 그러한 본 발명에 따른 통신 컨트롤러가 사용될 수 있는 버스 시스템에서만 이용될 수 있다. 표준에 따른 메시지에 대해 본 발명에 따른 메시지를 식별 표시하기 위해 사용되는 메시지 내의 비트 또는 비트들은 이러한 경우 마찬가지로 생략될 수 있거나, 데이터 전송 방법과 관련하여 통신의 가입자로부터 무시될 수 있다.
본 발명에 제공된 것처럼, 메시지의 데이터 필드가 확장되면, 충분한 에러 방지 기능이 유지되도록 이용된 순환 중복 검사(CRC) 방법을 조정하는 점이 의미있을 수 있다. 특히, 다른 CRC 다항식, 예컨대 더 고차의 CRC 다항식을 사용하여 본 발명에 따라 수정된 메시지들에 있는 상이한 크기의 CRC 필드를 제공하는 것이 바람직할 수 있다. 이는 도 1b에서, 본 발명에 따른 메시지의 CRC 필드가 도시된 예에서 L비트의 길이를 갖는 것으로 표현되어 있으며, 이때 L은 표준 CAN과 달리 15가 아닐 수 있고, 특히 15보다 클 수 있다.
CRC 체크섬을 계산하기 위해 수정된 방법을 이용하는 점은 제3 전환 조건을 표시하는 식별 표시에 의해 가입자들에게 시그널링될 수 있다. 그러나 이 식별 표시와 제3 전환 조건은 제1 식별 표시 및/또는 전환 조건과도 일치할 수 있다. 위에서 계속 설명한 것처럼, 여기에서도 예컨대 도 1b의 예약 비트(r0)가 식별 표시에 이용될 수 있거나 SRR 비트가 이용될 수 있다. 확장 메시지에서 상기 방법의 사용과 관련하여 IDE 비트 또는 비트(r1)의 사용도 고려된다.
표준 CAN 컨트롤러에서는 전송될 CAN 메시지의 CRC 코드가 궤환 시프트 레지스터에 의해 생성되고, 이의 입력에 메시지의 직렬 전송 비트들이 순차적으로 공급된다. 시프트 레지스터의 폭은 CRC 다항식의 차수에 상응한다. CRC 부호화는 시프트 연산 동안 CRC 다항식과 레지스터 내용의 결합을 통해 이루어진다. CAN 메시지들이 수신되면, 그에 상응하게 직렬로 수신되는 메시지의 비트들이 CRC 시프트 레지스터 안으로 시프트된다. CRC 필드의 종료 시 시프트 레지스터의 모든 비트가 0에 있다면, CRC 테스트는 성공적이다. 전송 중 CRC 코드 생성과 수신 중 CRC 테스트는 모두 하드웨어로 수행되며, 소프트웨어의 개입은 불필요하다. 즉, CRC 부호화의 수정은 응용 소프트웨어에 아무런 영향을 미치지 않는다.
한 가능한 실시예에서 통신 컨트롤러는, 표준 CAN에 대한 호환성을 갖는 반면, 즉 표준 CAN 버스 시스템에서 규정에 따라 작동하는 반면, 본 발명에 따라 수정된 버스 시스템에서는 한편으로 메시지 내 더 큰 데이터 필드를 허용하고 다른 한편으로 CRC 코드의 조정된 계산 및 검사도 실행하도록 설계된다.
메시지의 수신 초기에는, 표준에 부합하는 CAN 메시지가 수신될지 또는 본 발명에 따라 수정된 메시지가 수신될지의 여부가 아직 결정되지 않기 때문에, 본 발명에 따른 통신 컨트롤러에서 병렬로 동작하는 2개의 CRC 시프트 레지스터가 실행된다. CRC 구분자의 수신 후, CRC 코드가 수신기에서 평가되면, 본 발명에 따른 식별 표시 또는 예컨대 이 식별 표시나 데이터 길이 코드의 내용에서 도출된 제3 전환 조건에 기초하여, 어떤 전송 방법이 사용되었는지도 확인되고, 그런 다음 이 전송 방법에 할당된 시프트 레지스터가 평가된다. 이미 앞서 설명한 것처럼, 제3 전환 조건은 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련한 제1 전환 조건과 일치할 수 있다.
심지어는 메시지의 수신 초기에 이미 송신기를 위해, 어떤 전송 방법에 따라 전송되어야 하는지가 결정된다. 그러나 버스 액세스에 대한 중재가 상실되며, 이미 시작된 메시지가 전송되지 않고 오히려 그 대신 다른 메시지가 수신될 수 있기 때문에, 여기에서도 두 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 전환 조건이 트리거될 수도 있을 것이며, 이 전환 조건은 또 다른 세트의 데이터 필드 크기, 예컨대 도 2의 DLC 3로의 전환 및 3차 CRC 다항식을 특성화한다.
그 외에도, 제1 전환 조건은, 예컨대 예약 비트(r0) 또는 SRR 비트에 의해 더 긴 데이터 필드의 가능성 및 데이터 길이 코드의 내용의 상응하는 해석으로 전환될 수도 있으며, 제3차 전환 조건의 검출 및 그와 동시에 CRC 검사를 위해 평가되는 CRC 다항식의 선택이 데이터 길이 코드의 내용에 기초하여 수행될 수도 있다. 그에 상응하게 제3 전환 조건은 2개 이상의 값을 취할 수도 있다. 예컨대 DLC3에 따른 데이터 필드 크기들이 선택될 수 있고, 즉 값 0 내지 64바이트를 취할 수도 있으며, 그런 경우 3개의 CRC 다항식이 적절한 시프트 레지스터에 의해 병렬로 계산될 수 있고, 예컨대 8바이트 이하의 데이터 필드의 경우 표준 CRC 다항식이, 24바이트 이하의 데이터 필드의 경우 2차 CRC 다항식이, 그리고 64바이트 이하의 데이터 필드의 경우 3차 CRC 다항식이 계산될 수 있다.
도 3에는 본 발명에 따른 수신 프로세스의 일부 영역이 버스 시스템의 가입자국에서 어떻게 실행되는지가 개략적으로 도시되어 있다. 여기에는 제1 전환 조건에 기초하여 통신 컨트롤러의 거동이 조정됨으로써 표준 CAN에 대한 호환성이 달성되는 경우가 도시되어 있다. 도 3에서 소프트웨어로 프로그램을 실행하는 경우를 기술하는 데 일반적인 표현이 선택되었을지라도, 상기 방법은 하드웨어로 구현하기에도 전적으로 적합하다. 상술한 진행 과정은 전환 조건들, 예를 들어 추가로 상술된 전환 조건(UB1)이 생략되는 실시예들에서도 적용 가능하다. 그러나, 이러한 수신 처리는 상응하는 전환 조건에 따라서 통과될 경로들 중 하나의 경로만 실제로 통과된다는 점에서 간소화된다. 이러한 간소화된 순서도의 별도 도시는 본원에서 생략된다.
가입자국은 먼저, 버스에서 통신 트래픽이 없는 동안 버스를 스캔하는 상태에 놓인다. 즉, 질의(302)는 버스에서의 우성 비트를 대기한다. 이 비트는 새로운 메시지의 시작을 특성화한다.
새로운 메시지의 시작이 결정되자마자, 블록(304)에서 병렬로 계산될 수 있는 2개 이상의 체크섬의 계산이 시작된다. 제1 체크섬은 표준 CAN의 CRC 계산에 상응하고, 제2 체크섬은 새로운 방법에 따라 계산된다.
이어서, 단계(306)부터 중재 필드로 시작하여 메시지의, SOF 뒤에 오는 비트들이 수신된다. 복수의 가입자가 메시지를 전송하고자 하는 경우, 표준 CAN의 일반적 방법에 따라 버스 가입자들 간에 어느 버스 가입자가 버스에 액세스할 지가 합의된다. 도시된 블록(306)은 제1 식별 표시가 수신되었거나 제1 전환 조건이 확인될 때까지 모든 비트의 수신을 특성화한다. 설명된 예시들에서 제1 전환 조건은 중재 필드, 예컨대 SRR 비트 또는 IDE 비트로부터 또는 제어 필드, 예컨대 제어 필드의 예약 비트로부터 검출된다(도 1 참조). 이어서, 검출된 제1 전환 조건에 기초하여 메시지의 특정 비트에서부터 상이하게 처리가 이루어질 때까지, 블록(308)에서 메시지의 다른 비트들이 더 수신될 수 있다. 이러한 상이한 방법들로의 분할은, 하기에 예시적으로 설명된 것처럼, 상응하는 질의 또는 분기(310)에 의해 보장된다.
분기(310)에서 예컨대 제어 필드의 2개의 제1 비트의 수신 후, 제1 전환 조건에 따라 표준 CAN에 따른 통신이 실시된다는 정보가 존재하면("1"로 표시된 도 3의 경로), 단계(312)에서 제어 필드의 추가 비트들이 판독입력된다. 이들 비트로부터 표준 CAN에 따라 데이터 길이 코드가 평가된 다음, 단계(316)에서 관련 데이터 양, 최대 8바이트가 데이터 필드에 상응하게 수신된다. 그 후 단계(320)에서 15비트를 포함하는 CRC 필드가 수신된다. 분기(324)에서 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하면, 블록(328)에서 우성 확인응답 비트가 전송된다. 이런 경우, 통신이 표준 CAN에 따라 이루어지기 때문에 표준에 따른 CRC 체크섬들이 비교된다. 일치가 확인되지 않으면, (블록 330) 확인응답 비트가 열성으로 전송된다. 이어서 ACK 구분자와 EOF 비트가 후속한다(도 1b 참조, 도 3에는 도시되지 않음).
그에 반해 분기(310)에서, 예컨대 제어 필드의 2개의 제1 비트의 수신 후, 제1 전환 조건에 따라 본 발명에 따라 수정된 통신 방법이 적용될 수 있다는 정보가 존재하면("2"로 표시된 도 3의 경로), 블록(314)에서 제어 필드의 추가 비트들이 판독입력된다. 이 결과로부터 데이터 길이 코드가, 일부 예들이 표의 형태로 도 2에 설명된 새로운 해석에 따라 검출된다. 블록(318)에서 상응하는 양의 데이터가, 즉 도 2의 표에서 DLC1의 예의 경우 15바이트까지, DLC2의 예의 경우 16바이트까지, DLC3의 예의 경우 64바이트까지 수신된다. 블록(322)에서 본 발명에 따라 상이한, 특히 더 긴 CRC 필드가 수신된다. 분기(324)에서, 송신기에 의해 전송되어 수신기에 의해 직접 검출된 CRC 체크섬들이 일치한다는 정보가 존재하고, 이때 그 비교가 본 발명에 따라 상이한 CRC 체크섬들에 기반하는 경우, 블록(328)에서 우성 ACK 비트가 전송된다. 그렇지 않으면, (블록 330) ACK 비트는 열성으로 전송된다. 이어서, 단계(332 또는 334)에서 ACK 구분자와 EOF 비트가 후속한다. 이것으로 하나의 메시지를 위한 수신 프로세스가 종료한다.
도 3에는 사용될 CRC를 결정하는 제3 전환 조건이 데이터 필드의 크기 및 데이터 길이 코드의 해석과 관련된 제1 전환 조건과 일치하는 경우가 도시되어 있다. 즉, CRC 체크섬의 수신(320 또는 322) 전에, 어느 CRC가 제3 전환 조건에 따라 수신될 수 있고 분기(324)를 위해 평가될 수 있는지 한번 더 질의된다. 도 3의 흐름도를 간단히 수정하면 이런 추가 질의는 도 4에 도시된 것처럼 실행 안에 수용될 수 있다.
그와 같이 수정된, 도 4에 따른 수신 프로세스의 경우, 데이터 길이 코드 정보에 따라 예상되는 수의 데이터 필드의 데이터 바이트를 수신한 후, 블록(316 또는 318)에서 질의 또는 분기(410)에서 제3 전환 조건이 어떤 값을 가지는지 검출된다. 이런 정보는 앞서 설명한 것처럼 예컨대 상응하는 제3 식별 표시로부터 또는 데이터 길이 코드의 내용으로부터 검출될 수 있다. 도시된 예에서 제3 전환 조건, 즉 A, B 및 C에 대해 3가지 상이한 값이 존재한다. 전환 조건의 값에 기초하여, 블록들(420, 422 및 424)에서 다른 수의 CRC 필드의 비트들이, 예컨대 값(A)에 대해 15비트가, 값(B)에 대해 17비트가, 그리고 값(C)에 대해 19비트가 판독입력된다. 이어서, 도 3과 유사하게 분기(324)에서, 송신기에 의해 전송되고 수신기에 의해 직접 검출되는 CRC 체크섬들이 일치하는지 그리고 이에 기초하여 계속 처리되는지 여부가 검사된다.
도 5에는 본 발명에 따른 전송 방법의 또 다른 실시예들에 대해 한번 더 메시지의 구조가 2개의 가능한 변형예, 즉 표준 형식과 확장 형식으로 도시되어 있다. 상기 두 변형예에 대해 도 5에는, 여기서 고속 CAN 중재와 고속 CAN 데이터로 표시된 2개의 상태 간 전환 영역들이 기입되어 있다. 본 실시예에서는 상기 두 상태들 간에 전환이 이루어지면, 메시지의 일부에 대한, 특히 데이터 필드와 CRC 필드에 대한 중재의 종료 후, 비트 길이들이 단축되어 개별 비트들이 더 빠르게 버스에 의해 전송된다. 그러므로 메시지 전송 시간이 표준에 따른 방법에 비해 단축될 수 있다. 시간에 따른 비트 길이의 관련 변경은 예컨대 작동 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위의 세팅을 위한 2개 이상의 스케일링 계수의 사용을 통해 구현될 수 있다. 비트 길이의 전환 및 그에 따른 스케일링 계수의 변경은 도 5에서 마찬가지로 예시로서 도시되어 있다.
고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환은 추가의 전환 조건에 기초하여 이루어질 수 있으며, 이 전환 조건은 메시지의 식별 부호에 상응하고, 이는 데이터 전송의 가입자들에게 단축된 비트 길이가 사용된다는 사실을 시그널링한다. 여기에 도시된 실시예에서 상기 식별 부호의 선택된 위치는 데이터 길이 코드 전에 전송되는 "예약 비트"(r0)이다. 즉, 상기 위치는, 제1 전환 조건에 상응하며 더 긴 데이터 필드 및 데이터 길이 코드의 변경된 해석의 사용 가능성을 특성화하는 제1 식별 표시의 가능한 한 위치에 상응하고, 변경된 CRC 계산에 해당하는 제3 식별 부호에도 상응한다.
단축된 비트 길이를 갖는 본 발명에 따른 메시지를 식별하기 위한 다른 가능성이 도 7에 도시되어 있다. 여기에서 잠재적으로 더 긴 데이터 필드(관련: 제1 식별 부호) 및 변경된 CRC 계산(관련: 제3 식별 부호)을 포함하는 메시지가 열성 EDL 비트(Extended Data Length)에 의해 식별되고, 이것은 표준 CAN 메시지에서 우성으로 전송되는 비트의 자리에 나타나 이 비트를 대체하거나 뒤쪽으로 한 위치만큼 이동시킨다. 표준 주소 지정을 위해 이 EDL 비트는 제어 필드 내 제2 위치에 나타나 거기에 있던, 항상 우성인 r0 비트를 한 위치만큼 이동시킨다. 확장 주소 지정을 위해 이 EDL 비트는 도시된 예에서 제어 필드의 제1 위치에 나타나 거기에 있던, 표준 CAN에서 항상 우성으로 전송되는 예약된 r1 비트를 대체한다.
단축된 비트 길이의 사용을 알리는 추가 식별 표시 또는 제4 식별 표시는, 추가의 열성 BRS(Bit Rate Switch) 비트가 EDL 비트에 의해 식별되는 본 발명에 따른 메시지의 제어 필드 안에 삽입됨으로써 구현된다. 여기에 도시된 실시예에서 BRS 비트의 위치는 제어 필드 안에서 제4 위치(표준 주소 지정) 또는 제3 위치(확장 주소 지정) 이다.
상기 메시지들은 "CAN FD 고속"이라는 명칭을 지닌다. 메시지들의 가능한 2가지 주소 지정의 예, 즉 표준 형식과 확장 형식에 대해 도 7에, 고속 CAN 중재와 고속 CAN 데이터로 표시된 2가지 상태들 간 전환 영역들이 표시되어 있다. 상기 두 상태들 간에 전환이 이루어지면, 이미 설명한 것처럼 메시지의 상응하는 부분에 대해 비트 길이가 단축되고, 그 결과 개별 비트가 더 빠르게 버스에 의해 전송된다. 그럼으로써 표준에 따른 방법에 비해 메시지 전송 시간이 단축될 수 있다. 고속 CAN 중재 상태와 고속 CAN 데이터 상태 간의 전환은, 데이터 전송의 가입자들에게 단축된 비트 길이가 사용되는 점을 시그널링하는 추가의 식별 부호(BRS)에 따라, 제1 또는 제3 식별 부호(EDL)를 가진 메시지들에서 이루어진다.
도시된 것처럼, 제1 식별 부호(EDL) 다음에 제2 식별 부호(BRS)가 오는 경우, 본 발명에 따른 전송 방법으로 메시지가 전송되고, 이 메시지의 비트 길이는 분명히 단축되며, 메시지의 데이터 필드 크기는 8바이트를 초과하는 값으로 확장될 수 있으며, 메시지의 CRC는 더 큰 데이터 필드에 맞게 조정된다. 그럼으로써 전송 신뢰성이 향상되는 동시에 버스 시스템에 의한 전송 용량이 현저하게 증가할 수 있다.
더 빠른 전송은 도시된 예에서 관련 식별 부호의 전송 직후 시작되고, 재전환을 위해 확정된 비트의 도달 직후 종료되거나, 에러 프레임의 시작 이유가 검출된 경우에 종료된다.
도 8에는 도 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에 도시된 것처럼 계속 진행된다.
더 빠른 전송은 예컨대 관련 식별 표시의 전송 직후 시작하며, 복귀를 위해 정해진 비트의 도달 직후 종료하거나 또는 만약 오류 프레임의 시작을 위한 근거가 검출되면 종료한다.
이 방법은 차량의 정상 작동 모드에서, 적절한 데이터 버스에 의해 연결되어 있는 차량의 2개 이상의 제어 장치 사이에서 데이터를 전송하는데 적합하다. 또는, 차량의 제조 또는 유지 관리 시 프로그래밍의 목적으로 적절한 데이터 버스와 연결된 프로그래밍 유닛과, 상기 데이터 버스와 연결되어 있는 차량의 하나 이상의 제어 장치 사이의 데이터 전송을 위해서도 똑같이 바람직하게 이용될 수 있다. 또한, 산업 자동화 시스템에서 예컨대 버스에 의해 서로 연결된, 산업 생산 흐름의 진행을 제어하는 분산 제어 유닛들 간에 제어 정보를 전송하기 위해 상기 방법을 이용할 수도 있다. 이와 같은 환경에서는 매우 긴 버스 라인들도 발생할 수 있고, 예컨대 16, 32 또는 64 마이크로초동안 상대적으로 긴 비트 길이로 중재 단계를 위한 버스 시스템을 작동함으로써 버스 신호들이 필요에 따라 중재 과정 동안 전체 버스 시스템으로 전파될 수 있는 점이 특히 중요할 수 있다. 이어서, 평균 전송 속도가 너무 느려지지 못하도록, 전술한 것처럼 메시지의 일부에 대해 더 짧은 비트 길이로 전환될 수 있다.
종합해보면 상기 방법은, 표준 CAN 컨트롤러를 본 발명에 따라 작동할 수 있도록 하기 위해 최소한으로만 변경하면 되는 점을 특징으로 하는 전송 방법을 나타낸다. 표준 CAN 컨트롤러로서 작동할 수도 있는 본 발명에 따른 통신 컨트롤러는 종래 표준 CAN 컨트롤러보다 약간 더 클 뿐이다. 관련 응용 프로그램은 변경될 필요가 없으며, 이러한 점에서 이미 데이터 전송 속도에서의 이점이 획득된다. 데이터 필드 및 관련 DLC 및 CRC의 확장된 크기의 이용에 의해 데이터 전송의 속도가 더욱 증가할 수 있고, 응용 소프트웨어의 조정이 최소화된다. CAN 적합성 테스트(ISO 16845)의 추가 부분들이 수행될 수 있다. 본 발명에 따른 전송 방법이 TTCAN(ISO 11898-4)의 보완책들과 결합될 수도 있다.
적어도 특정 응용 목적들을 위해 또는 도입 단계에서, 본 발명에 따른 데이터 전송 방법 및 장치들에서, 응용 소프트웨어의 사용과 관련하여 전부 또는 주로 호환가능한 변형예의 제공이 유용하다. 이 응용 소프트웨어는 예컨대 차량에 사용되는 전자식 주행 안정 프로그램의 제어 소프트웨어가 될 수도 있고 또는 차량의 내연기관에 사용되는 제어 소프트웨어가 될 수 있다. 응용 소프트웨어는 특히 안전에 중요한 시스템을 위한 광범위한 안전 프로그램과 관련되어 있으므로, 응용 소프트웨어의 변경이 없을지라도 본 발명에 따라 변경되는 데이터 전송 장치들의 도입을 실시하는 것이 유리하다.
메시지의 데이터 필드와 응용 소프트웨어 사이에 데이터 전송은 통신 컨트롤러에서 이와 같은 사용을 위해 제공된, 표준 CAN에서 예컨대 8바이트의 사전 설정 크기를 가지는 버퍼 메모리 및 관련 메시지 메모리에 의해 이루어진다. 버퍼 메모리와 메시지 메모리는 본 발명과 관련하여 상기의 상응하는 사용을 위해 더 큰 메모리 유닛 안에 할당된 영역도 의미할 수 있다.
이에 상응하게, 표준 CAN에 의해 데이터 전송을 실시하는 시스템 안에서, 응용 소프트웨어에 의해 기껏해야 8바이트 크기의 데이터 패킷이 대개 복수인 메시지 메모리 및 버퍼 메모리를 통해 CAN 메시지의 데이터 필드와 교환된다. 만약 응용 소프트웨어의 변경이 없으면, 본 발명에 따른 통신 컨트롤러의 크기 또는 칩 면적을 불필요하게 증가시키지 않도록, 예컨대 8바이트의 사전 설정된 크기에서 메시지 메모리 및 버퍼 메모리가 남겨질 수도 있다. 만약 본 발명에 따른 메시지의 데이터 필드의 크기(예컨대 16바이트)가, 사용된 버퍼 메모리의 크기(예컨대 8바이트)와 다르면, 통신 컨트롤러의 프로토콜 제어 시스템이 데이터 필드와 버퍼 메모리 사이의 크기 차에 상응하게 매칭되어야 한다.
도 6에서 16바이트 크기 데이터 필드의 표준 형식 메시지의 예에 도시된, 본 발명에 따른 데이터 전송 방법의 다른 한 실시예에 따라, 버스에 의한 비트의 직렬 전송과 관련해 상기 방법의 전체 기능이 실시되지만, 데이터 필드 내 8바이트의 관련 사용자 데이터만이 전송된다. 그에 상응하게 전환 조건이 존재하면 버스에 의해 예컨대 16바이트 크기의 데이터 필드 및 관련 식별 표시를 포함하는 메시지가 전송되며 이 메시지의 정확한 전송은 그에 상응하게 매칭된 CRC 다항식을 통해 검사되지만, 본 발명에 따른 통신 컨트롤러 안에서 버퍼 메모리(620) 및 예컨대 메시지 메모리(630)를 통해 단지 8바이트 사용자 데이터가 응용 소프트웨어(640)에 전송된다. 송신의 경우에 응용 소프트웨어(640)로부터 8바이트 사용자 데이터가 예컨대 그외의 또는 같은 메시지 메모리(630)를 통해 버퍼 메모리(620) 안에 기록되고, 사전 설정된 또는 사전 설정 가능한 방법에 따라 전송하려는 메시지의 예컨대 16바이트 크기 데이터 필드 안으로 입력된다. 물론, 상기 방법을 8바이트가 아닌, 예컨대 6 또는 4바이트의 버퍼 메모리 크기에 제한시키는 것도 가능하다. 특히, 이는 응용 소프트웨어가 이와 같은 제한을 제공하는 경우 유용하다. 16바이트의 데이터 필드 크기 선택 역시 단지 예시적임을 알 수 있고 이러한 선택에는 예컨대 24, 32 또는 64바이트의 값들이 포함될 수도 있다. 많은 다른 가능성들을 예컨대 도 2에서 알 수 있다. 메시지로부터 응용 소프트웨어에 전송되거나 또는 응용 소프트웨어로부터 입력을 위해 메시지의 데이터 필드 안으로 제공되는 데이터의 양과 버퍼 메모리(620)의 크기 사이에 일정한 관계가 존재한다.
통신 컨트롤러의 프로토콜 제어 시스템은 이 실시예에서, 도 6에서 이중 화살표(600)로 표시된 것처럼, 전송하려는 데이터의 직렬화 시에 예컨대 8 사용자 데이터 바이트를 버퍼 메모리(620)로부터 데이터 필드의 제1의 8 직렬 바이트 안에 배치하고 도 6에서 화살표(610)로 표시된 것처럼 데이터 필드의 그외 비트들을 사전 설정된, 사전 설정 가능한 또는 임의의 필링 데이터로, 예컨대 특정 비트 패턴으로 채운다. 이 경우 CAN 표준 ISO 11898-1의 규칙에 따라 추가적 스터프 비트의 삽입을 야기하지 않는 비트열이 사용되는 것이 유용한 데, 그렇지 않으면 데이터 필드가 불필요하게 커지기 때문이다. 그러므로 예컨대 데이터 필드의 사용하지 않은 모든 바이트에 대해 비트열 0b00110011 또는 0b11001100이 삽입될 수 있다.
예컨대 버퍼 메모리(620)의 8 사용자 데이터 바이트는 데이터 필드의 제1의 8바이트 안으로 입력되지 않고 오히려 데이터 필드 내 다른 위치에 또는 다른 복수의 영역들 안에 입력될 수 있다. 이러한 사용자 데이터 바이트의 위치는 단지 버스 가입자들에 대해 통일적으로 사전 설정되어야 하거나 사전 설정될 수 있어야 한다.
수신하는 버스 가입자들은 본 발명에 따른 방법에 의거한 메시지를 판독하고 예컨대 CRC 검사를 실시하고 ACK를 통해 정확한 수신을 확인한다. 수신하는 버스 가입자들의 통신 컨트롤러 내 프로토콜 제어 시스템은 직렬로 수신한 메시지 비트를 변환하여, 버퍼 메모리(620) 안에 기록되어 있는 8바이트 사용자 데이터를 예컨대 데이터 필드의 16바이트에서 추출한다. 이는 도 6에서 마찬가지로 이중 화살표(600)로 표시되어 있다. 나머지 필링 데이터는 폐기된다. 단지 8바이트 사용자 데이터가 버퍼 메모리(620) 및 예컨대 메시지 메모리(630)를 통해 응용 소프트웨어(640)에 전송된다. 이 응용 소프트웨어(640)는 표준에 따른 전송 방법의 사용과 비교해 어떤 차이도 찾지 못한다.
본 발명에 따른 데이터 전송 방법, 즉 특히 메시지의 일부 영역들에서 단축된 비트 길이, 데이터 필드의 변경된 길이 및 데이터 길이 코드의 내용의 수정된, 경우에 따라서는 다단계로도 수정된 해석, 상이한 CRC 체크섬들의 사용 또는 데이터 필드와 버퍼 메모리 사이의 크기 차에 전송 데이터량의 매칭을 포함하는 방법의 상이한 실시예들의 페일 세이프 실시를 위해 추가의 보충이 유용하다.
예컨대 표준 CAN에서 적절한 상태 레지스터를 통해, 데이터 전송에서 상응하는 오류 누적 시에 취해지는 오류 상태(오류 경고, 오류 패시브, 버스 오프)의 도달이 예컨대 마이크로컨트로러 또는 응용 소프트웨어에 의해 판독될 수 있다. 또한, 성공적인 송수신 과정들이 플래그를 통해 신호화되고(TxOK, RxOK) 각 최종 버스 이벤트에 관한 정보가 준비된다(LEC, Last Error Code). 이러한 정보들 중 일부 또는 모두가 본 발명에 따른 통신 컨트롤러에서 이를 위해 제공된 메모리 영역들에서 중복적으로 유지되어야 하므로, 예컨대 관련 마이크로컨트롤러 또는 여기에서 실행되는 응용 소프트웨어를 통해 각 정보가 실제로 실시되는 데이터 전송 방법에 따라서 독립적으로 검출되어 저장될 수 있다. 그 결과, CAN 표준에 대해 수정된 전송 방법, 예컨대 이 메시지의 영역들에서 더 긴 데이터 필드 또는 더 짧은 비트 길이일 때, 특정 오류 이미지가 표준 CAN 전송 방법에서의 경우보다 더 빈번하게 나타나는지 여부가 결정될 수 있다.
추가의 오류 상태가 도입될 수 있고 상태 비트에 의해 신호화될 수 있으며 수정된 전송 모드에서 오류 누적 시에 데이터 전송을 표준 CAN 전송 방법으로 영구적으로 복귀시킨다. 정보들(TxOK, RxOK 및 LEC)은 데이터 전송 방법이 다르기 때문에 독립적으로 검출될 수 있다. 대안으로서 LEC를 위해, 오류가 어느 전송 모드에서 나타났었는지에 관한 정보가 추가로 저장될 수 있다.
또한, 수신된 메시지들을 위해, 어느 방법에 따라 그리고 가능성 있는 식별 표시들 중 어느 것으로 이들이 수신되었는지를 확정하는 것이 유용할 수 있고, 송신하려는 메시지들을 위해, 어느 방법에 따라 그리고 어느 식별 표시로 이들이 송신되어야 하는지가 개별적으로 확정되는 것이 유용할 수 있다. 이를 위해, 특정한 또는 모든 수신 메시지 메모리 및/또는 버퍼 메모리가 복수의 추가적 비트로 보충될 수 있으며, 이때 추가적 비트들은 가능성 있는 식별 표시들에 상응한다. 이를 위해 제공된 그외 비트들 안에, 어느 상태에 또는 어느 전환 조건 하에서 각 메시지가 수신되었는지에 관한 정보가 별도로 저장될 수 있다. 유사하게는 특정한 또는 모든 송신 메시지 메모리 및/또는 버퍼 메모리가 추가의 비트를 제공받을 수 있으며, 이 안에, 각 메시지가 수정된 방법에서 및/또는 상응하는 식별 표시와 함께 전송되는 사실이 입력된다.
끝으로, 본 발명에 따른 통신 컨트롤러가 메시지의 데이터 필드와 응용 소프트웨어 사이에서 전송되는 데이터량을 예컨대 8바이트로 한정하는 응용 소프트웨어 호환 모드와, 상응하게 크게 설계되어 사용되는 버퍼 메모리의 이용하에서 데이터 필드의 총 크기를 사용하는 데이터 전송 최적화 모드 사이에서 적절한 재구성을 통해 전환될 수 있도록, 본 발명에 따른 통신 컨트롤러가 설계되는 것이 유용할 수 있다. 이런 경우, 그에 상응하게 크기 또는 칩 영역의 절약이 버퍼 메모리 및/또는 메시지 메모리를 상응하게 더 적게 사용하여도 달성될 수 없지만, 통신 컨트롤러는 기존의 응용 소프트웨어를 계속 사용하는 버스 가입자들에서 그리고 생성된 새로운 데이터 전송 최적화 소프트웨어를 사용하는 버스 가입자들에서도 매우 유연하게 이용될 수 있다.
이와 같이 전환가능한 통신 컨트롤러는 자신의 실제 사용 모드, 즉 응용 소프트웨어 호환 모드 또는 데이터 전송 최적화 모드를 이를 위해 제공된 메모리 영역에서, 예컨대 대응하는 상태 비트를 통해 가시화할 수 있다.
본 발명의 전술한 설명에서 ISO 표준을 인용했던 부분에서, 각각 관련 ISO 표준의, 출원 시점에 유효한 버전이 종래 기술의 근거가 된다.

Claims (23)

  1. 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법으로서, 상기 데이터 처리 유닛들은 버스에 의해 메시지를 교환하며, 송신되는 메시지들은 CAN 표준 ISO 11898-1에 따른 논리 구조를 가지며, 이와 같은 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 시퀀스를 포함하고, 상기 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법에 있어서,
    전송된 메시지의 데이터 필드는 CAN 표준 ISO 11898-1과 다르게 8바이트를 초과하는 바이트를 포함할 수 있으며, 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석될 수 있으며, 데이터 필드와 응용 소프트웨어(640) 사이에서 데이터를 전송하기 위해 하나 이상의 버퍼 메모리(620)가 제공되어 있으므로, 전송된 데이터량은, 데이터 필드의 크기가 사용된 상기 버퍼 메모리(620)의 크기와 다를 때, 데이터 필드와 사용된 버퍼 메모리(620) 사이의 크기 차에 상응하게 적어도 매칭되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  2. 제1항에 있어서, 데이터 필드의 크기가 사용된 버퍼 메모리의 크기보다 크면, 버퍼 메모리의 크기에 상응하는 데이터량이 사전 설정된 또는 사전 설정 가능한 선택 방법에 따라, 버스에 의해 수신된 메시지의 데이터 필드에서 선택되어 버퍼 메모리에 전송되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  3. 제1항 또는 제2항에 있어서, 데이터 필드의 크기가 사용된 버퍼 메모리의 크기보다 크면, 버스에 의해 전송하려는 메시지의 데이터 필드 안으로 버퍼 메모리의 내용이 메시지의 데이터 필드의 하나 이상의 사전 설정된 또는 사전 설정 가능한 영역 안으로 입력되고, 데이터 필드의 남은 영역(들)은 사전 설정된 또는 사전 설정 가능한 방법에 따라 채워지는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  4. 제1항 또는 제2항에 있어서, 버스에 의해 수신되는 메시지의 데이터 필드의 크기가 8바이트를 초과하는 경우 하나 이상의 버퍼 메모리에 의해 데이터 필드의 사전 설정된 또는 사전 설정 가능한 8바이트가 응용 소프트웨어에 전송되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  5. 제1항 또는 제2항에 있어서, 버스에 의해 송신하려는 메시지의 데이터 필드의 크기가 8바이트를 초과하는 경우 데이터 필드의 남은 비트들이 사전 설정된 또는 사전 설정 가능한 값들로 채워지는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  6. 제5항에 있어서, 버스에 의해 송신하려는 메시지의 데이터 필드의 채워져야 하는 영역들 안에 비트들이 채워지므로, CAN 표준 ISO 11898-1의 규칙에 따라 상기 영역들 안에 스터프 비트가 삽입될 필요가 없는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  7. 제1항 또는 제2항에 있어서, 데이터 길이 코드의 비트들의 가능한 값 조합들 각각이 데이터 필드의 허용 크기들 중 하나에 할당되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  8. 제1항 또는 제2항에 있어서, 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석되는 데이터 길이 코드에 따라, 수신 처리는 데이터 필드의 크기에 매칭되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  9. 제1항 또는 제2항에 있어서, 메시지의 CRC 필드는 2이상의 상이한 수의 비트들을 가질 수 있으며, CRC 필드 내 유효 수의 비트들 중 하나 이상이 CAN 표준 ISO 11898-1과는 다른 수의 비트이고, 다른 수의 비트를 포함하는 그와 같은 CRC 필드의 내용을 결정하기 위해, CAN 표준 ISO 11898-1과 다른 생성 다항식이 사용되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  10. 제1항 또는 제2항에 있어서, 메시지 내 시간 비트 길이는 2개 이상의 다른 값들을 취할 수 있으며, 메시지 내 사전 설정 가능한 하나 이상의 제1 영역에 대해 상기 시간 비트 길이가 1마이크로초의 사전 설정된 최소값보다 크거나 같으며 메시지 내 사전 설정 가능한 하나 이상의 제2 영역에 대해 상기 시간 비트 길이가 제1 영역에 비해 감소된 값을 가지는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  11. 제10항에 있어서, 메시지 내 시간 비트 길이의 2개 이상의 다른 값들이 동작 동안 최소 시간 단위 또는 발진기 클록과 관련하여 버스 시간 단위를 세팅하기 위해 2개 이상의 상이한 스케일링 계수들을 사용하여 구현되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  12. 제10항에 있어서, 메시지 내 시간 비트 길이가 2개 이상의 상이한 값들을 취할 수 있는 메시지는 제어 필드 내 한 식별 표시에 의해 검출될 수 있는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  13. 제1항 또는 제2항에 있어서, 하나 이상의 추가의 상태 비트가 제공되며, 상기 추가의 상태 비트를 통해서는 CAN 표준 ISO 11898-1과 다른 데이터 전송 방법과 관련된 정보들이 응용 소프트웨어를 위해 제공되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  14. 제13항에 있어서, 상기의 하나 이상의 추가적 상태 비트는 송신 성공의 알림을 위한 상태 비트, 수신 성공의 알림을 위한 상태 비트, 및 최근 발생한 오류의 종류의 알림을 위한 하나 또는 복수의 상태 비트 중 어느 하나 또는 둘 이상의 비트를 포함하는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  15. 제13항에 있어서, CAN 표준 ISO 11898-1과 다른 데이터 전송 방법에서 오류 발생 빈도에 따라 CAN 표준 ISO 11898-1에 따른 전송 방법으로 복귀가 이루어질 수 있고, 실행된 복귀의 알림을 위한 하나 이상의 상태 비트가 제공되어 있는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  16. 제1항 또는 제2항에 있어서, 하나 이상의 버퍼 메모리, 하나 이상의 할당되어 있는 메시지 메모리, 또는 하나 이상의 버퍼 메모리와 하나 이상의 할당되어 있는 메시지 메모리 안에, 하나 이상의 추가적 메시지 비트가 제공되어 있으며, 상기 추가적 메시지 비트는 각 메시지에 사용된 또는 사용될 데이터 전송 방법을 식별하는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  17. 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치로서, 상기 데이터 처리 유닛들은 버스에 의해 메시지를 교환하며, 송신되는 메시지들은 CAN 표준 ISO 11898-1에 따른 논리 구조를 가지며, 이와 같은 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 시퀀스를 포함하고, 상기 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치에 있어서,
    전송된 메시지의 데이터 필드는 CAN 표준 ISO 11898-1과 다르게 8바이트를 초과하는 바이트를 포함할 수 있으며, 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석될 수 있으며, 데이터 필드와 응용 소프트웨어 사이에서 데이터를 전송하기 위해 하나 이상의 버퍼 메모리가 제공되어 있으므로, 전송된 데이터량은, 데이터 필드의 크기가 사용된 상기 버퍼 메모리의 크기와 다를 때, 데이터 필드와 사용된 버퍼 메모리 사이의 크기 차에 상응하게 적어도 매칭되는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치.
  18. 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치로서, 상기 데이터 처리 유닛들은 버스에 의해 메시지를 교환하며, 송신되는 메시지들은 CAN 표준 ISO 11898-1에 따른 논리 구조를 가지며, 이와 같은 논리 구조는 SOF 비트, 중재 필드, 제어 필드, 데이터 필드, CRC 필드, ACK 필드 및 EOF 시퀀스를 포함하고, 상기 제어 필드는 데이터 필드의 길이에 관한 정보를 담고 있는 데이터 길이 코드를 포함하며, 전송된 메시지의 데이터 필드는 CAN 표준 ISO 11898-1과 다르게 8바이트를 초과하는 바이트를 포함할 수 있으며, 데이터 필드의 크기를 결정하기 위해 데이터 길이 코드의 값들이 적어도 부분적으로 CAN 표준 ISO 11898-1과 다르게 해석될 수 있으며, 데이터 필드와 응용 소프트웨어 사이에서 데이터를 전송하기 위해 하나 이상의 버퍼 메모리가 제공되어 있으므로, 전송된 데이터량은, 데이터 필드의 크기가 사용된 상기 버퍼 메모리의 크기와 다를 때, 데이터 필드와 사용된 버퍼 메모리 사이의 크기 차에 상응하게 적어도 매칭되는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치에 있어서,
    통신 컨트롤러를 통해 상기 장치는 제2항에 따른 데이터 전송 방법을 실시하도록 설계되어 있는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치.
  19. 제18항에 있어서, 상기 통신 컨트롤러는 데이터 필드와 버퍼 메모리 사이의 크기 차에 상응하게 데이터 필드와 버퍼 메모리 사이에서 전송되는 데이터량의 매칭을 위한 하나 이상의 프로토콜 제어 시스템을 포함하는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치.
  20. 제18항 또는 제19항 중 어느 한 항에 있어서, 상기 통신 컨트롤러는 하나 이상의 추가 또는 확장된 상태 레지스터를 포함하고, 상기 상태 레지스터의 내용은 각각의 경우에 사용되는 데이터 전송 방법의 종류와, 성공과, 결과 중 어느 하나 또는 이들의 둘 이상의 조합을 식별하는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치.
  21. 제18항 또는 제19항에 있어서, 상기 통신 컨트롤러는, 하나 이상의 추가적인 메시지 비트가, 각 메시지를 위해 사용된 또는 사용될 데이터 전송 방법을 식별하는 하나 이상의 추가 또는 확장된 메시지 메모리, 버퍼 메모리, 또는 하나 이상의 추가 또는 확장된 메시지 메모리와 버퍼 메모리를 포함하는 것을 특징으로 하는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 장치.
  22. 제1항 또는 제2항에 있어서, 데이터 버스에 의해 연결되어 있는 차량 또는 산업 설비의 2개 이상의 제어 장치들 사이에서 데이터를 전송하기 위해 차량 또는 산업 설비의 정상적 작동에서 사용되는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
  23. 제1항 또는 제2항에 있어서, 프로그래밍의 목적을 위해 데이터 버스와 연결되어 있는 프로그래밍 유닛과, 데이터 버스와 연결되어 있는 산업 설비 또는 차량의 하나 이상의 제어 장치 사이에서 데이터를 전송하기 위해 차량 또는 산업 설비의 제조 또는 유지 관리 동안 사용되는, 2이상의 데이터 처리 유닛이 참여하는 버스 시스템의 직렬 데이터 전송 방법.
KR1020137031201A 2011-04-26 2012-04-26 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치 KR101936450B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE102011017539.3 2011-04-26
DE102011017539A DE102011017539A1 (de) 2011-04-26 2011-04-26 Verfahren und Vorrichtung zur an Speichergrößen angepassten seriellen Datenübertragung
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/057623 WO2012146649A1 (de) 2011-04-26 2012-04-26 Verfahren und vorrichtung zur an speichergrössen angepassten seriellen datenübertragung

Publications (2)

Publication Number Publication Date
KR20140030214A KR20140030214A (ko) 2014-03-11
KR101936450B1 true KR101936450B1 (ko) 2019-01-08

Family

ID=46085895

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137031201A KR101936450B1 (ko) 2011-04-26 2012-04-26 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치
KR1020137031199A KR101956940B1 (ko) 2011-04-26 2012-04-26 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020137031199A KR101956940B1 (ko) 2011-04-26 2012-04-26 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치

Country Status (8)

Country Link
US (2) US9825852B2 (ko)
EP (2) EP2702495B1 (ko)
JP (2) JP5702505B2 (ko)
KR (2) KR101936450B1 (ko)
CN (2) CN103649933B (ko)
ES (1) ES2549640T3 (ko)
RU (2) RU2596582C2 (ko)
WO (2) WO2012146649A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3002401B1 (fr) * 2013-02-21 2015-03-13 Renault Sa Procede et dispositif de transmission de trames entre deux bus can
EP2800316A1 (en) * 2013-05-01 2014-11-05 Renesas Electronics Europe GmbH Can fd
EP3065960B1 (de) * 2013-11-08 2019-01-16 Carparts Kliem Thomas Verfahren zum betreiben eines fahrzeugtemperiersystems
KR101519777B1 (ko) * 2014-01-29 2015-05-12 현대자동차주식회사 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법
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
KR101573637B1 (ko) 2014-11-03 2015-12-01 현대자동차주식회사 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조
CN104639296B (zh) * 2015-02-28 2018-04-13 安徽江淮汽车集团股份有限公司 一种can总线数据场校验方法及系统
CN107637023B (zh) * 2015-03-26 2021-01-22 大陆-特韦斯贸易合伙股份公司及两合公司 用于在数据总线系统中传输消息的方法、收发器和用于机动车的电子控制单元
CN104866454B (zh) * 2015-04-13 2017-10-03 中国人民解放军国防科学技术大学 面向板级高速总线的写报文前瞻处理方法及装置
JP2016225791A (ja) * 2015-05-29 2016-12-28 株式会社デンソー 車載ネットワークシステム
DE102016116567A1 (de) * 2016-09-05 2017-08-17 Innovative Pyrotechnik Gmbh Elektronischer Detonator
EP3665875B1 (de) 2017-08-08 2022-03-16 Volkswagen Aktiengesellschaft Verfahren zur übertragung von daten über einen seriellen kommunikationsbus, entsprechend ausgelegte busschnittstelle sowie entsprechend ausgelegtes computerprogramm
DE102018203680A1 (de) * 2018-03-12 2019-09-12 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Datenübertragung in einem seriellen Bussystem
US20190319915A1 (en) * 2018-04-16 2019-10-17 Lexmark International, Inc. System and Methods for Changing Addresses of One or More Components
CN115225239A (zh) * 2020-03-02 2022-10-21 上海朗帛通信技术有限公司 一种被用于无线通信的方法和设备
US11526458B2 (en) * 2020-05-18 2022-12-13 Stmicroelectronics Application Gmbh Method of operating a communication bus, corresponding system, devices and vehicle
CN113760630A (zh) * 2020-06-19 2021-12-07 北京沃东天骏信息技术有限公司 一种数据处理方法和装置
KR20220006906A (ko) * 2020-07-09 2022-01-18 주식회사 엘지에너지솔루션 통신 시스템 및 방법
CN115174307A (zh) * 2022-07-07 2022-10-11 合肥智行通智能科技有限公司 一种支持can总线传输多于8字节数据的通讯方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100243869B1 (ko) 1997-03-27 2000-02-01 김영환 컴퓨터용 can 제어카드 및 그 제어방법
US6606670B1 (en) 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
US20070091932A1 (en) 2005-10-17 2007-04-26 Lg Electronics Inc. Method and apparatus for processing data in controller area network
JP2011504630A (ja) 2007-11-23 2011-02-10 イリノイ トゥール ワークス インコーポレイティド データの同期取得及び同期再生のためのシステム、制御装置及び方法

Family Cites Families (64)

* 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
US6467039B1 (en) * 1996-02-22 2002-10-15 Kvaser Consultant Ab Device in a system operating with can-protocol and in a control and/or supervision 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
MXPA02005419A (es) 2000-01-07 2002-11-29 Ibm Metodo y sistema para clasificacion de protocolo y cuadro.
JP3770053B2 (ja) * 2000-05-26 2006-04-26 三菱ふそうトラック・バス株式会社 車両用ネットワークの通信復帰判定方法
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
ATE313195T1 (de) * 2002-04-16 2005-12-15 Bosch Gmbh Robert Verfahren zum synchronisieren von uhren in einem verteilten kommunikationssystem
JP3873815B2 (ja) * 2002-05-31 2007-01-31 株式会社日立製作所 制御ユニット開発装置
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
CA2559234C (en) * 2004-03-10 2012-07-10 Qualcomm Incorporated High data rate interface apparatus and method
JP4401239B2 (ja) * 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 通信メッセージ変換装置、通信方法及び通信システム
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
CA2601572A1 (en) 2005-03-18 2006-09-28 Gatekeeper Systems, Inc. Power generation systems and methods for wheeled objects
JP4207912B2 (ja) 2005-03-24 2009-01-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2006352706A (ja) 2005-06-17 2006-12-28 Hitachi Ltd マイクロプロセッサ、ネットワークシステム及び通信方法
EP1894113B1 (de) 2005-06-23 2020-06-03 Hilscher Gesellschaft für Systemautomation mbH Verfahren zur datenkommunikation von busteilnehmern eines offenen automatisierungssystems
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
WO2009022272A2 (en) 2007-08-16 2009-02-19 Nxp B.V. System and method providing fault detection capability
US8288997B2 (en) 2007-08-24 2012-10-16 Alexander Choi Providing power based on state of charge
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
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
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
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总线的控制器网络监控系统及监控方法
US9088433B2 (en) * 2009-11-10 2015-07-21 Freescale Semiconductor, Inc. Device and method for recording protocol events in an advanced communication system
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
ES2548410T3 (es) 2011-06-29 2015-10-16 Robert Bosch Gmbh Método y dispositivo para la transmisión en serie de datos con un tamaño flexible de mensajes y una longitud de bits variable
JP5713117B2 (ja) 2011-12-02 2015-05-07 株式会社オートネットワーク技術研究所 送信メッセージ生成装置及び車載通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100243869B1 (ko) 1997-03-27 2000-02-01 김영환 컴퓨터용 can 제어카드 및 그 제어방법
US6606670B1 (en) 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
US20070091932A1 (en) 2005-10-17 2007-04-26 Lg Electronics Inc. Method and apparatus for processing data in controller area network
JP2011504630A (ja) 2007-11-23 2011-02-10 イリノイ トゥール ワークス インコーポレイティド データの同期取得及び同期再生のためのシステム、制御装置及び方法

Also Published As

Publication number Publication date
CN103649933A (zh) 2014-03-19
ES2549640T3 (es) 2015-10-30
US20140156887A1 (en) 2014-06-05
CN103649934B (zh) 2016-07-06
KR20140030213A (ko) 2014-03-11
WO2012146631A1 (de) 2012-11-01
JP5723062B2 (ja) 2015-05-27
US20140177651A1 (en) 2014-06-26
RU2013152206A (ru) 2015-06-10
JP2014522140A (ja) 2014-08-28
WO2012146649A1 (de) 2012-11-01
RU2013152205A (ru) 2015-06-10
EP2702497B1 (de) 2016-01-20
US9432289B2 (en) 2016-08-30
KR20140030214A (ko) 2014-03-11
US9825852B2 (en) 2017-11-21
CN103649933B (zh) 2016-10-19
RU2596582C2 (ru) 2016-09-10
EP2702495B1 (de) 2015-09-09
RU2597502C2 (ru) 2016-09-10
JP5702505B2 (ja) 2015-04-15
EP2702497A1 (de) 2014-03-05
EP2702495A1 (de) 2014-03-05
JP2014520418A (ja) 2014-08-21
CN103649934A (zh) 2014-03-19
KR101956940B1 (ko) 2019-03-11

Similar Documents

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