KR101001074B1 - 버스 상에 데이터를 전송하기 위한 방법 - Google Patents

버스 상에 데이터를 전송하기 위한 방법 Download PDF

Info

Publication number
KR101001074B1
KR101001074B1 KR1020057006517A KR20057006517A KR101001074B1 KR 101001074 B1 KR101001074 B1 KR 101001074B1 KR 1020057006517 A KR1020057006517 A KR 1020057006517A KR 20057006517 A KR20057006517 A KR 20057006517A KR 101001074 B1 KR101001074 B1 KR 101001074B1
Authority
KR
South Korea
Prior art keywords
data
block
frame
transmitted
sink
Prior art date
Application number
KR1020057006517A
Other languages
English (en)
Other versions
KR20050052537A (ko
Inventor
뢸 쉬어만스
토비아스 오스트가테
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20050052537A publication Critical patent/KR20050052537A/ko
Application granted granted Critical
Publication of KR101001074B1 publication Critical patent/KR101001074B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

데이터 소스(1)로부터, 가변성의 제한된 수(n)의 데이터 요소를 갖는 프레임의 전송을 지원하는 버스(5) 상의 데이터 싱크(8)로, 데이터 블록을 전송하기 위한 방법은 a) 데이터 싱크(8)로부터 데이터 소스(1)로 전송될 블록 내에 포함된 데이터 요소의 적어도 하나의 수(N)를 특정화시키는 제어 정보를 보내는 단계(S2)와, b) N > n이라면, 전송될 블록의 각각의 n 데이터 요소를 갖는 프레임 int(N/n) 및 데이터 소스(1)로부터 데이터 싱크(8)로 전송될 블록의 (N 나머지 연산자 n) 데이터 요소를 갖는 프레임을 보내는 단계(D4)와, c) 단계 b)에 수신된 데이터 요소의 수가 제어 정보 내에 특정화된 수(N)와 일치한다면, 데이터 싱크(8)를 통해 완료 (S9)로서 블록의 전송을 확인하는 단계를 포함하고, 상기 int(N/n)은 N/n보다 작거나 동일한 가장 큰 정수이다.
데이터 소스, 프레임, 수, 버스, 데이터 싱크, 데이터 블록, 정수, 연산자

Description

버스 상에 데이터를 전송하기 위한 방법 {METHOD FOR TRANSMITTNG DATA ON A BUS}
본 발명은 데이터 소스로부터, 가변성의 제한된 수의 데이터 요소를 갖는 프레임의 전송을 지원하는 버스 상의 데이터 싱크로, 데이터 블록을 전송하기 위한 방법에 관한 것이다. 그러한 블록의 데이터 요소의 수가 프레임 내에서 최대 전송 가능한 데이터 요소의 수보다 크다면, 블록은 복수의 프레임 상으로 분배되어 전송되어야만 한다. 이러한 프레임을 수신하는 데이터 싱크는 이로 인해 복구되어야 한다.
블록의 정확한 복구는, 데이터 소소로부터 데이터 싱크로의 전송시 프레임이 인식되지 못한 채 유실될 수 있다면 또는 블록의 전송시 마지막 프레임을 나타내는 프레임이 그와 같이 인식되지 못하고 추가로 데이터 싱크로부터 나중에 수신되는 프레임이 동일한 블록에 배열된다면, 불가능하다.
하나의 프레임에 완전히 적합하지 않는 다량의 데이터 블록이 전송되야 하는 이러한 문제점은, 특히 CAN 표준에 기초한 데이터 처리 시스템, 예를 들면 차량 기술 분야를 위한 제어 장치의 개발(developing)시에 발생한다. CAN 표준은, 적은 데이터 양을, 주어진 시간 간격 내에서 센서로부터 제어 장치로 또는 제어 장치로부터 차량 엔진의 작동 상태에 영향을 주는 액츄에이터로 또는 차량의 다른 유닛으로 전송하는 데 매우 적합하다. 그러나 그러한 시스템을 개발시키고 최적화하는 과정에서, 호스트 컴퓨터와의 상호 소통에서 디벨로퍼(developer)가 제어 장치의 작동 방식을 보정하고 상세하게 추적할 수 있도록 제어 장치와 통합 개발 환경(Intergrated Development Environment(IDE))의 호스트 컴퓨터 사이에 다량의 데이터 양이 전송되는 것이 종종 필수적이다.
CAN 버스를 통한 그러한 데이터 양의 전송은 상당한 오버헤드(overhead)를 필요로 하고 CAN 버스의 전송 능력의 상당한 부하를 유도한다. 호스트 컴퓨터와 제어 장치의 통신이, 버스에서 발생하고 제어 장치에 의해 실현되는 제어 기능을 위해 필수적인 다른 통신 프로세스와, 전송 능력을 위해 경쟁하는 경우, 전송 능력은 이 모든 기능을 위해 충분하지 않고 장치의 기능성이 손상될 수 있다.
본 발명에 의하면, 전송 오버헤드가 거의 발생하지 않아 버스 상에서 사용되는 대역폭을 효과적으로 사용하는, 데이터 소스와 데이터 싱크 사이의 버스 상으로 데이터 블록을 전송하기 위한 방법이 제공된다. 본 방법은 수신될 소스로부터 예상되는 포맷, 특히 데이터 블록의 데이터 요소의 수를 특정화시키는 데이터 싱크에 관한 것이다. 이러한 요소의 수는 버스 시스템에 의해 지원되는 각각의 프레임 내로 전송 가능한 데이터 요소의 수보다 클 수 있다. 이러한 경우라면, 블록의 데이터 요소는 복수의 프레임 상으로 분배되야 하고 프레임은 버스 상에서 싱크로 전송된다. N이 전송될 블록의 데이터 요소의 수이고, n은 프레임 내에서 최대 전송 가능한 데이터 요소의 수라면, 블록은 int(N/n) 프레임을 완전히 채우고, 여기에서 int(N/n)은 N/n보다 작거나 동일한 가장 큰 정수이다. 이러한 완전히 채워진 프레임이 전송된다면, 이어서 또한 (N 나머지 연산자 n) 데이터 요소를 포함하는 프레임이 전송된다. N 나누기 n이 나머지 없이 나누어질 경우, 이러한 마지막 프레임의 데이터 요소의 수는 또한 0이다. 데이터 요소로부터 가장 높은 수(n)보다 작은 수를 갖는 프레임이 수신되었다는 사실로부터, 데이터 싱크는 블록의 마지막 프레임이라는 결론을 내릴 수 있다. 실질적으로 수신된 데이터 요소의 수와 예상되는 수(N)를 비교함으로써 블록이 완전히 수신되었는 지의 여부를 데이터 싱크 측 상에서 판단할 수 있게 된다.
전송될 블록의 데이터 요소의 수(N)가 프레임 내에서 전송 가능한 데이터 요소의 수(n)보다 작을 경우, 상기 설명된 방법은 불변의 원칙으로 사용 가능하다. int(N/n) = 0인 경우에, 데이터 싱크에 의해 블록의 마지막 프레임으로서 직접 인식된 N 데이터 요소를 갖는 단지 하나의 프레임만이 전송된다.
블록의 데이터 요소의 수(N)가 프레임의 데이터 요소의 수(n)와 일치한다면, 바람직한 특수 제어가 가능하다. 데이터 싱크가 블록의 전송될 데이터 요소의 수를 특정화시키고 싱크가 언제 블록을 수신하는 지를 인식할 수 있기 때문에, 데이터 싱크는 프레임이 완전히 수신된 직후 이미 그 안에 포함된 블록이 완전히 도착한 것을 인식할 수 있다. 유실될 가능성이 있거나 다른 방식으로 오류를 갖도록 전송될 수 있는 어떠한 추가의 프레임도 전달될 수 없기 때문에, 이러한 경우, 싱크가 블록의 완전한 전송을 나타내도록 데이터 요소가 없는 프레임을 전송하는 것은 필수적이지 않다.
바람직하게, 데이터 싱크로부터 데이터 소스로 전송되는 제어 정보는 전송될 블록의 요소의 수 뿐만 아니라, 시점(즉, 주기적인 전송의 경우에서 시점) 및 전송될 파라미터의 유형과 의미를 특정화시킨다.
본 발명의 추가의 특징 및 이점은 첨부된 도면을 참조하여 실시예의 다음의 설명으로부터 명백해질 것이다.
도1은 본 발명에 따른 방법을 사용할 수 있는 예시적인 데이터 처리 시스템의 블록도이다.
도2는 CAN 프레임의 구조이다.
도3은 도1의 제어 장치에 의해 본 발명에 따른 방법의 프레임 내에서 실행되는 처리의 흐름도이다.
도4는 호스트 컴퓨터에 의해 실행되는 처리의 흐름도이다,
도1의 블록도에는 본 발명에 따른 데이터 처리 시스템을 위한 예로서 제어기, 특히 차량 제어 장치를 위한 통합 개발 환경이 도시된다. 이러한 제어 장치(1)는 마이크로 프로세서(2), 메모리 모듈(3) 및 버스, 특히 CAN 버스(5)로의 인터페이스(4)를 포함하고, 인터페이스에는 차량의 작동 파라미터의 측정값이 버스(5)를 거쳐 제어 장치(1)로 전달되고 그리고/또는 제어 장치(1)로부터의 명령을 수용하고 실행하는 차량의 복수의 기능 유닛(6)이 연결된다. 기능 유닛은 예를 들면, 크랭크 축의 회전각에 대한 측정값을 제어 장치(1)로 전달하는 엔진의 크랭크 축에서의 회전각 센서 또는 감지 가능한 회전 각도의 측정값으로부터 제어 장치(1)에 의해 유도된 점화 명령을 수신하는 엔진의 점화 플러그이다. 기능 유닛은 본원에서 상세하게 설명되지 않는 다양한 다른 측정 및 제어 기능을 수행할 수 있다.
제어 장치(1)가 시험 및 개발의 단계에 존재하는 동안, CAN 버스(5)에 인터페이스(7)가 연결되고, 이를 통해 통합 개발 환경의 호스트 컴퓨터(8)는 제어 장치(1)와 통신할 수 있다.
이러한 호스트 컴퓨터(8)에 의해, 예를 들면 다양한 기능 유닛(6)으로부터 제어 장치(1)에 수집되고 메모리 모듈(3)에 저장된 데이터가 판독될 수 있고 마이크로 프로세서(2)의 작동 방식을 판단할 수 있어 마이크로 프로세서(2)의 제어 프로그램에서의 변경을 통해 작동 방식의 가능한 오류를 제거할 수 있는 디벨로퍼로 보내질 수 있다.
마이크로 프로세서(2)가 기능 유닛(6)과 통신할 때, 일반적으로 적은 양의 데이터가 엄격한 시간적 요구 조건 하에서 전송된다. 즉, 기능 유닛(6) 중 하나가 파라미터 값을 전달하면, 전송의 효율성을 개선하도록, 제어 장치(1)는 주어진 짧은 시간 내에 이에 대해 반응해야 하고, 예를 들면 기능 유닛의 복수의 측정값이 수집되고 이러한 복수의 측정값이 오버헤드 정보(Overhead Information) 세트를 갖는 유닛으로서 전송되는 것은 불가능하다. 이러한 이유로 CAN 버스 프로토콜은 전체 전송 데이터 양에서 오버 헤드 할당이 매우 높지만, 짧은 지연을 갖는 데이터 전송을 가능하게 하는 최대 8 바이트(byte)의 유효 데이터 콘텐츠(useful data content)를 갖는 비교적 짧은 프레임을 사용한다.
이해하기 쉽게 하기 위해, 도2에 CAN 프레임의 구조가 상세하게 도시된다. 각각의 시작 비트(S)는 프레임의 개시부를 나타낸다. 여기에, 관련된 CAN 프레임의 유효 데이터가 결정되는 CAN 버스(5)에 연결된 장치[제어 장치(1) 또는 이들 상으로 진행하는 각각의 프로세스, 또는 호스트 컴퓨터(8) 또는 이들 상으로 진행하는 프로세스의 기능 유닛(6) 중 하나]의 확실한 명칭을 포함하는 ID 필드가 준비된 11 비트가 이어진다.
본 발명에서는 중요하지 않고 추가로 자세하게 설명되지 않을 CAN 프레임의 특성을 특정화하는 3개의 스테이터스 플래그(F, status flag)가 이에 연결된다.
이 다음에 L 필드가 준비된 4 비트는 CAN 프레임 내에 포함된 유효 데이터 바이트의 수를 특정화한다. 이러한 수는 0 바이트와 8 바이트 사이에 존재할 수 있다.
연결된 DATA 부분의 길이는 L 필드 내에 주어진 바이트 수에 상응한다.
16 비트의 CRC 체크 넘버 필드(check number field)는 통상적으로 존재하는 필드 내에서 발생하는 전달 오류를 확인하고 제거할 수 있다. 다음에는 두개의 ACK 작동 비트와 프레임의 마지막을 나타내는 비트 패턴을 갖는 ELF 필드가 준비된 7 비트가 온다. 그 다음의 프레임의 개시부까지는 정보를 전송하지 않는 1 내지 3 비트가 삽입될 수 있다.
CAN 프로토콜이 짧은 반응 시간을 사용하여 보다 적은 양의 데이터 전달에서 양호하게 적용되는 동안, 각각의 CAN 프레임에서는 적합하지 않는 상호 관련된 많은 양의 데이터가 전달되야 한다면 문제를 발생시킨다. 이는 버스(5) 상으로 보내지는 각각의 데이터 소스 측에서 복수의 프레임 상으로 분배되어야 하고 이를 수신하는 싱크 측에서 다시 완전히 그리고 올바른 순서로 조합되어야 한다. 이는, 아이덴티피케이션 부분(ID)의 전달시 오류에 의해 데이터 싱크가 이를 위한 소정 프레임에서 동일한 것으로 인식되지 않고 무시된다면, 또는 동일한 이유로 프레임을 이를 위한 소정의 프레임으로서 잘못 이해한다면, 또는 종방향의 필드 L의 수신 시 오류가 발생된다면, 특히 실패할 수 있고, 유효 데이터는 잘못 전달되거나 또는 그와 같이 된다. 이를 방지하거나 그러한 오류를 적어도 인식하여 방지할 수 있도록, 통상적인 시스템에서 각각의 프레임의 8개의 유효 데이터 바이트 중 하나는 데이터 싱크가 그로부터 수신되는 프레임 다음의 갭 또는 그에 잘못 배열된 프레임을 인식할 수 있는 시리얼 넘버를 전송하도록 조치할 수 있다. 그러한 시리얼 넘버의 전송은 보충적인 오버헤드 할당을 증가시키고 데이터 전송의 효율성을 감소시킨다.
이러한 단점을 해결하기 위해, 본 발명은 데이터 싱크의 복수 전송 목적에서 전송될 데이터 세트의 크기가 우선 인식된다는 특징을 갖는다. 측정 데이터 또는 제어 장치(1)의 다른 작동 파라미터가 호스트 컴퓨터(8)로 전송된다면, 이는 도1의 경우에서와 같이 특히 데이터 처리 시스템 내에 존재한다. 이는 제어 장치(1)에 의해 전송될 데이터가 "인식"되고 그러한 크기의 데이터를 인식하는 사전 지시된 호스트 컴퓨터(8)의 동기부 상에 일반적으로 발생된다. 마지막의 데이터 블록이 종결된 것으로 간주되도록 호스트 컴퓨터가 제어 장치에 의해 지시를 수신받는다면, 전송 오류가 발생했는 지를 확인하기 위해, 그로부터 사전 인식된 크기와 실제로 블록 내로 수신되는 데이터의 크기를 충분히 비교할 수 있고, 수신된 데이터 양이 예상된 양과 일치 할 때 전송은 보다 효과적으로 승인된다.
위에 설명된 법칙에 따라 상호 작용할 수 있는 제어 장치(1)와 호스트 컴퓨터(8)의 작동 방법은 도3 및 도4의 흐름도를 참조하여 설명된다.
도3은 본원에서 호스트 컴퓨터(8)의 예를 참조한 데이터 싱크의 작동 방식을 도시하고, 도4는 데이터 소스, 즉 제어 장치(1)의 작동 방식이 도시된다.
단계(S1)에서, 개발부는 제어 장치(1)로부터 호스트 컴퓨터(8) 내로 전송되야 하는 데이터 블록의 구조를 호스트 컴퓨터(8)와 상호 통신하도록 규정한다. 이러한 구조의 규정은 나중에 전송될 프레임이 호스트 컴퓨터 상으로 진행될 프로세스에 대해 배열될 수 있게 하는 아이덴티피케이터(ID)의 값을 각각 고정하는 것을 포함하고, 이는 필수적이다. 또한, 전송될 파라미터를 고정하고, 즉 컨텐츠를 호스트 컴퓨터(8)로 전송해야 하는 레지스터의 리스트 또는 제어 장치(1)의 메모리 모듈(3)의 저장 위치를 고정하고, 이러한 파라미터가 전송되야 하는 순서를 고정한다. 마지막으로, 관련된 저장 위치의 판독이 발생해야 하는 시점이 고정된다. 시점은 각각의 절대적으로 고정된 시점일 수 있고, 이는 외부의 조건의 발생에 대해, 예를 들면 소정의 방해가 발생함에 따라 특정화된 지연과 함께 소정 시간적 관계를 통해 규정될 수 있거나, 특정화된 주기를 갖는 주기적인 전송이 제공될 수 있다.
단계(S2)에서, 고정된 제어 정보가 제어 장치(1)로 전송된다. 편의상 전송될 제어 정보(8)의 크기는 8 바이트를 초과하지 않도록 채택되어야만 하므로, 제어 정보는 각각의 통상적인 CAN 프레임 내로 전송될 수 있다. 전송될 제어 정보가 8 바이트 이상을 포함한다면, 다음의 데이터 소스로부터 테이터 싱크로 데이터 블록의 전송을 위한 설명된 방법은 또한 데이터 싱크로부터 데이터 소스로의 제어 정보의 전송을 위해 사용된다.
제어 정보는 데이터 소스에 의해 본원에서 제어 장치(1)로 수신된다[도4의 단계(D1)]. 그 동안 데이터 싱크는 데이터의 제1 블록을 수신하기 위해 카운터를 N(t) = 0으로 세팅한다(단계 S3). 이어서, 대기 상태(S4)로 이행되고, 이 단계에서는 CAN 버스(5)를 통해 프레임의 도착을 기다린다.
동시에, 데이터 소스는 레지스터를 판독하도록 제어 정보 내에 특정화되는 시점을 기다린다(D2). 주어진 시점에서, 이는 레지스터의 판독으로써 시작되고 CAN 프레임의 헤드 부분(H)을, 즉 도2에서 S로부터 L까지 나타낸 부분을 호스트 컴퓨터(8)로 보낸다. 이는 단계(S5)에서 헤드 부분(H)으로 전송될 아이덴티피케이터(ID)가, 예상된 것과 일치하는 지를 검사한다. 일치하지 않는다면, 호스트 컴퓨터(8)는 대기 상태(S4)로 돌아가거나 아이덴티피케이터(ID)가 마찬가지로 이에 의해 실행되는 다른 프로세스에 상응한다면 다른 처리 프로세스로 분기된다.
그 동안, 제어 장치는 프레임의 데이터 바이트를 단계(D4)로 보낸다. 이어지는 단계(D5)에서 제어 장치는 블록의 규정에 따라 보내질 데이터 바이트가 있는 지를 검사한다. 그러한 경우가 아니라면, CAN 프레임, 즉 CRC 부분으로부터 EOF 부분까지의 꼬리 부분(trailer, 꼬리부)이 단계(D6)로 보내진다. 단계(D7)에서, 블록의 바이트 수(N)가 n에 의해 다양하게 또는 n에 의해 나눌 때 나머지가 없이 나누어지는 지를 검사한다. 이러한 조건이 만족된다면, 단계(D8)에서 유효 데이터가 없는 프레임이 보내지고, 보내질 블록이 단지 하나라면, 상기 방법 전에 단계(D2)로 돌아간다. 그렇지 않다면, 상기 방법은 바로 종결되거고 또는 빈 프레임을 보내지 않고 단계(D2)로 바로 돌아간다.
데이터 바이트가 보내질 수 있도록 검사가 단계(D5)에 이른다면, 상기 방법은 전송 중인 프레임 내로 추가의 바이트가 전송되야 하는 지를 검사하는 단계(D9)로 다시 간다. 전송되야 한다면, 상기 방법은 바이트를 보내도록 단계(D4)로 돌아가고, 전송되지 않아도 된다면, 꼬리 부분이 단계(D10)로 보내지고, 상기 방법은 추가의 프레임의 헤드 부분의 전송을 시작하도록 단계(D3)로 돌아간다.
단계(S5)에서 호스트 컴퓨터(8)가 프레임의 아이덴티피케이터를 정확하다고 간주한다면, 단계(S6)에서 데이터 바이트를 수신하고 수신된 바이트의 카운터 N(t)를 가중시킨다. 이어서, 단계(S7)에서 이러한 프레임 내에 포함된 유효 데이터 바이트의 헤드 부분(H)의 종방향 필드(L)에 주어진 수 n(t)를 유효 데이터 바이트의 최대 허용 가능한 수 n=8과 비교한다. 모든 값이 일치한다면, 상기 방법은 호스트 컴퓨터가 블록을 규정하는 단계(S1)로부터 인식된 전송될 블록에 포함된 데이터 바이트(N)의 전체 수를, 프레임의 최대 허용 가능한 바이트 수(n)와 비교하는 단계(S8)로 분기한다. 모두가 일치하지 않는다면, 추가의 CAN 프레임의 전송이 예상될 수 있고, 동일한 블록의 추가의 바이트가 이송되는 것은 명백하고, 상기 방법은 단계(S4)의 대기 상태로 돌아간다. 그러나, 단계(S7)에서 동일하다는 것이 결정된다면, 이는 블록에서 전체적으로 단지 ≤ 8의 데이터 바이트를 포함한다는 것은 명백하고, 따라서 전송은 완료된다. 이러한 경우에, 상기 방법은 수신된 데이터 바이트의 처리를 위해 단계(S9)로 간다.
현재의 프레임 내에 전달되는 비트 수 n(t)를 최대 허용 가능한 비트 수(n)로 호스트 컴퓨터(8)가 단계(S7)에서 결정한다면, 이는 블록의 마지막 프레임이 명백하다. 호스트 컴퓨터(8)는 단계(S9)로부터 이러한 블록의 지금까지 수신된 데이터 바이트의 수 N(t)와 단계(1)에 관련된 규정에 따른 바이트 수(N)와 비교한다. 동일하지 않다면, 오류가 발생하고 상기 방법은 예를 들면 전체 블록이 폐기되거나 블록의 새로운 전송이 제공될 수 있는 오류 처리 루틴으로 분기되야 한다. 일치한다면, 블록은 올바른 수신으로 간주되고 단계(S9)에서 처리된다.
이어서 상기 방법은 바이트 카운터 N(t)를 새롭게 0으로 삽입하도록 단계(S3)로 돌아가고 추가의 데이터 블록의 전송을 기다린다.
상기 방법에 의해, 복수의 유효 테이터 비트를 포함하는 서로 관련된 유효 데이터 블록의 전송시 CAN 프레임으로서 감지 가능하고, 이는 CAN 프레임의 전체 전송 능력을 이러한 유효 데이터의 전송에 대해 사용할 수 있고 어떠한 보충적인 유효 데이터-전송 능력이 제어 정보의 전송을 위해 제거될 필요가 없다. 상기 방법은 CAN 버스 상으로 데이터 전송과 관련된 현행 기준에 적합하다.

Claims (6)

  1. 가변성의 제한된 수(n)의 데이터 요소를 갖는 프레임의 전송을 지원하는 버스(5) 상에서 데이터 소스(1)로부터 데이터 싱크(8)로, 데이터 블록을 전송하기 위한 방법이며,
    a) 전송될 블록 내에 포함된 적어도 데이터 요소의 수(N)를 특정화시키는 제어 정보를 데이터 싱크(8)로부터 데이터 소스(1)로 보내는 단계(S2)와,
    b) N > n일 경우, 전송될 블록의 각각의 n 데이터 요소를 갖는 프레임들 int(N/n) 및 전송될 블록의 (N 나머지 연산자 n) 데이터 요소를 갖는 하나의 프레임을 데이터 소스(1)로부터 데이터 싱크(8)로 보내는 단계(D4)와,
    c) 상기 단계 b)에서 수신된 데이터 요소의 수가 제어 정보 내에 특정화된 수(N)와 일치할 경우, 데이터 싱크(8)를 통한 블록의 전송이 완료(S9)된 것으로 인식하는 단계를 포함하고,
    상기 int(N/n)은 N/n보다 작거나 동일한 가장 큰 정수인 것을 특징으로 하는 방법.
  2. 제1항에 있어서, N ≤ n일 경우, 데이터 소스(1)는 N 데이터 요소를 갖는 단일 프레임을 보내고 데이터 싱크(8)는 상기 단일 프레임의 수신 후에 상기 블록이 완료(S8)된 것으로 인식하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 데이터 소스(1)는 제어 정보에서 특정화되는 시점에 블록을 보내는 것을 특징으로 하는 방법.
  4. 제1항 또는 제2항에 있어서, 데이터 소스(1)는 제어 정보 내에 특정화된 복수의 파라미터로 블록을 구성하는 것을 특징으로 하는 방법.
  5. 제1항 또는 제2항에 있어서, 버스는 CAN 버스인 것을 특징으로 하는 방법.
  6. 제1항 또는 제2항에 있어서, 상기 방법은 컨트롤러 회로를 위한 통합 개발 환경에 사용되고, 데이터 소스(1)는 컨트롤러 회로이고 데이터 싱크(8)는 호스트 컴퓨터인 것을 특징으로 하는 방법.
KR1020057006517A 2002-10-18 2003-10-17 버스 상에 데이터를 전송하기 위한 방법 KR101001074B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10248672.7 2002-10-18
DE10248672.7A DE10248672B4 (de) 2002-10-18 2002-10-18 Verfahren zur Übertragung von Daten auf einem Bus

Publications (2)

Publication Number Publication Date
KR20050052537A KR20050052537A (ko) 2005-06-02
KR101001074B1 true KR101001074B1 (ko) 2010-12-14

Family

ID=32049426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006517A KR101001074B1 (ko) 2002-10-18 2003-10-17 버스 상에 데이터를 전송하기 위한 방법

Country Status (8)

Country Link
US (1) US7466757B2 (ko)
EP (1) EP1574004B1 (ko)
JP (1) JP4511358B2 (ko)
KR (1) KR101001074B1 (ko)
CN (1) CN100566333C (ko)
AU (1) AU2003281957A1 (ko)
DE (2) DE10248672B4 (ko)
WO (1) WO2004039030A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10254580A1 (de) * 2002-11-22 2004-06-03 Robert Bosch Gmbh Verfahren und Vorrichtung zur Übertragung von Daten in Nachrichten auf einem Bussystem
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
JP4594124B2 (ja) * 2005-02-07 2010-12-08 ルネサスエレクトロニクス株式会社 通信システム及び通信方法
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
GB0723039D0 (en) * 2007-11-23 2008-01-02 Itw Ltd System,controller and method for synchronized capture and synchronized playback of data
US9582452B2 (en) * 2013-06-05 2017-02-28 The Boeing Company Sensor network using pulse width modulated signals
US20150234767A1 (en) 2013-09-23 2015-08-20 Farmobile, Llc Farming data collection and exchange system
JP7269113B2 (ja) * 2019-06-28 2023-05-08 ファナック株式会社 Plc装置、及び制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131809A (en) 1997-11-28 2000-10-17 Diebold, Incorporated Control system communication apparatus and method for currency recycling automated banking machine

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0563632A (ja) * 1991-08-29 1993-03-12 Nec Commun Syst Ltd ページヤーメツセージ分割送信方式
JP3473975B2 (ja) * 1993-09-08 2003-12-08 株式会社日立製作所 ネットワークシステムおよびネットワークにおける通信方法
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
JP3169350B2 (ja) * 1997-12-26 2001-05-21 三菱電機株式会社 パケット伝送システムおよびパケット伝送方法
JP2000151737A (ja) * 1998-06-10 2000-05-30 Matsushita Electric Ind Co Ltd デ―タ送信装置及びデ―タ受信装置
US6434432B1 (en) * 1999-09-15 2002-08-13 Koninklijke Philips Electronics N. V. Method for writing back message ID information to a match ID register and a CAN microcontroller that implements this method
US6732254B1 (en) * 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can device featuring advanced can filtering and message acceptance
US6732255B1 (en) * 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can microcontroller that permits concurrent access to different segments of a common memory by both the processor core and the DMA engine thereof
JP2001101091A (ja) * 1999-09-30 2001-04-13 Fuji Xerox Co Ltd 画像処理システム、画像処理装置及びプロキシサーバ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131809A (en) 1997-11-28 2000-10-17 Diebold, Incorporated Control system communication apparatus and method for currency recycling automated banking machine

Also Published As

Publication number Publication date
WO2004039030A3 (de) 2004-08-12
EP1574004A2 (de) 2005-09-14
CN100566333C (zh) 2009-12-02
JP4511358B2 (ja) 2010-07-28
US20060104371A1 (en) 2006-05-18
DE10248672B4 (de) 2016-02-11
EP1574004B1 (de) 2008-03-19
JP2006503510A (ja) 2006-01-26
CN1706170A (zh) 2005-12-07
WO2004039030A2 (de) 2004-05-06
AU2003281957A1 (en) 2004-05-13
KR20050052537A (ko) 2005-06-02
DE50309435D1 (de) 2008-04-30
US7466757B2 (en) 2008-12-16
DE10248672A1 (de) 2004-04-29

Similar Documents

Publication Publication Date Title
KR101001074B1 (ko) 버스 상에 데이터를 전송하기 위한 방법
KR101956940B1 (ko) 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치
US4675864A (en) Serial bus system
US5845085A (en) System for receiving a data stream of serialized data
US7447976B2 (en) Data transfer apparatus
EP0442053A2 (en) Apparatus for high speed transfer of data
US5889817A (en) Communication system with data comparison circuit
KR100478112B1 (ko) 패킷 제어 시스템 및 통신 방법
US7765317B1 (en) System and methods for locating FPDU headers when markers are disabled
KR20000005265A (ko) 다중 통신 인터페이스 회로 및 그 방법
US5740189A (en) Integrity check method and system for serial-based communication
US20130016762A1 (en) Data communication system, method of optimizing preamble length, and communication apparatus
US5721891A (en) Detection of N length bit serial communication stream
US6693905B1 (en) Data exchange unit
WO2002009405A2 (en) Universal serial bus datapump command interpreter
JP3639455B2 (ja) 多重通信装置
US20240126629A1 (en) Semiconductor device and serial communication interface control method
CN114826814A (zh) 基于不同通信总线之间的数据传输方法和数据传输设备
JP2953878B2 (ja) データ転送システム
JPS63228856A (ja) 通信制御装置
KR100567033B1 (ko) 마스터와 슬레이브가 고정된 동기 시리얼 통신 방법
JPS63228855A (ja) 通信制御装置
CN117687950A (zh) 一种串行传输方法、电子设备及存储介质
CN114625586A (zh) 管脚检测的方法及检测设备
KR940004575B1 (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
FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 10