KR20050118754A - 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법 - Google Patents

데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법 Download PDF

Info

Publication number
KR20050118754A
KR20050118754A KR1020040043844A KR20040043844A KR20050118754A KR 20050118754 A KR20050118754 A KR 20050118754A KR 1020040043844 A KR1020040043844 A KR 1020040043844A KR 20040043844 A KR20040043844 A KR 20040043844A KR 20050118754 A KR20050118754 A KR 20050118754A
Authority
KR
South Korea
Prior art keywords
bus
layer
error
node
lower layer
Prior art date
Application number
KR1020040043844A
Other languages
English (en)
Other versions
KR100567309B1 (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 삼성전자주식회사
Priority to KR1020040043844A priority Critical patent/KR100567309B1/ko
Priority to US11/142,182 priority patent/US7389469B2/en
Publication of KR20050118754A publication Critical patent/KR20050118754A/ko
Application granted granted Critical
Publication of KR100567309B1 publication Critical patent/KR100567309B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/08Modifications for reducing interference; Modifications for reducing effects due to line faults ; Receiver end arrangements for detecting or overcoming line faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

수신 데이터 헤더의 오류 체크를 통해 데이터의 송수신을 즉시 제어함으로써 버스의 사용 효율을 향상시키는 방법이 개시된다. 데이터 수신측에서 수신 데이터의 헤더 오류를 감지한 경우에 데이터 송신측에 버스를 통한 데이터 전송을 중단시키는 방법으로 버스 사용 효율을 향상하기 위한 것이다. 특히 IEEE-1394 프로토콜상의 물리적 계층(PHY)과 링크 계층(LINK)으로 구성된 시스템에 있어서, 수신 노드의 물리적 계층을 거쳐 수신된 데이터의 헤더에 CRC 오류가 있음을 링크 계층에서 검출하였을 때, 즉시 송신 노드와 다른 수신 노드들에 오류 검출 사실을 통보하여 무의미한 버스 점유를 중단시켜 버스의 사용 효율을 극대화할 수 있는 방법을 소개하는데 그 목적이 있다.

Description

데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법 {METHOD FOR INCREASING BUS USAGE EFFICIENCY BY USING RECEIVED DATA HEADER ERROR CHECK}
본 발명은 장치들간의 데이터 송수신이 버스 구조로 연결되어 이루어지는 경우에 버스의 사용 효율 향상 방법에 대한 것으로, 특히 데이터 수신측에서 수신 데이터 헤더의 오류(error)를 감지한 경우에 데이터 송신측에 버스를 통한 나머지 데이터의 전송을 중단시키도록 하는 방법으로 버스 사용 효율을 향상하기 위한 것에 관한 기술이다.
버스(bus)는 여러 장치들을 연결하는 통신 채널(communication channel)을 의미한다. 물리적으로는 장치들간을 연결하는 라인으로 구성된 와이어(wire)를 의미하며, 이러한 라인은 버스 구조의 표준(specification)안에 따라서 병렬 라인 또는 직렬 라인으로 구성될 수 있다. 논리적으로는 신호 전송측과 신호 수신측간의 신호전송을 위한 프로토콜(protocol)의 의미를 가지기도 한다. 이러한 신호 전송에 있어서, 신호 전송측과 신호 수신측은 송수신 데이터를 적절한 단위, 즉, 패킷(packet)으로 나누고, 이러한 한 단위의 송수신 데이터는 다시 데이터의 헤더(header) 부분과 본체(body) 부분으로 나누어지게 된다. 이러한 경우에 신호 전송 선로에의 잡음 요소 등의 여러 복합적 요소에 의한 데이터 송수신의 실패를 감지해내기 위해서 여러 가지 방법이 적용되고 있으나, 가장 일반적으로는 CRC(Cyclic Redundancy Check) 방법을 이용한 것이 있다. 송신측은 송신할 데이터에 대한 CRC 연산으로 CRC 코드를 생성하여 송신 데이터에 첨부하고, 수신측은 수신한 데이터에 대한 CRC 연산으로 생성한 CRC 코드를 송신 데이터에 첨부된 CRC 코드와 비교하여 수신된 데이터의 무결성(integrity)을 확인하게 된다. 또한 송신측은 데이터 헤더 부분과 본체 부분의 CRC를 별도로 연산하여 첨부하여 송신하고, 수신측은 데이터 헤더 부분과 본체 부분의 CRC를 별도로 연산하고 비교하는 방식으로 동작하는 것이 일반적이다. 또한, 다양한 장치들로 구성된 시스템에 있어서의 장치 의존성을 줄이기 위해서 송수신 장치간의 프로토콜은 복수개의 계층(레이어; layer)으로 나누어져 구현되는 것이 일반적이다. 표준에 맞는 계층 구조를 채택하여, 각각의 계층은 상위와 하위 계층에 대한 의존성을 줄이고, 독자적인 동작을 하도록 구성된다.
한편, 디지털 데이터의 대용량화 및 장치들의 고성능화로 인해서, 버스 인터페이스의 필요 전송 속도는 점점 증가하고 있다. 장치들의 다양화, 다변화로 인해 하나의 버스에 연결되어져야 하는 장치들의 수도 증가하고 있는데, 이러한 환경에서는 버스의 사용 효율을 향상시키는 것이 절대적으로 필요하다. 하나의 장치가 점유하는 버스의 사용 시간을 줄여서 같은 버스에 연결되어 있는 장치들이 한정된 버스를 공유할 기회를 늘여 주는 것이 필요하다. 이러한 관점에서 현재 버스 표준들은 수신 데이터의 CRC 체크를 이미 수신된 데이터의 무결성 확인에만 이용하며, 수신 데이터 CRC 체크를 통해서 버스 사용 효율을 향상시키기 위한 목적으로의 활용이 부족하다.
상기한 레이어 구조와 오류 검출 기법은 대부분의 버스 구조가 적용하고 있으나, 현재 각광받고 있는 버스 인터페이스의 표준으로는 IEEE-1394가 있다. IEEE-1394는 PC는 물론 높은 데이터 전송률이 요구되는 디지털 기기들 및 전기 기기들을 상호 연결시켜 주어 실시간으로 데이터를 송수신할 수 있게 해주는 핵심 인터페이스 기술이다. 초기의 IEEE-1394는 애플사의 FireWire가 그 시초로 1995년에 확정된 표준이며 최대 400MBps의 전송률을 지원하고 있다. 현재도 초기 표준안의 짧은 전송거리와 전송률을 더 높이기 위한 기술 개발이 이루어지고 있다. IEEE-1394는 노드(node)들간의 연결 구조를 트리(tree)구조나 데이지 체인(daisy chain) 구조로 가져갈 수 있으며, 하나의 버스당 63개까지의 노드 연결이 가능하다. 하나의 노드는 PHY(physical layer; 물리적 계층) 칩과 LINK(link layer; 링크 계층) 칩 두 개를 이용하여 구현한다. 상기 물리적 계층 컨트롤러는 버스의 초기화, 데이터 송수신의 인코딩과 디코딩, 버스 중재(arbitration), 바이어스 전압의 출력과 검출등의 기능을 수행한다. 상기 링크 계층 컨트롤러는 오류 검출 코드(error correction code)의 생성 및 검출, 패킷 생성과 같은 기능을 수행한다.
도1은 IEEE-1394의 네트워크 토폴로지(topology)의 예이다. 노드 U1,U0,U2,U3(100,110,120,130)은 IEEE-1394 프로토콜을 이용하는 시스템들을 나타내고 있고, 각 노드들은 2개의 포트(port)로 구성이 되어 있는 예이다. 여기서는 노드 U0(110)이 루트(root)노드의 역할을 수행한다. 루트 노드는 하나의 버스에 연결된 노드들에 대해서 토폴로지상의 가장 상위에 위치하여 버스에 대한 중재자(arbiter)의 역할을 수행하는 노드를 의미한다. 노드 U1(100) 또는 노드 U3(130)이 데이터 전송이 필요한 경우에, 노드 U1(100) 또는 노드 U3(130)은 버스의 사용을 요청하는 버스 사용 요청(bus request)을 루트 노드인 노드 U0(110)으로 보내게 되고, 노드 U0(110)은 이러한 버스 사용 요청들에 대한 중재과정을 거쳐 이 둘 중에 하나에만 버스 사용 허가(bus grant)를 하게 된다. 노드 U1(100)이 버스 사용에 대한 허가를 받게 되었다고 가정을 하였을 때 노드 U1(100)은 데이터 송신을 시작하게 되고, 나머지 노드들은 데이터 수신을 시작하게 된다. 데이터 송신 지속(duration) 시간은 경우에 따라서 다르지만 20us로 가정을 한다면, 노드 U1(100)은 20us동안은 계속해서 데이터 송신을 하게 되고, 나머지 노드들은 이 시간동안 계속해서 데이터 수신을 하게 된다. 데이터를 수신하는 노드들은 헤더 정보를 이용하여 데이터 수신여부를 결정한다. 즉, 자신을 목적으로 한 데이터인지를 판단하는 것이다. 이 상황에서 만일 수신 노드들 중에서 데이터 헤더의 CRC 오류가 검출되었을 경우에 후속의 데이터는 더 이상 수신을 할 필요가 없는데도, 송신 노드는 계속해서 전송하게 되고 수신 노드들은 계속해서 수신하게 되므로 20us동안에는 버스는 무의미하게 점유되고 있는 상태가 된다.
도2는 상기한 현행 IEEE-1394를 적용한 시스템에 있어서의 데이터 송수신 플로우를 도시한 것이다. 210단계는 송신을 원하는 노드가 버스 사용 요청 신호를 루트 노드에 발생시키고, 루트 노드로부터 버스 사용 허여 신호를 받는 단계를 나타내고 있다. 220단계에서 버스 사용 허여를 받은 송신 노드는 버스를 통한 데이터 전송을 시작하고 송신 노드를 제외한 모든 노드들은 데이터 수신을 하게 된다. 230 단계에서 데이터를 수신한 노드들은 데이터 헤더의 CRC 체크를 통해서 수신한 데이터의 무결성을 확인하게 된다. 이 단계에서 데이터 헤더의 CRC 오류가 있음을 확인한 경우와 오류가 없음을 확인한 경우, 양 경우에 모두 일단 240단계와 250단계에서 버스 사용 지속 시간동안은 나머지 데이터를 모두 전송받게 된다. 송신 노드의 모든 전송이 끝나면 데이터 헤더의 오류가 없었던 경우는 260단계에서 버스에 대한 점유를 끝내고(bus release), 210단계로 돌아가게 되지만, 데이터 헤더의 오류가 있었던 경우는 255단계에서 수신한 데이터를 버리고(flush) 260단계에서 버스에 대한 점유를 끝내고, 210단계로 돌아가게 된다. 따라서 수신한 데이터 헤더의 CRC 오류가 있음을 감지한 경우에도 모든 노드들은 일단 정해진 데이터 송신 지속 시간동안은 지속적으로 데이터를 일단 수신한 다음에 받은 데이터를 버리는 동작을 하게 된다.
상기한 IEEE1394와 같은 최근 버스 표준에서도 살펴보았듯이, 현재 버스 표준들은 수신 데이터의 CRC 체크를 이미 수신된 데이터의 무결성 확인에만 이용하며, 수신 데이터 CRC 체크를 통해서 버스 사용 효율을 향상시키기 위한 목적으로의 활용이 부족하다. 그러나 상기 도2의 230단계에서 어느 한 수신노드가 데이터 헤더의 CRC 오류를 발견한 경우에는 다른 수신노드들에서도 데이터 헤더의 CRC 오류가 발생할 가능성이 지극히 높으므로, 데이터 헤더 CRC 오류가 발생하였을 경우의 버스 사용 시간을 줄여서 버스의 사용 효율을 전체적으로 향상시키는 것이 필요하다.
상기와 같은 문제점을 해결하기 위해서 본 발명의 목적은 데이터 수신측에서 수신 데이터의 헤더 오류를 감지한 경우에 데이터 송신측에 버스를 통한 데이터 전송을 중단하는 방법으로 버스 사용 효율을 향상하기 위한 버스 사용 효율 향상 방법을 소개하는데 있다.
상기 목적을 달성하기 위해 본 발명은,
하나의 송신 노드가 버스를 통하여 데이터를 전송중이고, 하나 이상의 수신 노드가 버스를 통하여 데이터를 수신중인 환경에서, 적어도 하나의 수신 노드가 수신 데이터 헤더의 CRC가 오류인 경우를 감지하였을 경우, 송신 노드측에 대해서는 더 이상의 데이터 전송을 막고, 다른 수신 노드들에 대해서도 송신 노드의 데이터 전송이 무의미함을 통보하는 방식으로 버스 사용 효율을 향상시킨다. 더 자세하게는, IEEE-1394 환경에서 송수신 노드들의 PHY 계층간의 오류 발생 통보 방식으로는 IEEE-1394의 비중재 쇼트 버스 리셋(non-arbitrated short bus reset)을 이용하고, 한 노드내의 LINK 계층과 PHY 계층간의 오류 발생 통보 방식으로는 PHY 계층의 일부 레지스터와 IEEE-1394의 LinkOn 신호를 이용하는 방법을 사용한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 실시예는 상기 종래 기술에서 언급하였던 IEEE-1394의 프로토콜을 기준으로 설명하기로 하지만, 유사한 버스 프로토콜을 취하는 다른 버스 표준들에 대해서도 적용될 수 있을 것이다.
도3은 본 발명의 목적에 따라서 도2에 도시된 기존 IEEE-1394를 적용한 시스템에 있어서의 데이터 송수신 플로우를 개선한 플로우 차트이다. 상기 도3의 210단계 내지 230단계까지의 과정은 도2의 설명 내용과 일치하므로 생략을 한다. 230단계에서 데이터를 수신한 노드들은 데이터 헤더의 CRC 체크를 통해서 수신한 데이터의 무결성을 확인하게 된다. 이 단계에서 데이터 헤더의 CRC 오류가 있음을 확인한 경우와 오류가 없음을 확인한 경우, 양 경우에 모두 일단 240단계와 250단계에서 버스 사용 지속 시간동안은 나머지 데이터를 모두 전송받게 되는 것이 기존 도2의 플로우였다. 그러나 개선된 플로우에서는 230단계에서 데이터 헤더의 CRC 오류가 없음을 확인한 경우에는 동일한 과정을 수행하지만, 데이터 헤더의 CRC 오류가 있음을 확인한 경우에는 252단계에서 송신 노드와 데이터 헤더의 CRC 오류를 감지한 수신 노드를 제외한 모든 수신 노드들에 대해 데이터 헤더의 CRC 오류를 감지했음을 통보하고 즉시 버스에 대한 점유를 끝내게 된다.
따라서, 본 발명의 목적을 수행하기 위해서는 데이터 헤더의 CRC 오류를 감지한 수신 노드내에서 처리, 데이터 헤더의 CRC 오류를 감지한 수신 노드에서 송신 노드측에 대한 처리, 데이터 헤더의 CRC 오류를 감지한 수신 노드에서 다른 수신 노드들에 대한 처리 및 CRC 오류를 통보받은 송신 노드와 수신 노드들의 처리방안들이 모두 정의되어야 할 것이다. 특히 본 실시예에서는 각 노드들간의 오류 발생 통보 방안으로 IEEE-1394의 비중재 쇼트 버스 리셋(non-arbitrated short bus reset)을 활용하기로 하고, 한 노드내에서 PHY 계층과 LINK 계층의 오류 발생 통보 방안으로는 PHY 계층의 레지스터 맵(register map)상의 예비 레지스터(reserved register)중의 일부와 PHY 계층에서 LINK 계층으로 발생시키는 LinkOn 신호를 활용하기로 한다. 따라서 상기 처리 과정을 설명하기 위해 IEEE-1394 프로토콜이 구현된 한 노드의 구성을 개념적으로 살펴보고, 수신 노드에서 데이터 헤더의 CRC 오류가 검출된 경우에 있어서 상기한 여러 노드 내부 및 노드들간의 처리 방안을 먼저 정의하고, IEEE-1394 프로토콜에서의 이를 위한 응용 방안을 살펴보기로 한다.
도4는 IEEE-1394의 프로토콜을 구현한 한 노드의 구성을 개념적으로 도시한 것이다. 도4의 구성요소들은 개념적으로 각 구성요소들이 수행하는 역할에 따라서 정의된 것에 지나지 않는다. 현재, 모듈 형태로 구성된 시스템들은 매우 다양한 서로 다른 성분과 기능들을 조합하여 구성될 수 있다는 것은 너무 잘 알려져 있다. 따라서 실제 구현에 있어서는 각 구성요소들의 일부분들이 혼합될 수도 있고, 각 구성요소들이 그룹지어진 다른 이름의 구성요소로서 존재할 수도 있다. 실제로 일부 기능들은 프로그래머블(programmable)한 장치를 구동하는 순차적인(sequential) 명령어(instruction)의 조합, 즉 프로그램 코드로 구현될 수도 있고, 일부 기능들은 회로로서 구현될 수 있다. 버스(410)는 통신 노드(400)가 연결되어 있는 버스를 의미한다. PHY 계층(420)을 구성하는 버스 전송부(421)는 LINK 계층(450)의 패킷 생성/검출부(451)와 연결되어 LINK 계층(450)이 생성한 데이터 패킷을 버스(410)를 통해 전송하는 역할을 수행한다. 반대로 버스 수신부(422)는 버스(410)를 통해 수신한 데이터를 LINK 계층(450)의 패킷 생성/검출부(451)로 전달하는 역할을 수행한다. 물론 버스 전송부(421)와 버스 수신부(422)는 버스(410)를 통한 데이터 송수신을 수행하기 위한 데이터 인코딩(encoding)과 디코딩(decoding)을 포함한 신호처리부등의 요소를 더 포함하고 있음은 본 도면에서는 생략되어 있다. 레지스터들(424)은 PHY 계층의 동작에 필요한 여러 가지 레지스터들의 집합이다. PHY 계층 프로토콜 제어부(430)는 IEEE-1394 프로토콜의 PHY 계층에 대응한 프로토콜을 구현한 부분이다. 이 제어부(430)는 PHY 계층의 기타 구성요소들과 모두 연결되어져 전체적인 PHY 계층의 동작을 제어하는 역할을 수행한다. 마지막으로 신호발생/수신부(425)는 LINK 계층(450)과 PHY 계층(420)간에 필요한 제어신호들을 주고 받는 역할을 수행한다. LINK 계층(450)의 패킷 생성/검출부(451)는 PHY 계층에서 수신한 데이터 열(stream)에서 패킷(packet)을 검출해내거나, LINK 계층(450)의 상위 계층으로부터 받은 데이터를 패킷 단위로 생성하여 PHY 계층으로 전달하는 역할을 수행한다. 이러한 패킷 단위로 검출된 데이터는 CRC 처리부(452)로 전달되어 CRC 연산부(453)와 CRC 비교부(454)를 거쳐 무결성을 확인하게 된다. LINK 계층 프로토콜 제어부(460)는 상기 PHY 계층 프로토콜 제어부(430)에 대응되어 IEEE-1394의 LINK 계층에 대응한 프로토콜을 구현하는 부분이다. 이 LINK 계층 프로토콜 제어부(460) 역시 LINK 계층의 기타 구성요소들과 모두 연결되어져 전체적인 LINK 계층의 동작을 제어하는 역할을 수행한다. 따라서, 본 발명의 상기 처리 방안들은 대부분의 경우, 상기 PHY 계층 프로토콜 제어부(430) 및 LINK 계층 프로토콜 제어부(460)에 대한 개선을 통해서 이루어질 것이다.
도5는 상기한 여러 노드 내부 및 노드들간의 처리 방안을 설명하기 위해 각 노드들 또는 노드 내부의 계층들간의 신호의 흐름만을 간단히 도시한 도면이다. 노드 510은 수신 데이터 헤더의 CRC 오류를 검출한 수신 노드를 도시한 것이며, 노드 530은 현재 버스를 데이터를 전송중인 송신 노드, 노드 550은 상기한 데이터 헤더의 CRC 오류를 검출한 수신 노드를 제외한 수신 노드를 도시한 것이다. 510 노드를 제외한 다른 수신 노드들도 510 노드와 마찬가지로 수신 데이터 헤더의 CRC 오류를 검출했을 경우도 있을 것이다. 이 경우는 510 노드와 동일한 처리를 하게 된다. 따라서, 본 도4에서 노드 550은 데이터 헤더의 CRC 오류를 검출하지 못한 수신 노드를 대표하여 도시한 것이며, 노드 510은 데이터 헤더의 CRC 오류를 검출한 수신 노드를 대표하여 도시한 것이기 때문에 노드 510과 노드 550은 복수로 존재 할 수도 있음에 주의해야 한다. 각 노드들(510,530,550)은 버스(500)에 직접 연결된 PHY 계층(515,535,555)과 PHY 계층의 상위에 위치한 LINK 계층(520,540,560)으로 구성되어 있다.
먼저, 데이터 헤더의 CRC 오류를 검출한 수신 노드(510)의 처리를 살펴보기로 한다. PHY 계층(515)을 거쳐서 수신된 데이터 헤더의 CRC 오류를 검출한 LINK 계층(520)은 즉시 PHY 계층의 레지스터 맵 상의 예비 레지스터들 중 일부(516)를 바로 특정값으로 설정한다. 예를 들면 예비 레지스터들중의 한 비트를 '1'로 설정하는 동작을 한다. PHY 계층(515)과 LINK 계층(520)이 미리 특정 예비 레지스터 중의 일부를 이와 같은 용도로 사용할 것으로 서로간에 약속을 해둘 수 있을 것이다. LINK 계층(520)은 Lreq Register Write를 이용하여 LINK 계층의 신호 발생수신부(527)와 PHY 계층의 신호 발생수신부(517)를 거쳐 PHY 계층(515)의 예비 레지스터 값을 설정하도록 한다. 이 특정 레지스터 값이 설정되면 PHY 계층(515)은 버스에 대해 즉시 비중재 쇼트 버스 리셋(518)을 발생시켜 다른 노드들(530,550)의 PHY계층들(535,555)에 CRC 오류 발생을 통보한다. 다음으로 PHY 계층(515)은 버스에 대한 점유를 끝내고 아이들 상태(IEEE-1394의 A0:Idle 상태)로 천이하게 된다.
다음으로, 송신 노드(530)의 처리를 살펴보기로 한다. PHY 계층(535)이 비중재 쇼트 버스 리셋이 발생되었음을 감지하게 되면, PHY 계층은 자신의 예비 레지스터중 일부(536)를 바로 특정값으로 설정한다. 그리고 비중재 쇼트 버스 리셋(538)을 하부 노드로 반복(repeating)하게 된다. 상기 종래 기술에서 언급하였던 바와 같이 IEEE-1394는 트리 구조 또는 데이지 체인 구조로 연결되기 때문에 하부 노드들에 대해서 비중재 쇼트 버스 리셋이 전달되기 위해서는 비중재 쇼트 버스 리셋을 전달받은 노드는 자신의 하부 노드에 이를 반복시켜주는 것이 필요하다. 따라서 이러한 방식이 불필요한 다른 토폴로지를 가져갈 수 있는 버스 표준이라면 이와 같은 과정은 불필요할 수도 있다. PHY 계층(535)은 버스에 대한 점유를 끝내고 아이들 상태(IEEE-1394의 A0:Idle 상태)로 천이(transition)하게 된다. 그리고 PHY 계층(535)는 PHY 계층의 신호 발생수신부(537)와 LINK 계층의 신호 발생수신부(547)를 거쳐 LinkOn 신호를 발생시켜 LINK 계층(540)에 미리 약속된 예비 레지스터(536)를 확인할 것을 통보한다. LinkOn 신호를 수신한 LINK 계층은 먼저 미리 약속된 예비 레지스터(536)중의 일부가 특정값으로 설정되었음을 확인하면, 데이터 헤더의 CRC 오류가 발생하였음을 인지하고 바로 Phy2Link 인터페이스를 릴리즈한다.
마지막으로, 데이터 헤더의 오류를 검출하지 않은 수신 노드(550)의 처리를 살펴보기로 한다. PHY 계층(555)이 비중재 쇼트 버스 리셋이 발생되었음을 감지하게 되면, PHY 계층(555)은 자신의 예비 레지스터중 일부(556)를 바로 특정값으로 설정한다. 그리고 비중재 쇼트 버스 리셋(557)을 하부 노드로 반복(repeating)하게 된다. 이러한 과정의 이유는 상기 송신 노드(530)의 경우와 동일하므로 생략한다. PHY 계층(555)은 버스에 대한 점유를 끝내고 아이들 상태로 천이하게 된다. 그리고 PHY 계층(555)은 PHY 계층의 신호 발생수신부(557)와 LINK 계층의 신호 발생수신부(567)를 거쳐 LinkOn 신호를 발생시켜 LINK 계층(560)에 미리 약속된 예비 레지스터(556)를 확인할 것을 통보한다. LinkOn 신호를 수신한 LINK 계층은 먼저 미리 약속된 예비 레지스터(556)가 특정값으로 설정되었음을 확인해보고, 특정값으로 설정되었음을 확인하면 데이터 헤더의 CRC 오류가 발생하였음을 인지하게 된다.
도6a는 IEEE-1394 프로토콜 상의 PHY 계층의 상태 천이(state transition)도중에서 송신(transmit)상태, 수신(receive)상태 및 아이들(idle)상태들 간의 상태 천이만을 추출하여 도시한 상태 천이도면이다. 상기에서 언급한 바와 같이 PHY 계층들 간의 오류 발생 통보 방안으로 비중재 쇼트 버스 리셋을 활용하기 때문에 이를 위해서 기존 PHY 계층의 상태 천이 조건은 변경되어야 할 필요가 있다. 왜냐하면 비중재 쇼트 버스 리셋이 발생하였을 경우에 종래 IEEE-1394 프로토콜상의 버스 리셋으로 처리해버리면 안되기 때문이다. 도6b는 본 발명을 위해 일부 상태 천이 조건이 변경된 상태 천이도를 도시한 도면이다.
도6a의 경우, PHY계층이 송신(TX:Transmit)상태에서 아이들(A0:Idle)상태로의 천이 조건은 (end_of_packet && !link_concatenation)이며, 수신(RX:Receive)상태에서 아이들(A0:Idle)상태로의 천이 조건은 (!concatenated_packet && !fly_by_OK)로 구성되어 있다. 여기에 본 발명의 비중재 쇼트 버스 리셋에 의한 아이들 상태로의 천이 조건이 추가되어야 한다. 도6b의 경우가 상기한 비중재 쇼트 버스 리셋에 의한 아이들 상태로의 천이 조건이 추가된 상태 천이도를 도시한 것이다. 송신(TX:Transmit)상태에서 아이들(A0:Idle)상태로의 천이 조건은 (end_of_packet && !link_concatenation) || (Clocked Data && isbr detected)로 변경되어 있다. 마찬가지로 수신(RX:Receive)상태에서 아이들(A0:Idle)상태로의 천이 조건은 !concatenated_packet && !fly_by_OK) || (Clocked Data && isbr detected)로 변경되어 있다. 기존 천이 조건들에 대해서 OR 연산으로 추가 천이 조건이 첨부되기 때문에 기준의 IEEE-1394 프로토콜의 동작에는 아무런 변경을 주지 않는다. 추가된 천이 조건인 (Clocked Data && isbr detected)은 클록 데이터(clocked data) 전송중일 경우에 발생한 쇼트 버스 리셋일 경우에만 아이들 상태로의 천이 조건으로 활용한다는 것을 의미한다. 따라서 클록 데이터 전송중인 경우가 아닌 다른 버스 상태에서 발생한 쇼트 버스 리셋인 경우에는 종래의 IEEE-1394 프로토콜에서 정의한 처리를 그대로 적용하게 된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기와 같은 본 발명에 따르면, 데이터 수신측에서 수신 데이터의 헤더 오류를 감지한 경우에 데이터 송신측에 버스를 통한 데이터 전송을 중단하는 방법을 통해서 무의미한 데이터 전송을 중단하여 버스 점유 시간을 줄일 수 있으므로 전체적으로 버스의 사용 효율을 향상시키는 효과를 가져올 수 있다.
도 1은 IEEE-1394의 토폴로지의 예를 보여주는 도면이다.
도 2는 IEEE-1394의 데이터 송수신 플로우를 보여주는 도면이다.
도 3은 본 발명의 개선된 데이터 송수신 플로우를 보여주는 도면이다.
도 4는 IEEE-1394의 PHY 계층과 LINK 계층의 구성을 보여주는 도면이다.
도 5는 본 발명의 송수신 노드들의 처리를 보여주는 도면이다.
도 6a는 IEEE-1394의 PHY 계층의 상태 천이도이다.
도 6b는 본 발명에 의해 개선된 PHY 계층의 상태 천이도이다.
* 도면의 주요부분에 대한 부호의 설명 *
510: 데이터 헤더의 오류를 검출한 수신 노드
530: 송신 노드
550: 데이터 헤더의 오류를 검출하지 않은 수신 노드
520,540,560: LINK 계층
515,535,555: PHY 계층
527,547,567: LINK 계층의 신호 발생 수신부
517,537,557: PHY 계층의 신호 발생 수신부
516,536,556: PHY 계층의 레지스터부
518,538,558: 쇼트 버스 리셋 신호

Claims (16)

  1. 적어도 하나의 수신노드의 하위 계층이 버스를 통해 송신노드의 하위 계층이 보낸 데이터를 수신하는 제 1 단계;
    상기 수신노드의 하위 계층이 수신한 데이터에 대해 상기 수신노드의 하위 계층에 대한 상기 수신노드의 상위 계층이 상기 수신한 데이터의 헤더 오류 검출을 하는 제 2 단계;
    상기 수신한 데이터의 헤더 오류 검출을 한 상기 수신노드의 상위 계층이 상기 수신노드의 하위 계층에 오류가 있음을 통보하는 제 3 단계;
    오류가 있음을 통보받은 상기 수신노드의 하위 계층은 버스를 통한 수신과 점유를 중지하는 동작과 자신의 상위 계층에 오류가 있음을 통보하는 동작, 상기 송신노드의 하위 계층 및 자신을 제외한 모든 수신노드의 하위 계층에 오류가 있음을 통보하는 동작으로 이루어진 제 4 단계;
    오류가 있음을 통보받은 상기 송신노드의 하위 계층은 버스를 통한 송신과 점유를 중지하는 동작과 자신의 상위 계층에 오류가 있음을 통보하는 동작으로 이루어진 제 5 단계; 및
    오류가 있음을 통보받은 수신 데이터 헤더에 오류가 있음을 검출한 상기 수신노드의 상위 계층을 제외한 수신노드의 하위 계층은 버스를 통한 수신과 점유를 중지하는 동작과 자신의 상위 계층에 오류가 있음을 통보하는 동작으로 이루어진 제 6 단계를 포함한 것을 특징으로 하는 버스 운영 방법.
  2. 제 1 항에 있어서, 상기 하위 계층은 버스와 직접 연결된 물리적 통신 계층이고, 상기 상위 계층은 상기 하위 계층이 수신한 원시 데이터를 처리하는 역할을 하는 논리적 통신 계층인 것을 특징으로 하는 버스 운영 방법.
  3. 제 2 항에 있어서, 상기 물리적 통신 계층은 IEEE-1394의 PHY 계층이고, 상기 논리적 통신 계층은 IEEE-1394의 LINK 계층인 것을 특징으로 하는 버스 운영 방법.
  4. 제 1 항에 있어서, 상기 제 2 단계는 데이터 헤더의 CRC 연산을 통해 계산된 CRC와 상기 송신노드가 보내온 데이터 헤더의 CRC를 비교하여 이루어지는 것을 특징으로 하는 버스 운영 방법.
  5. 제 1 항에 있어서, 상기 제 3 단계는 상기 수신노드의 상위 계층이 상기 수신노드 하위 계층에 속하는 레지스터중의 적어도 하나를 특정값으로 설정하는 방법으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  6. 제 5 항에 있어서, 상기 수신노드의 하위 계층에 속하는 레지스터는 IEEE-1394의 PHY 레지스터 맵 중 리저버드 비트중의 적어도 하나의 비트이고, 상기 수신노드의 상위 계층이 상기 적어도 하나의 비트를 특정값으로 설정하는 방법은 IEEE-1394의 Lreq Register Write를 통해서 이루어지는 것을 특징으로 하는 버스 운영 방법.
  7. 제 3 항에 있어서, 제 4 단계의 버스를 통한 수신과 점유를 중지하는 동작은 PHY 계층의 상태를 A0:Idle로 천이시키는 것을 포함하는 것을 특징으로 하는 버스 운영 방법.
  8. 제 3 항에 있어서, 제 5 단계의 버스를 통한 송신과 점유를 중지하는 동작은 PHY 계층의 상태를 A0:Idle로 천이시키는 것을 포함하는 것을 특징으로 하는 버스 운영 방법.
  9. 제 3 항에 있어서, 제 6 단계의 버스를 통한 수신과 점유를 중지하는 동작은 PHY 계층의 상태를 A0:Idle로 천이시키는 것을 포함하는 것을 특징으로 하는 버스 운영 방법.
  10. 제 3 항에 있어서, 제 4 단계의 상기 수신노드의 하위 계층이 상기 송신노드의 하위 계층 및 자신을 제외한 모든 수신노드의 하위 계층에 오류가 있음을 통보하는 동작은 상기 수신노드의 하위 계층이 IEEE-1394의 비-중재 쇼트 버스 리셋을 발생시키는 방식으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  11. 제 1 항에 있어서, 제 4 단계의 상기 수신노드의 하위 계층이 상기 송신노드의 하위 계층 및 자신을 제외한 모든 수신노드의 하위 계층에 오류가 있음을 통보하는 동작은 오류를 통보 받은 노드 하위 계층들이 자신의 하부 노드의 하위 계층들에 대해 오류 통보를 반복하는 방식으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  12. 제 10 항에 있어서, 제 4 단계의 상기 수신노드의 하위 계층이 상기 송신노드의 하위 계층 및 자신을 제외한 모든 수신노드의 하위 계층에 오류가 있음을 통보하는 동작은 오류를 통보 받은 노드 하위 계층들이 자신의 하부 노드의 하위 계층들에 대해 IEEE-1394의 비-중재 쇼트 버스 리셋을 발생시키는 방식으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  13. 제 1 항에 있어서, 상기 제 4 단계 또는 제 6 단계의 수신노드의 하위 계층이 자신의 상위 계층에 오류가 있음을 통보하는 동작은 상기 수신노드의 하위 계층에 속하는 레지스터중의 적어도 하나를 특정값으로 설정하는 동작과, 자신의 상위 계층에 신호를 발생시키는 동작으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  14. 제 13 항에 있어서, 상기 수신노드의 하위 계층에 속하는 레지스터는 IEEE-1394의 PHY 레지스터 맵 중 리저버드 비트중의 적어도 하나의 비트이고, 자신의 상위 계층에 신호를 발생시키는 동작은 IEEE-1394의 LinkOn 신호를 발생시키는 동작인 것을 특징으로 하는 버스 운영 방법.
  15. 제 1 항에 있어서, 상기 제 5 단계의 송신노드의 하위 계층이 자신의 상위 계층에 오류가 있음을 통보하는 동작은 상기 송신노드의 하위 계층에 속하는 레지스터중의 적어도 하나를 특정값으로 설정하는 동작과, 자신의 상위 계층에 신호를 발생시키는 동작으로 이루어지는 것을 특징으로 하는 버스 운영 방법.
  16. 제 15 항에 있어서, 상기 송신노드의 하위 계층에 속하는 레지스터는 IEEE-1394의 PHY 레지스터 맵 중 리저버드 비트중의 적어도 하나의 비트이고, 자신의 상위 계층에 신호를 발생시키는 동작은 IEEE-1394의 LinkOn 신호를 발생시키는 동작인 것을 특징으로 하는 버스 운영 방법.
KR1020040043844A 2004-06-15 2004-06-15 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법 KR100567309B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040043844A KR100567309B1 (ko) 2004-06-15 2004-06-15 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법
US11/142,182 US7389469B2 (en) 2004-06-15 2005-06-02 Bus systems, apparatuses, and methods of operating a bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040043844A KR100567309B1 (ko) 2004-06-15 2004-06-15 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법

Publications (2)

Publication Number Publication Date
KR20050118754A true KR20050118754A (ko) 2005-12-20
KR100567309B1 KR100567309B1 (ko) 2006-04-04

Family

ID=35541250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040043844A KR100567309B1 (ko) 2004-06-15 2004-06-15 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법

Country Status (2)

Country Link
US (1) US7389469B2 (ko)
KR (1) KR100567309B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI286010B (en) * 2005-12-13 2007-08-21 Inst Information Industry Method and computer readable media for efficient channel access by using partial error detection code in centralized wireless communication system
US20080208646A1 (en) * 2007-02-28 2008-08-28 Thompson Ralph E Method for increasing productivity and safety in the mining and heavy construction industries
US8041859B2 (en) * 2007-11-05 2011-10-18 Honywell International Inc. Apparatus and method for connectivity in networks capable of non-disruptively disconnecting peripheral devices
US20090122725A1 (en) * 2007-11-09 2009-05-14 Honeywell International Inc. Robust networks for non-disruptively disconnecting peripheral devices
US20090268727A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090268736A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090271532A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
JP5617875B2 (ja) * 2012-08-10 2014-11-05 株式会社デンソー 車載ネットワークシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3460579B2 (ja) * 1998-05-21 2003-10-27 松下電器産業株式会社 データ転送方法
JP3584789B2 (ja) 1999-07-15 2004-11-04 セイコーエプソン株式会社 データ転送制御装置及び電子機器
KR20010046618A (ko) * 1999-11-13 2001-06-15 구자홍 Ieee 1394 루프 형성시 처리방법
JP3624767B2 (ja) 1999-12-20 2005-03-02 セイコーエプソン株式会社 データ転送制御装置、情報記憶媒体及び電子機器
KR20020047962A (ko) * 2000-12-14 2002-06-22 박종섭 등시전송 효율을 높인 인터페이스 장치 및 방법
JP4166956B2 (ja) 2001-01-12 2008-10-15 パイオニア株式会社 データ伝送システム、コネクション確立方法及び情報伝送装置
KR100401129B1 (ko) 2001-04-20 2003-10-10 한국전자통신연구원 Ieee 1394 트랜시버내 버스 중재의 디지털 구현방법
CA2366397A1 (en) * 2001-12-31 2003-06-30 Tropic Networks Inc. An interface for data transfer between integrated circuits
JP4368587B2 (ja) * 2003-01-14 2009-11-18 富士通株式会社 バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
US20050257117A1 (en) * 2004-05-12 2005-11-17 Weirong Chiang Method and circuit for determining an ending of an ethernet frame

Also Published As

Publication number Publication date
US20060007853A1 (en) 2006-01-12
KR100567309B1 (ko) 2006-04-04
US7389469B2 (en) 2008-06-17

Similar Documents

Publication Publication Date Title
CN108605056B (zh) 高速串行链路中的单向时钟信令
US6157972A (en) Apparatus and method for processing packetized information over a serial bus
US6765923B1 (en) Early arbitration on a full duplex bus
JP5600773B2 (ja) システムおよび情報通信方法
US5247626A (en) Fddi controller having flexible buffer management
US8370701B2 (en) System and method for achieving greater than 10 Gbit/s transmission rates for twisted pair physical layer devices
US20030043771A1 (en) Connection establishment method, communication method, state change transmission method, state changing method wireless apparatus, wireless device, and computer
EP0577778B1 (en) Transceiver interface
CN102577254A (zh) 故障安全通信的方法和系统
US20020010824A1 (en) Electronic equipment and method for processing digital serial data at bus initialization phase in interface unit
US7389469B2 (en) Bus systems, apparatuses, and methods of operating a bus
US6529977B1 (en) Circuit and method for reliably performing bus reset regardless of cable length
US9178692B1 (en) Serial link training method and apparatus with deterministic latency
JP2001119410A (ja) 自己識別フェーズにおける処理方法
US4835776A (en) Communication filter
JP3672845B2 (ja) インターフェース装置及びこれを備えた通信機器並びに通信方法
US7889658B1 (en) Method of and system for transferring overhead data over a serial interface
KR100609493B1 (ko) 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
EP1157516B1 (en) Method and apparatus for transferring data on a bus to or from a device to be controlled by said bus
JPH08504555A (ja) Pcm疑似コード信号送出のためのユーザインターフェイス
WO2005109757A1 (fr) Procede et dispositif d'envoi du signal de commande de la commande d'acces au support d'un anneau de paquet resilient
CN116094867B (zh) 基于mlvds总线的时间敏感网络控制协议设计方法
EP1197038B1 (en) A method and apparatus for verifying connectivity among nodes in a communications network
Kim et al. High speed ring-based distributed networked control system for real-time multivariable applications
JP2009130614A (ja) 通信制御装置、通信制御方法および通信制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110302

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee