[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101856222B1 - 데이터 전송 방법 - Google Patents

데이터 전송 방법 Download PDF

Info

Publication number
KR101856222B1
KR101856222B1 KR1020110096879A KR20110096879A KR101856222B1 KR 101856222 B1 KR101856222 B1 KR 101856222B1 KR 1020110096879 A KR1020110096879 A KR 1020110096879A KR 20110096879 A KR20110096879 A KR 20110096879A KR 101856222 B1 KR101856222 B1 KR 101856222B1
Authority
KR
South Korea
Prior art keywords
data
slave
slaves
master
frame
Prior art date
Application number
KR1020110096879A
Other languages
English (en)
Other versions
KR20120031910A (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 KR20120031910A publication Critical patent/KR20120031910A/ko
Application granted granted Critical
Publication of KR101856222B1 publication Critical patent/KR101856222B1/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/42Loop networks
    • 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/42Loop networks
    • H04L12/423Loop networks with centralised control, e.g. polling
    • 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/42Loop networks
    • H04L12/422Synchronisation for ring networks
    • 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/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/43Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4904Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using self-synchronising codes, e.g. split-phase codes
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 직렬 링형 통신 장치(2)의 가입자들 사이에 데이터를 전송하기 위한 방법에 관한 것으로서, 상기 통신 장치에서 가입자들은 서로 직렬 접속되며, 마스터(4)로서 형성된 가입로부터 슬레이브(6, 8, 10)로서 형성된 가입자에게 데이터 패킷이 전달되고, 이때 상기 데이터 패킷은 슬레이브(6, 8, 10)로부터 슬레이브(6, 8, 10)에게 전달되며, 각각의 슬레이브(6, 8, 10)에 의해 데이터 패킷의 어드레스 정보가 변경된다.

Description

데이터 전송 방법 {METHOD FOR A DATA TRANSMITTING}
본 발명은 통신 장치의 가입자들 사이에 데이터를 전송하기 위한 방법 및 통신 장치에 관한 것이다.
많은 네트워크에서 병렬 인터페이스 대신에 직렬 인터페이스가 더 빈번하게 사용된다. 이에 대한 근거로는, 예컨대 핀의 개수와 같은 구조 기술 및 접속 기술에 드는 비용의 감소, 시스템 설계상의 단순화 및 복수의 직렬 인터페이스들의 병렬 사용에 의한 전송 데이터의 밴드폭 스케일 조정 가능성이 있다.
이러한 경향은 특히 복수의 직렬 인터페이스 표준 갖는 컨슈머 일렉트로닉스(Consumer Electronics) 분야에서 두드러진다. 이는 주로 주변 장치들, 예컨대 하드 디스크 또는 디스플레이 장치와의 통신을 위해 사용된다. 그러나, 적은 수의 핀 개수는 차치하고 상기 인터페이스들은 높은 실행 비용을 필요로 하는 복합적인 프로토콜을 사용한다. 논리 칩들(IC들) 사이에, 예컨대 PC의 메인 보드에서 또는 휴대용 장치의 내부에서 데이터 전송을 위해 최근의 인터페이스들은 복수의 직렬 데이터 흐름, 예컨대 PCI-익스프레스 또는 퀵패스를 번들링하고, 이를 통해 시스템 디자이너는 밴드폭 스케일을 조정할 수 있게 된다.
자동차의 분야에서 집적 회로(IC, Integrated Circuit)로 형성될 수 있는 논리 칩들 사이의 데이터 전송을 위해 제어 장치에 직렬 주변장치 인터페이스들(SPI, Serial Peripheral Interface)이 사용된다. 이러한 표준은 마스터로 형성된 모듈과 슬레이브로 형성된 다양한 모듈 사이의 양방향, 동기 및 직렬 데이터 전송을 기술한다. 이러한 경우, 하나의 인터페이스는 마스터와 하나의 슬레이브 사이에 3개 이상의 라인을 포함하는데, 통상적으로는 2개의 데이터 라인과 하나의 클럭 라인을 포함한다. 복수의 슬레이브의 경우, 각각의 이러한 모듈에는 마스터의 하나의 추가 선택 라인이 필요하다. SPI-인터페이스는 데이지 체인 토폴로지 또는 버스 토폴로지의 변환이 가능하다.
몇몇의 경우 SPI-인터페이스는, 예컨대 ESP와 같은 최근의 안전 관련 어플리케이션의 실시간 요청을 충족시키기 위한 시간 임계적 개시 신호의 전송에 적합하지 않다. 종종 SPI-인터페이스로는 진단 및 상태 정보의 교환만이 이루어진다. 시간 임계적 개시 신호는 일반적으로 고비용의 파이머 유닛 및/또는 소유권이 있는 인터페이스를 사용하여 액츄에이터의 개시 모듈에 그리고/또는 센서의 분석 회로로부터 전송된다.
버스 토폴로지의 형태로 SPI-인터페이스를 사용하면, 데이터 전송속도가 높은 경우 열악한 EMV 특성으로 인해 불량한 신호 집적도와 높은 간섭 영향이 가중된다. 또한, 클럭 신호를 갖는 송신 신호만 동기식으로 전달되는 반면, 슬레이브에서의 내부 지연 시간에 의해 수신 신호의 위상 동기식 전송은 데이터 전송속도가 높은 경우 점점 더 구축되기가 어렵고 데이터 전송 시 에러를 야기할 수 있다.
데이지 체인 토폴로지, 즉 링 토폴로지에 SPI-인터페이스를 사용하면 매우 긴 대기 시간이 발생하기 때문에, 오늘날 이러한 형태는 차량의 제어 장치에 효율적으로 사용될 수가 없다.
또한, 링 버스에서 통신을 구현하는 방법은 GB 제2 188 216 A호에도 공지되어 있다. 링 버스의 가이자들 사이에 전송된 정보는, 링 버스의 가용성을 나타내는 복수의 숫자를 포함하는, 소위 헤더를 갖는다. 또한, 최대 지연이 헤더에서 복수의 비트를 나타내는 하나의 시프트 레지스터가 제공되며, 이때 제어 장치는 메시지의 헤더에서 데이터를 조작할 수 있다.
정보 링에서 승인 표시의 전달 방법은 DE 제37 88 604 T2호에 기재되어 있다. 상기 문헌에서는 승인 표시의 우선 순위가 복수의 스테이션을 갖는 정보 링에서 활성화된다. 각각의 해당 영역은 각각의 해당 스테이션을 통해 전달되어야 하는 패킷의 우선 순위에 상응하며, 이때 정보 링의 승인 표시는, 정보 링의 제1 스테이션이 전달할 패킷을 포함하는 프레임을 전달하자마자 제1 스테이션으로부터 전달된다.
예컨대 링형의 직렬 광도파로 버스의 동등한 스테이션들의 통신을 위한 방법 및 장치는 특허공보 DE 제198 03 686 A1호로부터 공지되어 있다. 상기 문헌의 경우 스테이션들에 의해 시간 순환형 컨테이너 텔레그램이 생성되고 어드레스되며 직렬 버스에 제공된다.
본 발명의 과제는 이러한 배경에 기초하여 청구범위 독립항들의 특징을 갖는 방법 및 통신 장치를 제공하는 것이다. 또한, 본 발명의 바람직한 실시예는 종속 청구항들과 명세서에 기술된다.
본 발명에 따른 방법의 경우, 가입자들과 이에 따른 구조상의 링형 직렬 통신 장치의 노트(knot)들의 직렬 접속이 이루어진다. 여기서, 가입자 대 가입자의 데이터 전송은 하나 이상의 비트 기간의 지연으로 이루어질 수 있는데, 이로써 정보를 포함할 수 있는 데이터 패킷은 가입자들 사이에 매우 짧은 대기 시간으로 전송될 수 있다. 상술된 통신 장치는 구조상 동기식의 양방향 통신 시스템 또는 동기식의 양방향 통신 장치로 형성되며, 이때 통신 장치의 구성을 위해 제공된 링-토폴로지를 통해 데이터의 교환이 이루어진다. 하나의 클럭 정보를 포함하는 하나 이상의 데이터 패킷은 하나의 데이터 신호 또는 하나의 신호로 전송된다. 통신 장치는 일 실시예의 경우 링형 네트워크에 상응하는데, 상기 네트워크에서 가입자들은 서로 링 형태로 그리고 직렬로 접속될 수 있다. 이러한 유형의 통신 장치도 링이라고 지칭될 수 있다.
이러한 경우 모든 가입자들을 위한 일괄 어드레스, 예컨대 "00....0"이 제공될 수 있으며, 즉 슬레이브의 구성이 필요하지 않다. 각각의 슬레이브는, 정보를 포함하는 수신된 데이터 프레임의 어드레스 값의 고정값을 변경시키며, 예컨대 감산 또는 가산시킨다. 통상적인 방식으로 슬레이브로서 형성된 모든 가입자의 위치는 통신 장치 내에서 마스터로 형성된 가입자에게만 알려져야 한다.
본 발명의 실시예의 경우, 통신 장치의 인터페이스에의 시스템 클럭 전송은 연속 데이터 전송에 의해, 즉 연속 동기화에 의해, 슬레이브들에서의 클럭 복원에 의해 이루어지는 것이 제공될 수 있다. 또한, 고정된 개수에 따라 데이터 비트에 소위 스터핑 비트가 부가될 수 있는데, 이에 의해 슬레이브들에서 클럭 복원이 보장될 수 있다. 클럭 복원에만 사용되는 스터핑 비트 대신에, 패리티의 검사를 위한 비트도 부가될 수 있다. 패리티 비트의 적합한 선택에 의해 고정된 기간 이내에 비트 흐름에서 하나 이상의 플랭크 변경이 포함되는 것이 보장될 수 있다. 대안적으로 종래 기술로부터 추가의 코딩 방법도 클럭 복원을 위해 이용될 수 있다.
마스터에 의해 사용되거나 가입자들 사이에 교환되는 데이터 프레임 또는 아이들 프레임(idle frame)은 소위 중간 프레임 기호의 비트들의 특수한 순서를 통해 서로 분리된다. 전형적으로 데이터 신호는 클럭 복원을 가능하게 하기 위해 코딩되어 전송되기 때문에, 전형적으로 중간 프레임 기호는 데이터 비트 순서에 상응하지 않는 특수한 "비허용" 신호에 상응한다. 또한, 다른 일 실시예에서는 중간 프레임 기호가 0들 또는 1들의 순서로도 실행될 수 있다. 중간 프레임 기호의 측정에 의해, 즉 플랭크 변경 없는 기간(이때, 상기 기산은 복수의 0들 및/또는 1들에 좌우된다)의 경우, 슬레이브는 데이터 전송 속도를 산출할 수 있어서 대강의 클럭 복원을 수행할 수 있다. 스터핑 비트 또는 패리티 비트의 부가에 의해 데이터 패킷에서 특정 개수의 비트에 따라 플랭크 변경이 야기되며, 이에 의해 오로지 중간 프레임 기호만 최대 길이의 0들 또는 1들을 제공하는 것이 보장되고 이는 동기화를 위한 명확한 비트 순서가 된다. 대안적으로 중간 프레임 기호는 슬레이브에게 알려진 다른 임의의 비트 순서일 수도 있는데, 상기 임의의 비트 순서는 주파수 범위에서 대역 확산을 제공한다.
중간 프레임 기호를 통해 무엇 보다도 신호 전송의 극성(polarity)이 산출될 수 있다. 따라서, 예를 들면 차등 전송의 경우 두 가입자들 사이의 양측 라인은, 예컨대 통신 접속의 도체 트랙 루팅(routing)에서 교차를 방지하기 위한 최적의 레이아웃 구성에 상응하게 설계되어 인쇄 회로 기판에서 임의의 극성을 갖는 집적 회로(IC)들에 접속될 수 있다. 유리하게, 적합한 코딩 선택 시, 예컨대 밀러 또는 변형 주파수 변조에 따른 방법에 의해 정보의 복원은 플랭크의 시간적 위치에만 민감하여, 즉 레벨(level)에 민감하지 않아서, 데이터 신호의 극성은 임의성을 갖는다.
마스터의 아이들 작동, 즉 마스터가 전송할 메시지 없이 존재할 때 슬레이브로부터 정보 및/또는 인터럽트 요청을 수신할 수 있도록, 마스터는 소위 아이들 프레임을 지속적으로 전송한다. 따라서, 아이들 프레임의 전송에 의해 슬레이브의 폴링(Polling)이 이루어진다. 각각의 슬레이브는 아이들 프레임을 확보하여 자신의 데이터 및/또는 하나 이상의 요청요청위 "소프트-인터럽트"로서 그리고 이에 따라 소프트웨어의 인터럽트로서, 예컨대 세컨드-레빌 인터럽트 핸들러(SLIH)로부터, 즉 OSI-층상 모델에 따른 제2 층의 인터럽트를 위한 제어 프로그램으로부터 마스터에게 폴링에 대한 응답으로서 전달할 수 있다. 또한, 마스터의 인터페이스는, 상응하는 방법에 의해 직접 수신될 데이터 및/또는 슬레이브에서 불러 들일 데이터가 마스터의 메모리에 직접 기록되도록 자동화될 수 있다.
가입자의 직렬 인터페이스의 물리층(Physical Layer)은 데이터의 전송이 단지 단방향으로만 이루어지는 단신 모드에서 포인트-투-포인트 접속을 포함한다. 이러한 접속은, 예컨대 CMOS-레벨에 의해 전기적으로 비대칭이거나, 예컨대 차등 LVDS-신호 전송에 의해 전기적으로 대칭이거나, 광학적일 수도 있다. 또한, 전송은, 예컨대 신호 라인 및/또는 공급 라인의 중복 사용을 위해 변조 방법에 의해서도 실행될 수 있다.
또 다른 구성에서 상기 방법은, 각각의 슬레이브 내에서의 신호 재발생을 허용하기 때문에, 상기 신호는 각각 단거리만 브리징하면 된다. 그로 인해 높은 전송 속도에도 불구하고 기술적 비용은 더욱 절감된다.
또한, 상기 방법은 일반적으로 임의의 개수의 슬레이브의 접속을 허용한다. 슬레이브의 개수는 어드레스 공간에 의해 제한되며, 이로써 어드레스 필드의 크기에 의해 제한된다. 슬레이브가 더 추가되어도 예컨대 신호 품질과 같은 전기적 특성이나 통신 장치의 전자기적 호환성에는 영향이 미치지 않는다.
상기 방법을 통해, 모든 슬레이브가 적어도 상기 슬레이브의 통신용 인터페이스 및 클럭 발생과 관련하여 기능할 수 있게 되는 점이 포괄적으로 보장될 수 있다.
바람직한 실시예에서, 차량 제어기로서 형성된 차량용 기기 내부의 주문형 집적회로(ASIC)와 마이크로컨트롤러 사이에 데이터 전송이 이루어질 수 있다. 이 경우, 상기 방법의 범주에서, 하나의 기기에 상응하는, 그리고/또는 그러한 기기에 할당되는, 하나 이상의 가입자를 위한 직렬 인터페이스가 정의된다. 상기 인터페이스를 사용하여, 전술한 방법의 적어도 일부의 단계들이 실행될 수 있다. 일반적으로 전술한 통신 장치 및 전술한 방법은 데이터 전송에 기반한 다양한 전자기계 장치들에서 관련 기기들 및 가입자를 위해 사용될 수 있다.
예컨대 링형 구조를 갖는 통신 장치에 대한 일 실시예에서는 본 발명에 따라 가입자용 어드레싱 컨셉이 제공되며, 이때 일 가입자로부터 다음 가입자에게 데이터 패킷이 전달될 때 적어도 하나의 비트 기간 만큼의 지연이 실시된다.
따라서 본 발명을 통해서, 제어 장치 내에 논리 칩으로서 형성될 수 있는 가입자들 간의 직렬 데이터 전송을 위한 통신 장치 및 방법이 제공될 수 있다. 가입자로는, 슬레이브로서 하나 이상의 이산형 논리 칩(ASIC)이 제공되고, 하나 이상의 슬레이브를 제어하기 위한 마스터로서 하나의 논리 칩(마이크로컨트롤러)이 제공된다. 이 경우, 논리 칩들, 즉 마이크로컨트롤러 및/또는 ASIC 상에서 높은 데이터 전송 속도가 간단하게 경제적으로 구현될 수 있으며, 이러한 구현은 인쇄회로기판상의 소량의 연결 라인 및 논리 칩의 소량의 핀을 사용하여, 즉 구성 및 접속 기술과 관련하여 적은 비용을 들여 실현될 수 있다. 또한, 상기 방법은 차량 애플리케이션에 전형적인 SPI 인터페이스의 경우보다 데이터 전송 속도가 더 높은 전송을 가능케 한다. 데이터 신호가 코딩된 클럭 신호를 통해, 라인 루팅 및 지연 시간과 무관하게 위상 동기 전송이 보장된다.
가입자들은 통신 장치 내에서 보통 링 토폴로지 형태로 배치되므로, 가입자들은 최소 개수의 핀과 포인트-투-포인트 접속을 통해 연결될 수 있다. 링 토폴로지에서는 가장 느린 가입자가 버스 속도를 결정한다. 경우에 따라, 상이한 링에 위치한 가입자들의 통합 또는 그룹핑이 이루어질 수 있으며, 이때 본 발명에 따른 통신 장치의 자립적인 실시예로서의 상기 각각의 링 내에서 본 발명에 따른 방법의 일 실시예가 실행될 수 있다. 하나의 제어 장치 내에 복수의 기능 그룹이 통합될 경우, 예컨대 마이크로컨트롤러가 상이한 기능 유닛들의 하나 이상의 ASIC와 통신할 경우, 각각의 기능 그룹은 일반적으로 각각 하나의 독립된 링 장치를 이용한다.
마이크로컨트롤러는 보통 마스터로서 작용하기 때문에 버스 아비트레이션을 필요로 하지 않는다. 따라서 마스터는, 역시 마스터-슬레이브 컨셉인 현재의 SPI 프로토콜에 상응하게, 이른바 폴링을 통해 주기적으로 슬레이브들을 폴링할 수 있다.
SPI 표준에 따라 동기 데이터 전송이 실시될 수 있다. 물론 데이터와 클럭을 위해 별도의 라인은 불필요하다. 제공된 인터페이스는 데이터 신호 내 클럭의 코딩된 전송, 예컨대 8B/10B 코딩, 맨체스터(Manchester) 코딩 또는 밀러 코딩 또는 변형 주파수 변조를 제공한다. 그 결과, 데이터 전송 속도가 낮은 경우, 선행 가입자와 후행 가입자에게 각각 1개씩의 라인이 할당되며, 상기 가입자 당 단 2개의 핀이 제공된다. 데이터 전송 속도가 높은 경우에는 선행 가입자와 후행 가입자에게 각각 2개씩의 라인이 할당되며, 상기 가입자 당 4개의 핀을 사용한 상이한 전송이 제공된다. 클럭 정보의 코딩된 전송을 통해, 비용이 절감될 뿐만 아니라, 가입자들 간의 전송 경로 상에서 클럭과 데이터 사이의 지연도 발생하지 않을 수 있다. 시스템 클럭은 마스터에 의해 사전 설정되며, 모든 슬레이브는 고유의 로컬 클럭 복원 모듈을 사용하여, 예컨대 위상 제어 루프를 통해, 또는 메시지 신호로의 상응하는 동기화를 수반하는 오버샘플링을 이용하여 동기화된다.
전송 시작 시 초기화 중에, 마스터가 데이터 패킷들을 발송하는 제1 인터페이스에서 시작하여, 예컨대 링형으로 형성된 통신 장치 내의 제1 슬레이브에 동기화 신호를 전송한다. 제1 슬레이브, 즉 수신기의 시스템 클럭이 마스터와 동일 위상에 놓이는 즉시, 다음 슬레이브로의 동기화 신호의 전달이 시작된다. 이 경우, 인접한 가입자의 인터페이스들 간에 데이터 패킷 전달이 실시된다. 상기 과정은 전체 통신 장치에 의해 진행된다. 예컨대 링 형태로 형성된 통신 장치의 모든 슬레이브의 동기화가 완료된 후에는, 마스터 내 수신기, 일반적으로는 데이터 패킷을 수신하는 제2 인터페이스도 적응될 수 있다. 링을 통한 데이터 프레임 또는 아이들 프레임의 전송 시 마스터 내에 공지되지 않은 지연으로 인해, 또는 그에 수반하는, 고유 시스템 클럭에 대한 위상 오프셋으로 인해, 초기화의 마지막 단계에서 마스터 내에서도 위상 추적이 수행된다. 마스터의 수신기 내 위상도 추적됨에 따라 모든 가입자가 동일 위상에 놓이며, 이제 데이터 패킷들은 동기화되어 전송될 수 있다.
지속적인 재동기화에 의해 슬레이브들 내 클럭 복원 모듈의 주파수 변동을 방지하기 위해, 이른바 연속 작동에서의 데이터 및 그와 더불어 데이터 패킷의 연속 전송이 사용될 수 있다. 그로 인해, 먼저 연속 전송(이른바 Continuous Transmission Mode) 시와는 달리 패킷 지향 전송(이른바 Burst Transmission Mode)의 경우에 필요한, 데이터 패킷 시작 시의 동기화 패턴을 위한 오버행(overhang)이 생략된다. 연속 동기화의 가능성으로 인해 슬레이브들은, 공지된 시스템의 경우에는 통상 통신 인터페이스 외에 추가로 공급되어야 하는 시스템 클럭도 필요로 하지 않는다. 그 결과, 추가의 라인 및 핀이 절약될 수 있다. 선택적으로, 상기 연속 작동은 EMV 특성의 개선을 위한 대역 확산 기법의 사용을 제공한다. 또한, 패킷 지향 전송(이른바 Burst Transmission Mode)의 사용도 가능하며, 이 경우 마스터로부터 슬레이브들로의 시스템 클럭의 전송을 위해 추가의 라인이 필요하다.
또 다른 실시예에서, 통신에 관여하는 가입자들은 시프트 레지스터를 갖는다. 이 경우, 시프트 레지스터의 자동 클럭 공급이 실시되며, 이때 클럭 복원 모듈을 이용하여 마이크로컨트롤러로서 형성된 마스터의 타임 베이스용 클럭이 복원된다. 시프트 레지스터는 상기 클럭의 클럭 신호로써 자동으로 데이터를 전송한다. 비트들이 개별적으로 처리될 수 있기 때문에, 가입자 당 일 비트 기간의 최소 대기 시간이 달성될 수 있다. 따라서 하나의 메시지를 포함한 하나의 데이터 패킷이 링을 통해 전송되기까지 걸리는 대기 시간이 감소하고, 그럼으로써 통신 장치의 실시간 성능이 보장될 수 있다. 적어도 하나의 클럭 만큼의 메시지 최소 지연을 통해, 각각의 가입자 측에서는 추가로 신호 처리, 즉 이른바 비트 재형성(bit reshaping)이 실시되며, 이는 레벨 및/또는 시간과 관련하여 작용할 수 있다.
본 발명의 범주에서 가입자의 어드레싱은 별도의 선택 신호를 통해 수행되는 것이 아니라, 데이터 프레임 또는 아이들 프레임으로서 형성된 데이터 패킷 내에서의 어드레싱을 통해 수행된다. 연속 데이터 흐름 내에서 어드레스 필드를 검출하기 위해, 구성 시 데이터 패킷의 시작 기호와 끝 기호에 상응하는 중간 프레임 기호가 부가된다.
중간 프레임 기호는 데이터 프레임의 프리앰블로도 간주될 수 있으며, 이로써 슬레이브들은 다음 데이터들에 동기화될 수 있다. 이를 통해 프레임의 동기화가 이루어지며, 이때 각각의 가입자에게 중간 프레임 기호 이후에는 항시 데이터가 전송된다는 사실이 공지된다. 중간 프레임 기호는 가변 데이터 길이의 변환에도 사용될 수 있다.
마스터는 어드레싱을 통해 슬레이브들에 응답하며, 상응하는 명령어를 통해 데이터를 기록하거나 판독할 수 있다. 중간 프레임 기호 바로 다음에 예약 토큰, 즉 비트 정보에 의해, 프레임이 유효 데이터로 점유되었는지, 그리고 어드레싱된 가입자만 데이터 프레임을 처리할 수 있는지의 여부가 시그널링될 수 있다. 이러한 전용 비트를 통상 예약 토큰이라 지칭하며, 상기 예약 토큰에 의해 데이터 패킷이 데이터 프레임을 포함하는지 아니면 아이들 프레임을 포함하는지가 시그널링된다.
본 발명의 한 가능한 실시예에서는, 수신된 데이터 패킷의 어드레스의 어드레스 값의 각각의 슬레이브가 고정값을 가산하거나 감산한다. 이 경우, 가입자의 어드레싱 시, 현재 어드레스 "1"의 각각의 가입자가 가산하거나 감산하는 방식으로 링형 네트워크로서 형성될 수 있는 통신 장치의 링 토폴로지가 사용되며, 그로 인해 오로지 "0"만을 포함하는 어드레스("000...0")에서 원하는 가입자가 어드레싱될 수 있다. 상기 방법의 실행 시, 모든 가입자, 통상 모든 슬레이브는 동일한 어드레스에 대해 민감하다. 이러한 감산 또는 가산은 일반적으로 데이터 프레임이 유효 데이터를 포함하고 있는 경우, 즉 예약 토큰이 중간 프레임 기호 이후에 세팅된 경우에만 실시된다. 이는 어드레스 "LSB-First", 즉 제1 최하위 비트(least significant bit)의 어드레스가 전송됨으로써, 1-비트 감산기에 의해 구현된다.
수신된 어드레스의 어드레스 값이 "000...0"이면, 현재 슬레이브를 위한 후속 데이터가 결정되어, 상기 슬레이브에 의해 처리된다. 또한, 데이터 프레임 내 어드레스 필드의 어드레스 값은 전술한 절차에 의해, 즉 "1"만큼의 감산, 1회의 오버플로우에 의해 자동으로 "111...1"로 세팅되며, 이로써 상기 데이터 패킷이 메시지로서 마스터에까지 전달되고, 예컨대 상기 메시지의 올바른 수신에 대한 확인 응답을 포함할 수 있거나, 직접적으로 답신을 포함할 수 있는 점이 보장된다. 상기 데이터 패킷은 통신 장치 내 다음 가입자에게 전달된다. 이때, 후속하는 모든 슬레이브에 의해 새로 세팅된 어드레스 값에 대해 변형, 예컨대 감산 또는 가산이 수행된다. 데이터 프레임의 어드레스 필드 내 어드레스 값이 슬레이브 내에서 최상위 값으로 자동 세팅됨으로써, 어느 슬레이브로부터 메시지가 전송되었는지가 마스터에 의해 파악되며, 이때 마스터는 어드레스 값의 구조를 토대로 세팅된 어드레스 값에 대해 얼마나 많은 변형 또는 변경이 수행되었는지를 파악할 수 있으며, 이 경우 수행된 변형의 횟수는 하나의 슬레이브에 의해 어드레스 값이 세팅된 후 데이터 패킷을 수신하여 전달한 슬레이브의 개수에 상응한다.
전술한 인터페이스를 사용하면 상이한 프레임 길이들 간의 전환이 수행될 수 있다. 고정 프레임 길이가 선택되는 한, 상황에 따라 작은 데이터 패킷들이 하나의 큰 프레임 형태로 전송될 수 있다. 이 경우, 데이터 프레임을 더미 데이터로 채워야 한다. 가변 프레임 길이가 변경될 수도 있는데, 이 경우 중요치 않은 데이터 프레임들은 단지 인계만 될 뿐이므로, 슬레이브들의 시프트 레지스터의 길이는 서로 무관할 수 있다.
프레임 길이가 가변적일 경우, 슬레이브는 아이들 프레임을 통해 마스터에게, 슬레이브로부터 유효 데이터가 전송되어야 한다는 요청을 시그널링할 수 있으며, 이어서 상기 유효 데이터는 마스터에 의해 적절한 길이의 데이터 프레임의 전송을 통해 검색된다.
슬레이브가 마스터의 요청 없이 마스터에게 데이터를 전달해야 할 경우, 슬레이브는 마스터로부터 전송된 아이들 프레임을 점유할 수 있다. 이를 위해, 중간 프레임 기호 다음의 비트, 이른바 예약 토큰이 세팅된다. 데이터 프레임의 어드레스 필드 내 어드레스 값은 통상 아이들 프레임을 점유한 슬레이브에 의해 최상위 값("111...1")으로 세팅된다. 이는, 슬레이브의 아이들 프레임 내 어드레스 값이 "111...1"로 세팅되어, 각각의 슬레이브에서 데이터 프레임의 어드레스 필드 내 어드레스의 감산 또는 가산을 통해 마스터에게 전달되는 방식으로 실시될 수 있다. 값 "111...1"로의 어드레스 세팅은 예컨대 전체 어드레스 비트가 "1"로 오버라이트되는(overwrite) 논리합 연산을 통해 수행될 수 있다. 이 경우에도 마스터는 슬레이브들에 의해 수행되는 어드레스 필드의 변형 횟수를 토대로, 어느 슬레이브에 의해 아이들 프레임이 점유되고, 어드레스 필드에 대한 어드레스 값이 새로 세팅되었는지를 파악할 수 있다. 이러한 구현을 통해, 데이터 프레임 또는 아이들 프레임 내 어드레스 필드는 마스터에 의해 전송될 때 랜덤 데이터를 포함할 수 있으며, 그로 인해 대역 확산이 이루어질 수 있고, 그와 더불어 더 나은 EMV 특성이 달성될 수 있다. 인터페이스의 또 다른 한 실시예에서는, 아이들 프레임이 유효 데이터 필드를 하나더 포함할 수도 있으며, 이는 슬레이브로 하여금 아이들 프레임에 의해 사전 설정된 데이터 길이를 초과하지 않는 데이터의 직접 전송을 가능케 한다.
아이들 프레임의 구성에 유효 데이터 필드가 포함되지 않을 경우, 슬레이브는 단지 인터럽트, 예컨대 소프트 인터럽트를 마스터에 전송하고, 마스터가 다음 사이클에서 상기 슬레이브에게 적절한 데이터 프레임을 발송하기를 기다릴 수 있을 뿐이다. 상기 데이터 프레임에는 세팅된 예약 토큰 및 슬레이브의 어드레스가 구비된다. 이제 데이터 프레임의 컨텐츠 내에는 예컨대 레지스터 판독 명령어가 재차 포함되며, 이어서 슬레이브는 기존의 정보를 데이터 프레임 또는 특히 아이들 프레임으로 카피한다. 그러나 아이들 프레임이 유효 데이터 필드를 포함하는 경우, 슬레이브는 전송할 데이터가 아이들 프레임의 데이터 필드의 길이를 초과하지 않는다면 상기 데이터를 직접 부가할 수 있다.
이러한 통신 버전에서 시그널링을 트리거하기 위해서, 통신 장치 내에서의 슬레이브의 위치에 따라 슬레이브의 우선순위가 결정된다. 이때, 인터페이스의 일 실시예에서 슬레이브는 상기 슬레이브에 할당된 비트의 세팅을 통해 마스터에게 신호를 전달할 수 있다. 그러나 상기 경계 조건은 인쇄회로기판의 레이아웃 또는 구성에 있어서 극심한 제약을 야기할 수 있다. 이를 방지하기 위해, 중간 프레임 기호 및 예약 토큰 다음에 통신 장치 내 가입자로서의 슬레이브의 수에 상응하게, 통신 장치 내에서 인터럽트를 트리거할 수 있는 가입자의 수, 통상적으로는 슬레이브의 수와 적어도 같은 수의 비트가 뒤따른다. 그에 따라, 마스터로부터 데이터를 수신할 뿐 마스터에게 메시지를 전달하지는 않는 가입자는 인터럽트 능력이 없으므로, 아이들 프레임을 무시한다. 따라서 이러한 유형의 가입자를 위해서는 아이들 프레임 내에 인터럽트 비트가 보유될 필요도 없다. 인터럽트 능력을 지닌 가입자에 의해 인터럽트가 트리거되어야 하는 경우, 상기 가입자는 그에게 할당된 비트를 세팅한다. 인터럽트 처리의 우선순위 결정은 마스터(마이크로컨트롤러)에서 수행될 수 있다.
고정 비트의 할당이 제공되는 변형예는, 통신 장치 내에서의 슬레이브의 위치에 대한 정보 및/또는 아이들 프레임 내에서 슬레이브에 할당된 비트의 정보를 필요로 한다. 인터페이스의 또 다른 한 실시예에서는 슬레이브에 고정 비트가 할당되지 않는다. 그 대신, 예약 토큰 다음의 아이들 프레임의 비트 시퀀스가 각각의 슬레이브에 의해 한 자리 만큼 이동되고, 새로운 비트가 부가된다. 이 경우, 각각 마지막 비트의 정보는 손실된다. 그러나 이러한 점이 어떠한 제약을 의미하는 것은 아니다. 왜냐하면 전송 시작 시, 즉 마스터에 의한 아이들 프레임의 전송 시, 아이들 프레임은 아무런 정보도 지니고 있지 않으며, 상기 아이들 프레임 내에 보유된 비트의 수는 인터럽트 요청을 취소할 수 있는, 통신 장치의 슬레이브 수와 적어도 거의 동일하기 때문이다. 인터럽트 요청 또는 준비되어 있는 데이터를 위한 토큰이 트리거되는 경우에 한해 슬레이브에 의해 부가된 비트가 세팅될 수 있다. 그렇게 하여 각각의 슬레이브 내에 동일한 알고리즘이 저장되며, 마스터는 통신 장치 내 가입자의 위치 정보를 토대로 인터럽트 요청을 상응하게 할당하여, 원하는 우선순위에 따라 처리할 수 있다.
또 다른 한 실시예에서는 에러 변형도 부가될 수 있다. 통신 장치가 링형으로 형성된 경우, 상기 통신 장치는 링 토폴로지에 기반하여, 마스터가 링을 통한 전송 후 수신된 메시지를 상기 마스터에 의해 본래 전송된 메시지와 비교하여 에러가 없는 전송 또는 에러가 있는 전송을 추론할 수 있는 방식으로 설계될 수 있다. 시스템의 보다 효율적인 이용을 보장하기 위해, 일반적으로 슬레이브의 질의에 대한 응답은 마스터에게 직접 전송된다. 그 대안으로, 최근의 SPI 통신 설계에 상응하게, 슬레이브의 응답이 상기 슬레이브에 어드레싱된 다음 데이터 패킷에 의해서 비로소 수행될 수도 있다. 선택적으로, 체크섬(check sum) 기법으로서 순환 중복 검사(Cyclic Redundancy Check, CRC)가 수행될 수 있거나, 데이터 프레임 내에서의 패리티 검사가 추가될 수 있으며, 수신하는 가입자는 그의 응답 말단부에서 수신 확인 응답(Acknowledge)을 수행할 수 있다. 또한 선택적으로, 데이터 프레임의 어드레스 필드에도 패리티 비트를 추가할 수 있다.
선택적으로, 데이터 프레임에서 일반적으로 제공되어 전송자(즉, 마스터)로부터 링을 통해 완전히 전송되는 데이터를 갖는 메시지가 다음 데이터 프레임의 전송이 실행되기 전에 마스터에서 다시 디코딩되도록, 데이터가 전송될 수 있다. 대안적으로, 데이터의 연속적 비트 흐름도 선택될 수 있으며, 즉 다음 데이터 프레임의 전송은 이전 메시지가 수신된 이후에야 실행되는 것이 아니라 바로 후속해서 실행된다. 이러한 경우, 어드레싱이 중첩될 때, 하나의 슬레이브의 소프트 인터럽트가 아직 처리되기 전에 마스터에 의해 (즉, 마스터는 슬레이브의 위치를 알아낸다) 상기 슬레이브의 소프트 인터럽트가 정확히 처리되는 것이 프로토콜에서의 아비트레이션에 의해 보장된다. 이러한 시나리오는 신뢰성을 가지며 설명한 비트 전송층의 구성에 영향을 미치지 않는다.
데이터 흐름이 연속적인 경우, 중간 프레임 기호의 길이는 예컨대 가입자의 수(일반적으로, 링형 통신 장치의 실시예에서 슬레이브의 수)에 상응할 수 있다. 각각의 가입자가 통상 하나의 비트 기간에 의해 지연됨으로 인해, 링을 통과하는 전송의 기간은 중간 프레임 기호의 전송 기간에 정확히 상응한다. 따라서 중간 프레임 기호의 길이 또는 중간 프레임 기호 전송의 시간적 기간은 링을 통과하는 전송의 지연 시간에 상응하게 선택된다. 이로써 지속적 데이터 흐름이 제공되며, 이는 예컨대 슬레이브의 동기화에 긍정적으로 작용한다. 이와 동시에, 마스터는 순환하는 메시지를 다음 데이터 프레임의 전송 전에 디코딩할 수 있다. 이로써 세부적인 소프트-인터럽트에 대해 신속하게 반응할 수 있으며, 슬레이브에 의한 인터럽트 요청이 중단되는 것과 마스터에 의한 요청에 반응하는 것 사이가 중첩되지 않게 된다.
선택적으로, 수신된 데이터(예컨대, 센서 데이터)를 메모리 내에 직접 기록하기 위해, 마스터의 추가 로직 모듈이 실행될 수 있다. 더욱이, 슬레이브의 폴링은 자동화될 수 있다. 이로써 소프트웨어 상호 작용이 감소할 수 있으므로, 중앙 처리 유닛(CPU)의 부하가 감소하게 된다. 또한, 주문형 집적회로(ASIC)(슬레이브)의 레지스터는 마이크로컨트롤러(마스터)의 메모리 내에 투명 저장될 수 있다. 가능한 HW 모듈은 DMA, 트랜스퍼 유닛 또는 메시지 박스로서도 종래 기술에 공지되어 있다.
이미 언급한 대역 확산 기법 외에, 블록 동기화된 스크램블러를 사용할 옵션도 있다. 블록 동기화된 스크램블러의 경우, 송수신되는 가입자의 데이터에 동일한 m-시퀀스 모듈로-2가 동시에 가산된다.
본 발명의 범주 내에 제공된 가입자용 인터페이스는 자동차 분야의 어플리케이션을 위해 사용될 수 있다. IIC(Inter-Integrated Circuit) 및 SPI(Serial Peripheral Interface)와 같은 공지된 표준에 상응하게, 언급한 인터페이스는 마찬가지로 보편적으로 사용될 수 있으므로, 자동차 분야에 또는 제어 장치들(ECUs)에 사용하는 것에 국한되지 않는다.
본 발명에 따른 통신 장치는 제안된 방법의 전체 단계를 실행하도록 형성된다. 이 경우 상기 방법의 개별 단계들은 통신 장치의 개별 구성 요소들(일반적으로 가입자들)에 의해 실행될 수 있다. 또한, 통신 장치의 기능들 또는 통신 장치의 개별 구성 요소들의 기능들은 상기 방법의 단계로서 실행될 수 있다. 더욱이, 상기 방법의 단계는 통신 장치의 하나 이상의 구성 요소 또는 전체 통신 장치의 기능으로서 구현될 수 있다.
본 발명의 추가의 장점들과 실시예는 상세한 설명 및 첨부된 도면에 나타나 있다.
전술한 그리고 추후에 더 설명할 특징들은 본 발명의 범주를 벗어나지 않으면서, 제시된 각각의 조합뿐만이 아니라 다른 조합으로도 사용될 수 있거나 단독으로 사용될 수 있다.
본 발명에 따른 통신 장치의 가입자들 사이에 데이터를 전송하기 위한 방법 에 따르면, 가입자들과 이에 따른 구조상의 링형 직렬 통신 장치의 노트(knot)들의 직렬 접속이 이루어진다.
도 1은 본 발명에 따른 통신 장치의 실시예의 개략도.
도 2는 본 발명에 따른 방법의 실시예에서 사용되는, 데이터 프레임을 구비한 데이터 패킷의 구조에 대한 실시예의 개략도.
도 3은 본 발명에 따른 방법의 다양한 실시예에서 사용되는, 아이들 프레임을 구비한 데이터 패킷에 대한 실시예의 도면.
도 4는 본 발명에 따른 방법의 추가 실시예에 대한 흐름도(이때 슬레이브의 어드레싱이 처리됨).
도 5는 본 발명에 따른 방법의 추가 실시예에서 사용되며 블록 동기화된 스크램블러의 블록 회로도의 개략도.
본 발명은 실시예들을 토대로 도면에 개략적으로 도시되어 있으며, 후속해서 도면을 참조로 예시적으로 설명된다.
도면들은 서로 연관되어 전체적으로 설명되며, 동일한 도면 부호들은 동일한 부품들을 표시한다.
도 1에 개략적으로 도시된 통신 장치(2)의 실시예는 링형으로 형성되며, 직렬로 연속해서 접속된 복수의 가입자 즉, 마스터(4)와, 제1 슬레이브(6)와, 제2 슬레이브(8) 및 제n 슬레이브(10)를 포함하고, 이들은 라인의 섹션(12)에 의해 서로 연결된다. 또한, 마스터는 데이터 패킷 전송을 위한 제1 디지털 직렬 인터페이스(14)를 포함하며, 규정에 따라 마스터(4)는 상기 인터페이스에 의해 라인의 처음에 또는 끝에 연결된다. 또한, 마스터(4)는 데이터 패킷 수신을 위한 제2 디지털 직렬 인터페이스(16)를 포함하며, 규정에 따라 마스터(4)는 상기 인터페이스에 의해 라인의 끝에 또는 처음에 연결된다. 이때 제1 직렬 인터페이스(14)는 시스템 클럭(18)에 연결된다. 제2 직렬 인터페이스(16)는 위상 위치 검출용 모듈(20)[소위, 지연 로크된 루프(Delay Locked Loop)]에 연결된다. 또한 마스터(4)만이 수정 진동자 발진기(22)에 연결된다.
슬레이브들(6, 8, 10) 각각은 슬레이브 인터페이스(24)로서 형성된 디지털 직렬 인터페이스를 포함하며, 이는 2개의 접속부(12) 뿐만 아니라 데이터 라인에 연결된다. 이로써 2개의 가입자들 사이에 하나의 접속부가 존재한다. 또한, 각각의 직렬 슬레이브 인터페이스(24)는 클럭 복원 모듈(21)에 연결되며, 상기 클럭 복원 모듈로부터는 로컬 시스템 클럭(19)이 유도될 수 있다.
통신 장치(2)의 가입자들 사이의 통신을 제공하기 위해, 본 발명의 실시예에서는 마스터(4)의 시작 인터페이스(14)로부터 시작해서, 비트 흐름(26)을 통해 슬레이브(6, 8, 10)의 직렬 슬레이브 인터페이스(24)로부터 직렬 인터페이스(24)로 정보가 데이터 패킷으로서 연속적으로 전송된다. 데이터 패킷이 마지막 슬레이브(6, 8, 10)[본원에서는 제n 슬레이브(10)]에 도달한 이후, 데이터 패킷은 마지막 슬레이브(10)의 슬레이브 인터페이스(24)로부터 마스터(4)의 마지막 인터페이스(16)로 전달된다.
링 토폴로지형 통신 장치(2)의 경우, 복수의 슬레이브들(6, 8, 10), 즉 본원에서 동일한 로컬 어드레스를 갖는 ASIC들은 각각 디지털 슬레이브 인터페이스(24)에 의해, 본원에서 마이크로컨트롤러로서 형성된 마스터(4)에 직렬로 연결된다. 상기 실시예의 경우, 마스터(4)만이 링형 통신 장치(2) 내 각각의 슬레이브(6, 8, 10)의 위치를 알고 있다.
본 발명의 실시예에서, 슬레이브(6, 8, 10)로서 형성된 링 토폴로지형 통신 장치의 가입자 또는 노드는, 각각의 슬레이브(6, 8, 10)가 수신된 어드레스의 어드레스 값, 통상 하나 이상의 슬레이브에 정보를 전달하기 위해 제공된 데이터 프레임의 어드레스 필드의 어드레스 값을 고정값 만큼 변형시켜 다음 가입자에게 전달하도록 형성된다. 이때 상기 어드레스 값은 예컨대 고정값 "1" 만큼 감산될 수 있다. 어드레스 값의 이러한 변동은 다른 데이터 패킷을 위한 구성에서도 실행될 수 있는데, 이는 상기 유형의 데이터 패킷이 데이터 프레임을 포함하는 것이 아니라, 하나의 정보를 갖는 하나의 아이들 프레임만을 포함할 때에도 가능하다.
데이터 패킷의 데이터 신호로부터 클럭 정보를 복원하기 위한 코딩 방법은, 패리티 비트를 등거리로 부가함으로써, 정해진 기간 내에 하나 이상의 플랭크 변경이 비트 흐름(26)에 포함되도록 실행된다. 연속적인 데이터 전송에 의해 통신 장치(2)의 슬레이브(6, 8, 10)가 동기화될 수 있다. 적합한 다른 코딩 방법도 적용될 수 있다.
데이터 패킷은 마스터(4)로부터 제1 슬레이브(6)로, 슬레이브(6)로부터 슬레이브로(8), 마지막 슬레이브(10)까지 차례로 전달되며 마지막 슬레이브(10)로부터 마스터(4)로 전달된다. 이로써 데이터 패킷은 통신 장치(2)의 가입자 전체를 통과한다. 하나 이상의 슬레이브(6, 8, 10)에 대한 정보 전달에 사용되는 데이터 프레임은 어드레스를 갖는 어드레스 필드를 포함한다. 각각의 슬레이브는 수신된 데이터 프레임의 어드레스 값을 전달될 정보와 함께 예컨대 감산 또는 가산에 의해 고정값 만큼 변동시켜 다음 가입자에게 전달한다. 이때 어드레스 값은 정해진 알고리즘에 따라 각각의 슬레이브에 의해 동일한 방식으로 변동한다. 도시된 통신 장치(2) 내에서, 슬레이브(6, 8, 10)는 동일한 로컬 어드레스를 포함한다. 또한, 모든 슬레이브에는 통신 인터페이스를 위한 동일한 알고리즘이 저장된다. 이 경우 통상적으로 인터칩 통신을 위한 모듈만이 동일하며, 그 외에 가입자는 매우 상이한 기능들을 포함할 수 있다.
이하 설명되는 데이터 프레임 또는 아이들 프레임은 예시적 실시예만을 나타낸다. 데이터 블록들 사이에 추가의 비트를 위치 설정하거나 데이터 프레임 내 블록들의 배치를 바꾸는 것도 가능하다.
본 발명에 따른 방법의 실시예에서 전송되는 데이터 패킷(30)에 대해 도 2에 도시된 실시예는 시작 시에 제1 인터프레임 기호[IFS 또는 중간 프레임(32)]를 포함하며, 종료 시에 제2 중간 데이터 기호(34)를 포함한다. 통상적으로 동일한 상기의 두 중간 프레임 기호들(32, 34) 사이에서, 데이터 패킷(30) 내부에 데이터 프레임(36)이 배치된다. 데이터 프레임(36)의 시작 시, 상기 데이터 프레임은 제1 중간 프레임 기호(32) 직후 예약 토큰(38)을 포함하며, 이는 어떠한 유형의 데이터 패킷(30)이 순환하는지에 대한 정보를 제공한다. 도 2에는, 예약 토큰(38)이 예컨대 값 "0"을 포함함으로써 프레임이 데이터 프레임(36)으로서 형성되는 실시예가 제시되어 있다. 예약 토큰(38) 이후, 데이터 프레임(36)은 어드레스에 대한 어드레스 값을 갖는 어드레스 필드(40)를 포함한다. 또한, 데이터 프레임(36)은 본원에서 유효 데이터로서 형성되고 추가의 체크섬과 패리티 비트도 포함할 수 있는 명령어 및 데이터와, 본래의 정보(42)를 포함한다.
도 3a에는 본원에서 아이들 프레임(52)으로서 형성된 프레임의 제1 변형예를 포함하는 데이터 패킷(50)의 추가 실시예가 개략도로 도시되어 있다. 상기 데이터 패킷(50)도 제1 중간 프레임 기호(32)로써 시작하며 제2 중간 프레임 기호(34)로써 종료된다. 상기 두 중간 프레임 기호들(32, 34) 사이에는, 데이터 프레임(36)을 갖는 제1 데이터 패킷(30)과 달리 예약 토큰(54)이 값 "1"을 포함함으로써 프레임을 아이들 프레임(52)으로서 분류하는 아이들 프레임(52)이 위치한다. 또한, 상기 아이들 프레임(52)은 어드레스 값을 갖는 어드레스 필드(43)를 마찬가지로 포함한다. 그러나, 상기 도면에 도시된 아이들 프레임(52)의 실시예 및 데이터 패킷(50)은 정보와 유효 데이터를 포함하지 않는다.
마스터는 폴링을 실행하기 위한 아이들 프레임(52)을 도 3a에 도시된 데이터 패킷(50)에 의해 연속적으로 슬레이브에 전송한다. 각각의 슬레이브는 이러한 데이터 패킷(50) 내에 데이터를 부가할 수 있고 그리고/또는 하나 이상의 요청("소프트 인터럽트")을 마스터에 전송할 수 있다. 통상적으로 이는 슬레이브가 예약 토큰(54)(일반적으로, 예약 비트)을 반전시켜 어드레스 값을 "111...1"로 세팅하는 형태로 실행된다. 예약 토큰(54)이 활성화됨으로써 프레임은 상응하는 데이터 프레임의 후속 가입자에 대해 차단된다. 또한, 각각의 후속 가입자는 도 2의 데이터 프레임에서의 절차에 상응하게 고정 데이터값만큼 어드레스 값을 변형시킨다. 따라서 데이터 패킷(50)은 마스터까지 전달되며, 마스터는 어떠한 슬레이브가 인터럽트 요청을 제기하는지를 어드레스 정보를 토대로 재연산할 수 있다.
도 3b에 개략적으로 도시된 데이터 패킷(56)의 제3 실시예는 마찬가지로 제1 중간 프레임 기호(32)를 포함하며, 종료부에는 제2 중간 프레임 기호(34)를 포함한다. 또한, 상기 데이터 패킷(56)은 본원에서 아이들 프레임(58)의 제2 변형예로서 형성된 프레임을 포함한다. 상기 아이들 프레임(58)은 값 "1"을 갖는 예약 토큰(54)을 포함하며, 예약 토큰은 상기 프레임을 아이들 프레임(58)으로서 규정한다. 또한, 아이들 프레임(58)은 본원에서 유효 데이터로서 형성된 데이터를 포함하는 메시지(60)와, 어드레스 값을 갖는 어드레스 필드(43)를 포함한다.
상기 아이들 프레임(58)은 슬레이브에 의해 마스터 정보에 대한 데이터로 점유될 수 있으며, 이 경우 예약 토큰(54)이 세팅된다. 아이들 프레임(58)에서 어드레스 필드(43)의 어드레스의 어드레스 값은 최대값 "111....1"로 세팅된다. 이는 아이들 프레임(58)의 어드레스 값이 슬레이브에 의해 "111...1"로 세팅되고 각각의 후속 슬레이브에서 데이터 프레임의 어드레스 필드의 어드레스가 감산 또는 가산됨으로써 마스터에 전달되도록 실행될 수 있다. 전체 어드레스 비트가 "1"로 오버라이트됨으로써 상기 어드레스는 예컨대 논리합 연산에 의해 값 "111...1"로 세팅될 수 있으며, 이 경우 아이들 프레임(58)의 어드레스 필드(43)는 랜덤 데이터를 포함할 수 있다. 아이들 프레임(58)에 의해 사전 설정된 데이터 길이를 초과하지 않는 유효 데이터는 정보에 의해 슬레이브에 직접 전송될 수 있다. 세팅된 어드레스의 어드레스 값의 사전 설정된 변형 횟수는 후속 슬레이브의 수에 상응한다. 이로써 마스터는, 어떠한 슬레이브가 아이들 프레임(58)을 데이터로 점유해서 어드레스 필드(43)를 새로이 세팅하는지를 산출할 수 있다.
도 3c에 도시된 데이터 패킷(62)의 제4 실시예는 제1 중간 프레임 기호(32) 및 제2 중간 프레임 기호(34) 외에도, 아이들 프레임(64)으로서 형성된 프레임을 포함하며, 이는 본원에서 아이들 프레임(64)의 제3 변형예로서 형성된다. 이 경우에도 프레임의 유형은 본원에서 값 "1"을 포함하는 예약 토큰(54)에 의해 아이들 프레임(64)으로서 규정된다. 또한, 아이들 프레임(64)은 제1 슬레이브에 할당된 제1 인터럽트 비트(66)와, 제2 슬레이브에 할당된 제2 인터럽트 비트(68)와, 제3 슬레이브에 할당된 제3 인터럽트 비트(70) 및, 제n 슬레이브에 할당된 제n 인터럽트 비트(72)를 추가의 비트로서 포함한다.
이에 따라, 데이터 패킷(62)에서는 통신 장치의 각각의 슬레이브를 위해 중간 프레임 기호(32) 및 예약 토큰(54)에 후속해서 인터럽트 비트(66, 68, 70, 72)로서 형성된 비트가 뒤따른다. 슬레이브에 의해 인터럽트가 트리거되어야 하는 경우, 상기 인터럽트에 할당된 인터럽트 비트(66, 68, 70, 72)가 상기 슬레이브에 의해 트리거된다. 이러한 실시예에서 인터럽트 비트(66, 68, 70, 72)의 순서는 통신 장치에 따른 슬레이브의 순서에 상응하며, 이때 인터럽트 비트의 순서는 통신 장치에 따른 순서를 반드시 지키지 않아도 된다.
데이터 패킷(74)의 제5 실시예에 대해 도 3d에 도시된 실시예는 마찬가지로 제1 중간 프레임 기호(32)로써 시작하며 제2 중간 프레임 기호(34)로써 종료된다. 또한, 데이터 패킷은 본원에서 값 "1"을 포함하고 상기 데이터 패킷(74)의 하나의 프레임을 아이들 프레임(76)으로서 규정하는 예약 토큰(54)을 포함한다. 또한, 아이들 프레임(76)은 가변의 수의 인터럽트 비트(80, 82, 84) 즉, 통신 장치의 제n-1 슬레이브를 위한 제n-1 인터럽트 비트(80)와 통신 장치의 제1 슬레이브를 위한 제1 인터럽트 비트(82)를 추가의 비트로서 포함한다. 또한, 도 3d에는 제n 슬레이브를 위해 부가되는 추가의 제n 인터럽트 비트(78)가 도시되어 있다. 또한, 아이들 프레임의 상기 변형예는 제x 인터럽트 비트(84)를 포함한다.
아이들 프레임(76) 내의 제n 슬레이브를 통한 제n 인터럽트 비트(78)의 부가에 따른, 아이들 프레임(76) 내부의 인터럽트 비트(80, 82, 84)의 이동은 본 도면에서 화살표(86)를 통해 도시된다. 이에 따라, 아이들 프레임(76) 내에서는 인터럽트 비트(78, 80, 82, 84)의 순서가 각각의 슬레이브의 예약 토큰(54)에 따라 하나의 위치만큼 이동할 수 있고, 새로운 인터럽트 비트(78)가 부가될 수 있다. 마스터로부터 최초 전송된 아이들 프레임(76)은 유효 데이터를 포함하지 않는다. 보유된 인터럽트 비트(78, 80, 82, 84)의 개수는 통신 장치 내의 인터럽트 가능한 슬레이브의 개수보다 많거나 동일하다. 인터럽트가 트리거되는 경우에, 이러한 인터럽트는 제n 슬레이브에 의해 부가된 제n 인터럽트 비트(78)를 통해 세팅될 수 있다. 인터럽트가 트리거되지 않아야 하는 경우에는, 마찬가지로 비트가 부가되지만, 이 경우 비트가 세팅되지는 않는다. 기본적으로, 보유된 인터럽트 비트의 개수는 통신 장치 내의 슬레이브의 개수보다 적게 설계될 수도 있으나, 이 경우 각각의 슬레이브가 인터럽트 비트를 세팅할 수 있는 상태는 아니다. 이러한 경우, 연결된 슬레이브의 통신 모듈들은 상이하게 설계되거나, 적어도 상이하게 구성되어야 하는데, 이는 바람직한 해결책에 상응하지 않는다.
도 2, 도 3a, 및 도 3b에 도시된, 데이터 패킷(30, 50, 56)에 대한 실시예는 각각 하나의 어드레스 필드(40, 43)를 포함하고, 이러한 어드레스 필드의 구조, 즉 대체로 어드레스 값의 구조를 통해, 도 1에 도시된 통신 장치(2)의 실시예와 같이 데이터 패킷(30, 50, 56)이 마스터(4)로부터 제i 슬레이브(6, 8, 10)로 또는 제i 슬레이브(6, 8, 10)로부터 마스터(4)로 어드레싱될 수 있다.
일 실시예에서, 어드레스 필드(40, 43)의 상술한 구조는 N 비트들을 포함한다. N 비트들로 표현 가능한 최대의 2진수 수치는 가입자의 수보다 더 크거나 동일해야 하고, 전형적으로는 슬레이브(6, 8, 10)의 수(n)보다 더 크거나 동일해야 한다. 본 발명에 따른 방법의 일 실시예에서는 전송된 데이터 패킷(30, 50, 56)이 제i 슬레이브(6, 8, 10)로 향하며, 마스터(4)에 의해서 어드레스 필드는 2진수(i)가 할당된다.
이러한 데이터 패킷(30, 50, 56)은 마스터(4)로부터 슬레이브(6, 8, 10)로 전송되며, 데이터 패킷이 통과하는 제i 슬레이브(6, 8, 10)에 이르기까지의 각각의 슬레이브(6, 8, 10)는 데이터 프레임의 어드레스 필드 내 어드레스 값을 고정 값만큼, 예를 들어 값 "1"만큼 변형하고, 예를 들어 감산한다. 감산 시에 너무 적은 오버플로가 발생하는 경우에, 어드레스 값은 불균일하게 "00...0"이며, 이에 따라 검사하는 슬레이브(6, 8, 10)에는 데이터 패킷(30, 50, 56)이 슬레이브를 위해 결정되지 않은 것이 신호화된다. 제i 슬레이브(6, 8, 10)에 도달하자마자, 상술한 오버플로가 발생하고, 제i 슬레이브(6, 8, 10)는 수신된 데이터 프레임이 처리될 수 있음을 감지하며, 즉 대개의 경우 데이터 패킷(30, 50, 56)의 컨텐츠, 예를 들어 정보(42, 60)가 이러한 제i 슬레이브(6, 8, 10)를 위해 결정됨을 인지한다.
인터페이스의 대안적인 일 실시예에서, 일 실시예의 어드레스 값은 n 비트들을 포함한다. 이에 따라, n 슬레이브들(6, 8, 10) 각각을 위해 어드레스 값의 하나의 비트가 제공된다. 본 발명에 따른 방법의 일 실시예에서, 전송된 데이터 패킷(30, 50, 56)이 제i 슬레이브(6, 8, 10)로 향하게 되는 경우, 마스터(4)에 의해서 어드레스 값의 i 값이 가장 낮은 비트들은 각각 세팅되고, n-i 값이 가장 높은 비트들은 세팅되지 않는다. 대안적으로 i 값이 가장 높은 비트들은 세팅되고, n-i 값이 가장 낮은 비트들은 세팅되지 않을 수도 있다.
이러한 데이터 패킷(30, 50, 56)은 마스터(4)로부터 슬레이브(6, 8, 10)로 전송되며, 데이터 패킷(30, 50, 56)이 실행하는 제i 슬레이브(6, 8, 10)에 이르기까지의 각각의 슬레이브(6, 8, 10)는 각각 하나의 세팅된 비트를 삭제하고 이에 따라 변형시킨다. 제i 슬레이브(6, 8, 10)에서 데이터 프레임(36)의 도달 시에 모든 비트들은 삭제되고, 즉 세팅되지 않으며, 이에 따라 데이터 패킷(30, 50, 56), 대개는 데이터 패킷(30, 50, 56)의 컨텐츠, 예를 들어 정보(42, 60)가 이러한 제i 슬레이브(6, 8, 10)를 위해 결정된다는 사실이 제i 슬레이브(6, 8, 10)에 신호화된다.
따라서, 데이터 패킷(30, 50, 56)이 제공되거나 결정되는 제i 슬레이브(6, 8, 10)는 어드레스 값을 위해 하나의 오버플로를 생성한다. 이러한 오버플로 및/또는 이러한 오버플로를 통해 생성되는 어드레스 값 구조를 통해, 데이터 패킷(30, 50, 56)이 이러한 어드레스 값을 향한다는 사실이 제i 슬레이브(6, 8, 10)에 신호화된다. 통신 장치의 후속하는 가입자, 즉 하나 이상의 슬레이브(6, 8, 10) 또는 경우에 따라 마스터(4)로의 데이터 패킷(30, 50, 56) 전달 이전에, 이러한 제i 슬레이브(6, 8, 10)에 의해서는 어드레스 필드(40, 43)의 어드레스 값의 모든 N 비트들이 동일한 값으로 세팅되며, 예를 들어 모든 비트들이 "1"로 세팅되거나 모든 비트들이 "0"으로 세팅된다. 후속하는 n-i 슬레이브들(6, 8, 10)은 데이터 패킷(30, 50, 56)을 이미 얻은 다른 i 슬레이브들(6, 8, 10)과 같이, 어드레스 필드(40, 43)의 새롭게 세팅된 어드레스 값을 변형시킨다. 따라서, 새롭게 세팅된 어드레스 값은 n-i회 변형된다. 이러한 데이터 패킷(30, 50, 56)을 재차 얻은 마스터(4)는 어드레스 값의 구조에 의해서, 즉 변형된 비트들의 개수에 의해서, 이러한 어드레스 값이 n-i회 변형되었다는 사실을 인지할 수 있다. 이에 의해, 마스터(4)에는 데이터 패킷(30, 50, 56)이 제i 슬레이브(6, 8, 10)에 의해 처리되었다는 사실이 표시된다.
제i 슬레이브(6, 8, 10)가 데이터 패킷(50, 56)의 아이들 프레임(52, 58)에 마스터(4)를 위한 정보를 할당하는 경우, 이러한 제i 슬레이브(6, 8, 10)는 어드레스 필드(43)의 어드레스 값을 마찬가지로 새롭게 세팅한다. 이러한 경우에도, 마스터(4)가 자신에 제공된 정보를 갖는 데이터 패킷(50, 56)을 얻자마자 마스터는 어드레스 값의 구조에 의해서, 이러한 데이터 패킷이 후속하는 n-i 슬레이브들(6, 8, 10)에 의해 n-i회 변형되었다는 사실과 정보가 제i 슬레이브(6, 8, 10)에서 유래했다는 사실을 인지할 수 있다.
승인 토큰으로도 지칭될 수 있는 예약 토큰(38, 54)은 데이터 패킷(30, 50, 56, 62, 74)이 데이터 프레임(36)(예약 토큰 = "0") 또는 아이들 프레임(52, 58, 64, 76)(예약 토큰 = "1")을 포함하는지를 정의한다. 정의에 따라서, 예약 토큰(38, 54)의 비트 값은 교환될 수도 있다. 세팅되거나 세팅되지 않은 예약 토큰(38, 54)은 할당되거나 자유로운 승인 토큰으로 간주될 수 있다.
도 1의 통신 장치(2)는 자동차 제어 장치 내의 ASIC들과 마이크로컨트롤러 사이의 데이터 패킷(30, 50, 56, 62, 74)의 전송을 위해 자동차 내에 형성될 수 있으며, 이러한 제어 장치는 통신 장치(2)의 가입자들을 포함한다.
통신 장치의 우선 순위 제어를 위한 프로토콜은 각각의 슬레이브가 요청("소프트 인터럽트")을 마스터에 전송할 수 있도록 형성되는데, 이는 도 3a, 도 3b, 도 3c, 및 도 3d에 의해 설명된다. 이와 같이, 각각의 슬레이브에는 통신 인터페이스의 동일한 알고리즘이 저장되고, 마스터는 슬레이브로서 형성된 가입자의 위치 정보에 의해 인터럽트를 상응하게 할당하고 원하는 우선 순위에 따라, 도 3c 및 도 3d에 상응하는 데이터 패킷 내의 복수의 인터럽트 요청이 전송 가능한 경우에는 처리할 수 있다. 우선 순위 제어를 위한 프로토콜에 의해, 하나 이상의 슬레이브로부터 아이들 프레임을 포함하는 데이터 패킷을 통하여 요청이 마스터에 전송될 수 있다.
신호로부터 클럭 정보를 복원하기 위한 코딩은 패리티 비트가 등거리에서 데이터 프레임에 부가되도록 실행될 수 있으므로, 전송된 비트 흐름은 설정된 기간 내에 하나 이상의 플랭크 변경을 포함한다.
마스터의 정지 상태에서 슬레이브로부터 정보를 수신할 수 있도록, 마스터는 슬레이브의 폴링을 실행하기 위해 연속적으로 아이들 프레임을 전송한다. 각각의 슬레이브는 아이들 프레임에 데이터를 할당할 수 있고, 이러한 데이터 및/또는 소위 "소프트 인터럽트"로서 그리고 이에 따라 소프트웨어의 인터럽트로서의 하나 이상의 요청을, 예를 들어 세컨드-레빌 인터럽트 핸들러(Second-Level Interrupt handler)(SLIH)에 의해, 즉 OSI 계층 모델에 따른 제2 층의 인터럽트를 위한 제어 프로그램에 의해, 폴링에 대한 응답으로서 마스터에 전송할 수 있다.
도 4에 도시된 흐름도에는 본 발명에 따른 방법의 추가 일 실시예에서 예를 들어 링형 통신 장치 내의 가입자로서 n 슬레이브를 통해, 마스터로부터 전송된 데이터 프레임 어드레스 필드 내 어드레스의 어드레스 값을 처리하는 일 실시예가 도시되어 있다. 이 경우, 어드레싱은 각각의 링형 슬레이브 내의 데이터 전송 시에 구현된다.
또한, 중간 프레임 심볼의 검출(90)을 통해서는 도달하는 데이터 패킷의 수신이 검출된다. 이어서, 검사(92)에서는 데이터 패킷의 프레임의 예약 토큰이 값 "0" 또는 값 "1"을 갖는지가 검사된다.
예약 토큰이 세팅되지 않는 경우, 수신 데이터 패킷은 아이들 프레임의 변형예를 포함한다. 이러한 경우, 제i 슬레이브를 통해 필요한 경우 인터럽트(94)와 이에 따라 마스터에 대한 요건 및/또는 요청이 트리거될 수 있다. 이에 따라, 제i 슬레이브에는 마스터에 전달되는 정보를 수신 데이터 패킷에 할당하는 가능성이 제공된다.
그렇지 않으면, 예약 토큰이 세팅되므로, 데이터 패킷은 데이터 프레임을 포함한다. 이러한 경우, 어드레스 필드의 변형 또는 처리가 실행된다. 이러한 어드레스 값(ADDR[1...N])은 본 실시예에서 N 비트들 또는 지점을 포함한다. 이 경우, N 비트들로 구성된 최대의 2진수는 적어도 통신 장치 내 슬레이브들의 개수(n)에 상응한다.
어드레스 필드를 변형하기 위해, 단계(96)에서는 변수(i)에 값 "1"이 할당된다.
이어서, 수신 데이터 프레임의 어드레스 필드(ADDR[1...N])에서 제1 어드레스 비트(ADDR[1])의 반전(98)이 실행된다. 값이 가장 낮은 비트의 개시를 수반하는 어드레스의 전송에 의해, "ADDR[1]"의 반전은 어드레스 값의 감산 "1"에 상응한다.
다음의 처리 단계(100)에서는 값 "1"에 대한 반전(98)의 결과가 검사된다. 값(ADDR[1])이 "1"이 아닌 경우, 즉 값이 "0"인 경우에는, 감산 시에 오버플로가 발생하지 않은 것이다. 이러한 경우, 슬레이브는 변형된 어드레스를 갖는 데이터 패킷을 다음 제i+1 슬레이브로 재차 이동시킨다. 추가로 슬레이브를 통한 처리가 필요하지 않으므로, 이러한 슬레이브는 본 방법에 따라 중간 프레임 기호의 새로운 검출(90)을 기다리고, 도중에 수신하는 비트들을 변화하지 않도록 재차 이동시킨다.
단계(100)에서의 검사 시에 "ADDR[1]"이 값 "1"을 갖는 것으로 나타나는 경우에는, 감산 시에 오버플로가 발생한 것이다. 이 경우, 슬레이브는 단계(102)에서, 길이(N)를 갖는 어드레스 필드 전부가 이미 통과되었는지를 검사해야 한다. 통과되지 않은 경우에는, 변수(i)가 값 "1"만큼 상승한다[단계(104)]. 이어서, 그 다음 높은 값의 비트의 반전(98)이 실행된다.
루프는 반전된 어드레스 비트가 "0"을 나타낼 때까지 어드레스 필드의 후속하는 비트들을 위해 통과된다. 오버플로가 발생하지 않은 경우, 즉 어드레스 필드 전부가 아직 통과되지 않은 경우, 슬레이브에는 수신 데이터 패킷이 슬레이브를 위해 결정되지 않았고, 이러한 슬레이브가 다시 단계(90)로 분기되어, 다음 데이터 패킷의 가능한 처리에 의해 계속되기 위해 다음의 입력 중간 프레임 기호를 기다린다는 사실이 신호화된다. 그러나, 오버플로가 발생하고 이에 따라 어드레스 필드의 모든 지점들이 세팅되는 경우, 즉 "11...1"을 포함하는 경우, 슬레이브에는 이에 따라, 수신 데이터 패킷이 슬레이브를 위해 결정되었고, 처리되어야 한다는 사실이 신호화된다. 이러한 경우, 폴링은 단계(102)에서 실행되고, 이로써 변수(i)는 값(2N-1)(N 비트들로 구성된 최대로 나타날 수 있는 값)에 상응하고, 이로써 어드레스 필드의 모든 비트들은 반전된다. 어드레스 필드의 평가 결과는 단계(106)이고, 이러한 단계에서는 수신 데이터 패킷(30)의 프레임은 데이터 프레임(36)이며, 데이터 패킷(30) 내의 이러한 데이터 프레임(36)을 수신하는 제i 슬레이브를 위해 결정된다는 사실이 검출된다. 후속적으로, 제i 슬레이브를 통해서는 정보(42) 내 지시의 평가와 정보(42)의 데이터 처리가 실행된다.
흐름도에 도시된 단계들은 예를 들어 카운터, 인버터를 통해, 그리고 비교기들에 의해 임의의 슬레이브 및/또는 특정 슬레이브의 구성 요소의 인터페이스로서 실행될 수 있다. 본 방법의 도시된 실시예에서, "1"에 의한 감산자가 세팅된다. 대체로 감산 또는 가산의 다른 구현예도 가능하고, 이에 따라 다른 고정 값을 갖는 어드레스의 변형을 위해서도 가능하다.
도 5에는 블록 동기화 스크램블러(110)의 일 실시예를 위한 블록 회로도가 도시되어 있다. 이러한 블록 동기화 스크램블러는 전송하는 가입자로서 마스터(114)(μC) 내에 배치되는 제1 m-시퀀스-제네레이터(112)와, n m-시퀀스-제네레이터들(116)을 포함하며, 본 실시예에서는 제i m-시퀀스-제네레이터만이 제i 슬레이브(118)(ASIC) 내에 나타난다. 마스터(114)와 n 슬레이브들(118) 사이에서는 비트 흐름(122) 내 데이터 패킷의 코딩된 전송(120)이 실행된다. 이러한 경우, 전송 경로(120)는 추가의 가입자를 포함할 수 있다. 또한, 각각의 슬레이브 내에서 메시지가 우선 m-시퀀스-제네레이터(116)를 통해 디코딩된 후, 상이할 수도 있는 추가의 m-시퀀스-제네레이터(112)에 의해 새롭게 코딩되는 것도 가능하며, 즉 각각 전송 경로(120)는 2개의 가입자 사이에서 코딩된다. 이러한 경우, 전송 경로(120)는 추가의 가입자들을 포함하지 않는다. 또한, 비트 흐름에서 선택된 부분, 전형적으로는 유효 데이터만이 스크램블되는 것도 가능하다.
상술한 대역 확산 가능성과 더불어, 블록 동기화 스크램블러(110)를 사용하는 선택 사항이 있다. 블록 동기화 스크램블러(110)에서는 전송하는 가입자, 본 실시예에서는 마스터(114)와, 수신하는 가입자, 본 실시예에서는 제i 슬레이브(118) 내의 데이터에 동일한 m-시퀀스 모듈-2가 동시에 가산된 후, 2로 나눈 나머지가 가산된다.
대체로, 연속적인 비트 흐름에서 수신하는 가입자와 전송하는 가입자 내의 블록 동기화 스크램블러(110)의 m-시퀀스가 동기화될 때는 모든 메시지에 걸친 결과 에러가 발생할 수 있다. 해결책을 제공하기 위해, 본 발명의 범주에서는 중간 프레임 기호를 통한 동기화가 사용된다. 블록 동기화 스크램블러(110)의 설계에서 데이터 패킷의 비트 흐름은 m-시퀀스에 상응하지 않는다. 또한, m-시퀀스에 의한 비트 흐름의 모듈-2-가산의 설계에서 중간 프레임 기호가 생성되지 않는 것이 가능할 수 있다. 이러한 코딩에 의해서는, 프레임, 대개 아이들 프레임은 개별 가입자에서 코딩되는 반면, 다른 가입자, 상황에 따라서는 비용면에서 유리한 가입자 또는 짧은 프레임 길이를 갖는 가입자는 대역 확산을 위한 코딩을 포함하지 않는 것도 가능하다. 또한 다양한 코딩들의 조합이 가능하다.
본 방법에 의해서는 본 발명의 일 실시예에서 직렬의 링형 통신 장치(2)의 가입자들 사이의 데이터 전송이 가능하다. 이러한 통신 장치(2) 내에서는 가입자들이 서로 직렬로 연결되고, 마스터(4)로서 형성된 가입자로부터 슬레이브(6, 8, 10)로서 형성된 추가의 가입자에게 데이터 패킷(30, 50, 56, 62, 74)이 전달되며, 데이터 패킷(30, 50, 56, 62, 74)은 슬레이브(6, 8, 10)로부터 슬레이브(6, 8, 10)에게 전달된다. 데이터 패킷(30, 50, 56, 62, 74)의 컨텐츠는 어드레스 정보를 포함한다. 이러한 어드레스 정보는 데이터 패킷(30, 50, 56, 62, 74)의 어드레스 필드(40, 43) 내에 배치되어 어드레스 값으로서 형성될 수 있다. 본 방법의 실시예에서는 각각의 슬레이브(6, 8, 10)에 의해 어드레스 값과, 이에 따라 수신 데이터 패킷(30, 50, 56, 62, 74)의 어드레스 정보가 예를 들어 고정 값 만큼 변경된다.
이 경우, 어드레스 필드(40, 43)는 데이터 패킷(30, 50, 56, 62, 74) 내에서 임의로 위치할 수 있다. 이에 따라, 슬레이브(6, 8, 10)를 통해서는 데이터 패킷(30, 50, 56, 62, 74)의 변형이 실행된다. 각각의 슬레이브(6, 8, 10)는 어드레스 값과, 이에 따라 데이터 패킷(30, 50, 56, 62, 74) 내의 어드레스 정보를 동시에 변화시키며, 각각의 슬레이브(6, 8, 10)에 의해서는 동일한 수학 연산, 대개 가산 또는 감산이 실행된다. 또한, 모든 슬레이브들(6, 8, 10)은 본 발명의 실시예에서 동일한, 즉 같은 어드레스를 갖는다.
2: 통신 장치
4: 마스터
6, 8, 10: 슬레이브
30, 50, 56, 62, 74: 데이터 패킷
40, 43: 어드레스 필드

Claims (10)

  1. 직렬 링형 통신 장치(2)의 가입자들 사이에 데이터를 전송하기 위한 방법으로서, 상기 통신 장치에서 가입자들은 서로 직렬 접속되며, 마스터(4)로서 형성된 가입자로부터 슬레이브(6, 8, 10)로서 형성된 다른 가입자들에게 데이터 패킷(30, 50, 56, 62, 74)이 전달되고, 이때 상기 데이터 패킷(30, 50, 56, 62, 74)은 슬레이브(6, 8, 10)로부터 슬레이브(6, 8, 10)에게 전달되며, 슬레이브 당 일 비트 기간의 대기 시간을 가지는 상기 링형 통신 장치를 통해 상기 데이터 패킷을 송신하고, 적어도 하나의 슬레이브가 빈(empty) 프레임을 포함하는 데이터 패킷을 통해 상기 마스터에 요청을 송신하는 것으로 인해 우선 순위 제어를 위한 프로토콜이 제공되는, 데이터 전송 방법.
  2. 삭제
  3. 제1항에 있어서, 슬레이브(6, 8, 10)는 동일한 로컬 어드레스를 갖고, 모든 슬레이브(6, 8, 10)에는 통신을 위한 동일한 알고리즘이 저장되는, 데이터 전송 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 신호로부터 클럭 정보의 복원을 위한 코딩이 전송할 데이터 패킷(30, 50, 56, 62, 74)을 위해 사용되며, 이때 상기 코딩에 의해 패리티 비트가 데이터 프레임에 등거리로 부가됨으로써, 비트 흐름은 고정된 기간 내에 데이터 패킷(30, 50, 56, 62, 74)의 전송을 위해 하나 이상의 플랭크 변경을 갖는, 데이터 전송 방법.
  8. 제1항에 있어서, 데이터는 연속해서 전송되고, 어드레스 필드(40, 43)를 갖는 데이터 패킷(30, 50, 56, 62, 74)은 슬레이브(6, 8, 10)를 위해 제공된 유효 데이터를 포함하는, 데이터 전송 방법.
  9. 링형으로 형성되고 서로 직렬 접속된 복수의 가입자를 갖는 통신 장치이며, 이때 하나의 가입자는 마스터(4)로서 형성되고 다른 가입자들은 슬레이브(6, 8, 10)로서 형성되며, 마스터(4)는 데이터 패킷(30, 50, 56, 62, 74)을 슬레이브(6, 8, 10)로부터 슬레이브(6, 8, 10)에게 전달하기 위해 형성되고, 각각의 슬레이브(6, 8, 10)는 데이터 패킷(30, 50, 56, 62, 74)을 후속 슬레이브(6, 8, 10)에게 전달하며, 적어도 하나의 슬레이브가 빈 프레임을 포함하는 데이터 패킷을 통해 상기 마스터에 요청을 송신하는 것으로 인해 우선 순위 제어를 위한 프로토콜이 제공되고, 상기 데이터 패킷은 슬레이브 당 일 비트 기간의 대기 시간을 가지는 링형 통신 장치를 통해 송신되도록 구성되는, 통신 장치.
  10. 제9항에 있어서, 각각의 가입자는 하나 이상의 직렬 인터페이스를 갖고, 상기 직렬 인터페이스에 의해 가입자는 직렬 인터페이스와의 통신 접속을 통해 통신 장치(2)의 인접 가입자와 접속되는, 통신 장치.
KR1020110096879A 2010-09-27 2011-09-26 데이터 전송 방법 KR101856222B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010041427A DE102010041427A1 (de) 2010-09-27 2010-09-27 Verfahren zum Übertragen von Daten
DE102010041427.1 2010-09-27

Publications (2)

Publication Number Publication Date
KR20120031910A KR20120031910A (ko) 2012-04-04
KR101856222B1 true KR101856222B1 (ko) 2018-06-26

Family

ID=44872162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110096879A KR101856222B1 (ko) 2010-09-27 2011-09-26 데이터 전송 방법

Country Status (6)

Country Link
US (2) US8885645B2 (ko)
EP (2) EP2434695B1 (ko)
JP (1) JP5852382B2 (ko)
KR (1) KR101856222B1 (ko)
CN (1) CN102420736B (ko)
DE (1) DE102010041427A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011083474A1 (de) * 2011-09-27 2013-03-28 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102011083476A1 (de) * 2011-09-27 2013-03-28 Robert Bosch Gmbh Kommunikationsanordnung mit logischer Mehrkanal-Kommunikation über eine physikalische Übertragungsstrecke zur seriellen Interchip-Datenübertragung
US9448959B2 (en) * 2012-10-05 2016-09-20 Analog Devices, Inc. Two-wire communication protocol engine
US10649948B2 (en) * 2011-10-05 2020-05-12 Analog Devices, Inc. Two-wire communication systems and applications
US9946679B2 (en) 2011-10-05 2018-04-17 Analog Devices, Inc. Distributed audio coordination over a two-wire communication bus
DE102012205160A1 (de) 2012-03-29 2013-10-02 Robert Bosch Gmbh Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware
DE102012205163A1 (de) 2012-03-29 2013-10-02 Robert Bosch Gmbh Kommunikationsanordnung und Verfahren zum Debugging bzw. zur Programmierung eines oder mehrerer Teilnehmer der Kommunikationsanordnung
US9294300B2 (en) * 2012-04-09 2016-03-22 Atmel Corporation Token based communication in daisy chain configured battery management devices
US8819162B2 (en) * 2012-05-07 2014-08-26 Tesla Motors, Inc. Host communications architecture
JP5469205B2 (ja) * 2012-06-26 2014-04-16 ファナック株式会社 スレーブ装置の数に応じてデータの通信速度を変更するマスタ装置
US10356228B2 (en) * 2012-10-10 2019-07-16 General Electric Company Systems, methods, and apparatus for controlling power semiconductor devices
WO2014083381A1 (en) * 2012-11-27 2014-06-05 Freescale Semiconductor, Inc. Redundant packet forwarding system
DE102012224060A1 (de) 2012-12-20 2014-06-26 Robert Bosch Gmbh Verfahren zur Datenübertragung für ein Batteriemanagementsystem
DE102013208183A1 (de) 2013-05-03 2014-11-20 Robert Bosch Gmbh Verfahren zum Betreiben mindestens eines Teilnehmers einer Kommunikationsanordnung
DE102013211984A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013211988A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013211999A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013212016A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013212008A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013212020A1 (de) 2013-06-25 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Kommunikationsanordnung
DE102013214288A1 (de) 2013-07-22 2015-01-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Datenaustausch in einem Fahrzeug
US10216678B2 (en) 2014-10-07 2019-02-26 Infineon Technologies Ag Serial peripheral interface daisy chain communication with an in-frame response
DE102014117797A1 (de) 2014-10-10 2016-04-14 Ebm-Papst Mulfingen Gmbh & Co. Kg Dynamisch adressierbares Master-Slave-System sowie Verfahren zum dynamischen Adressieren von Slave-Einheiten
US10880764B2 (en) 2015-02-15 2020-12-29 Skyworks Solutions, Inc. Circuits, devices, and methods for monitoring a serial bus
US9788182B2 (en) * 2015-06-03 2017-10-10 The United States Of America As Represented By The Secretary Of The Army Method and system for packet collision avoidance in a wireless communication system
CN105049370A (zh) * 2015-08-18 2015-11-11 北京汉柏科技有限公司 一种基于云计算操作系统的组件通信方法
JP6457417B2 (ja) * 2016-03-22 2019-01-23 ファナック株式会社 シリアル通信分岐機器およびシリアル通信システム
DE102016223795A1 (de) * 2016-11-30 2018-05-30 Siemens Aktiengesellschaft Befehls- und Meldesystem für die Automatisierungstechnik
CN108574663B (zh) * 2017-03-09 2021-08-13 李明 一种安全传输方法和系统
DE102017208830A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Bestimmung von Datenbusteilnehmern eines Lokalbusses
JP6771791B2 (ja) * 2017-07-11 2020-10-21 イノヴァ セミコンダクトルズ ゲーエムベーハー エネルギー効率の高いデータフレーム交換
CN108418739A (zh) * 2018-02-09 2018-08-17 浙江大学 一种基于spi的令牌环组网方法
DE102018001574B4 (de) * 2018-02-28 2019-09-05 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems
US10593256B2 (en) * 2018-03-22 2020-03-17 Sct Ltd. LED display device and method for operating the same
CN112154503A (zh) * 2018-05-31 2020-12-29 辛纳普蒂克斯公司 低功率、高带宽、低等待时间的数据总线
CN109359073B (zh) * 2018-09-18 2020-10-20 深圳吉迪思电子科技有限公司 一种基于spi总线的设备间通信方法及装置
US11295828B2 (en) 2019-03-08 2022-04-05 Analog Devices International Unlimited Company Multi-chip programming for phased array
CN110519136B (zh) * 2019-07-10 2021-06-29 大城绿川(深圳)科技有限公司 一种自适应组网的rs485多机通信系统
FR3102584B1 (fr) * 2019-10-28 2021-11-05 St Microelectronics Grenoble 2 Procédé d'acquittement de communication par bus
CN114553629A (zh) * 2021-12-15 2022-05-27 中国铁路设计集团有限公司 一种轨道交通道床物联网大数据总线传输方法及系统
KR20230099429A (ko) * 2021-12-27 2023-07-04 삼성전자주식회사 전자 장치 및 그 제어 방법
DE102022125715A1 (de) 2022-10-05 2024-04-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Unterstützungseinrichtung zum Unterstützen einer Robustheitsoptimierung für ein Datenverarbeitungssystem und korrespondierendes CI-System
CN118612014B (zh) * 2024-08-08 2024-10-25 德力西集团仪器仪表有限公司 主从机通信方法、系统、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090180483A1 (en) * 2008-01-11 2009-07-16 Mosaid Technologies, Inc. Ring-of-clusters network topologies
US20090210596A1 (en) * 2008-02-15 2009-08-20 Fujitsu Limited Slave apparatus and system and method for data transmission

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2188216A (en) 1986-03-17 1987-09-23 Plessey Co Plc Ring bus communications systems
US4726018A (en) * 1986-08-25 1988-02-16 International Business Machines Corporation Method of providing priority access to a transmission communication ring
US5483518A (en) * 1992-06-17 1996-01-09 Texas Instruments Incorporated Addressable shadow port and protocol for serial bus networks
CA2018719C (en) * 1989-06-09 1993-12-21 Hiroshi Shimizu Token passing type slotted loop network system with means for enabling high speed access control and simple frame slot stripping
JP2596879Y2 (ja) * 1992-03-26 1999-06-21 松下電工株式会社 監視制御システム
JPH0697948A (ja) * 1992-09-11 1994-04-08 Fujitsu Ltd アドレス設定方式
GB9312136D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Transmission of messages
JPH086885A (ja) * 1994-06-20 1996-01-12 Toyo Kanetsu Kk シリアル通信用制御方式
US6222848B1 (en) * 1997-12-22 2001-04-24 Nortel Networks Limited Gigabit ethernet interface to synchronous optical network (SONET) ring
DE19803686A1 (de) 1998-01-30 1999-08-05 Siemens Ag Verfahren und Vorrichtung zur Kommunikation gleichberechtigter Stationen eines ringförmigen, seriellen Lichtwellenleiter-Busses
GB2338155B (en) * 1998-06-05 2003-02-12 3Com Technologies Ltd Hub system with ring arbitration
CN100426782C (zh) * 2004-08-11 2008-10-15 中兴通讯股份有限公司 一种弹性分组环中单播业务的转发方法
DE102005056294B4 (de) * 2005-11-24 2016-04-28 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Zuordnen von Adressen an Busteilnehmer eines Bussystems und Anlage
JP5036041B2 (ja) * 2007-04-25 2012-09-26 アズビル株式会社 Rstp処理方式
JP5115033B2 (ja) * 2007-05-30 2013-01-09 富士通株式会社 パケット中継方法及び装置
US9021292B2 (en) * 2011-05-20 2015-04-28 Texas Instruments Incorporated Method and system for asynchronous serial communication in a ring network by generating an oversampling clock using a fractional rate multiplier and sampling a received data bit sequence that includes voltage and temperature information in a battery management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090180483A1 (en) * 2008-01-11 2009-07-16 Mosaid Technologies, Inc. Ring-of-clusters network topologies
US20090210596A1 (en) * 2008-02-15 2009-08-20 Fujitsu Limited Slave apparatus and system and method for data transmission

Also Published As

Publication number Publication date
JP2012075103A (ja) 2012-04-12
EP2587740A2 (de) 2013-05-01
US8885645B2 (en) 2014-11-11
EP2434695A1 (de) 2012-03-28
CN102420736A (zh) 2012-04-18
US9252969B2 (en) 2016-02-02
KR20120031910A (ko) 2012-04-04
CN102420736B (zh) 2016-12-21
JP5852382B2 (ja) 2016-02-03
EP2434695B1 (de) 2014-03-05
US20150085864A1 (en) 2015-03-26
DE102010041427A1 (de) 2012-03-29
US20120076146A1 (en) 2012-03-29
EP2587740A3 (de) 2013-12-04

Similar Documents

Publication Publication Date Title
KR101856222B1 (ko) 데이터 전송 방법
TWI572166B (zh) 操作一通訊裝置的方法
RU2596582C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
JP5563165B2 (ja) 切り替え可能なデータレートによる直列データ伝送のための方法及び装置
JP6469365B2 (ja) 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ
CN106464559B (zh) 用于分布式控制系统的高速嵌入式协议
CN103155492A (zh) 通信系统及通信装置
US9065732B2 (en) Communication configuration and method for debugging, respectively for programming one or more participants of the communication configuration
JPS5857770B2 (ja) 情報転送制御方式
US20130262610A1 (en) Communication system and method for configuring programmable hardware
JP2022163093A (ja) 通信システム
JP2019097088A (ja) シリアル通信システム
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP2612101B2 (ja) バス優先占有方式およびその方式を使用した通信ネットワーク接続装置
JP2023551945A (ja) イーサネットネットワークを介してセンサノードを急速にフラッシュさせる方法
JP3113329B2 (ja) 多重伝送装置
JP2010154329A (ja) Ieee1394通信lsiおよびアシンクロナス送信方法
KR101058414B1 (ko) FlexRay 통신에서의 신뢰성 향상을 위해 정적 세그먼트 내에서 슬롯을 배치하는 방법 및 장치
JP2019009572A (ja) 通信システム
Kim Design and analysis of high-speed ring-based networked control systems for real-time applications
Harish et al. Design and verification of flexray to can protocol converter node
JP2006201832A (ja) データ転送処理装置
JP2005196808A (ja) バスシステムおよびリトライ方法
JP2015022491A (ja) 通信制御装置、画像処理装置、通信制御プログラム
JPH06338892A (ja) ループネットワーク

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