KR100285953B1 - 패킷버스및이를이용하여패킷데이터를전송하는장치및방법 - Google Patents

패킷버스및이를이용하여패킷데이터를전송하는장치및방법 Download PDF

Info

Publication number
KR100285953B1
KR100285953B1 KR1019970081472A KR19970081472A KR100285953B1 KR 100285953 B1 KR100285953 B1 KR 100285953B1 KR 1019970081472 A KR1019970081472 A KR 1019970081472A KR 19970081472 A KR19970081472 A KR 19970081472A KR 100285953 B1 KR100285953 B1 KR 100285953B1
Authority
KR
South Korea
Prior art keywords
bus
packet
control device
packet data
controller
Prior art date
Application number
KR1019970081472A
Other languages
English (en)
Other versions
KR19990061216A (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 KR1019970081472A priority Critical patent/KR100285953B1/ko
Priority to CN98111658A priority patent/CN1124549C/zh
Publication of KR19990061216A publication Critical patent/KR19990061216A/ko
Application granted granted Critical
Publication of KR100285953B1 publication Critical patent/KR100285953B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/5613Bus (including DQDB)

Landscapes

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

Abstract

패킷 버스 및 이를 이용하여 패킷 데이터를 전송하는 방법에 관해 개시한다. 본 발명에 의한 Tx 버스의 패킷 전송 방법은, 패킷을 전송하기 전에 주 제어 장치에 있는 Tx 제어기는 Tx 버스 조정기에 버스 사용 권한을 요구하는 신호를 보내고 상기 Tx 버스 조정기는 다음 번에 패킷을 전송할 주 제어 장치를 결정하는 단계와 상기 버스 제어 권한을 부여받은 주 제어 장치는 먼저 패킷을 전송할 종속 제어 장치를 결정하는 단계 및 패킷 전송을 수행하는 단계를 구비한다. 또한 본 발명의 패킷 버스는, 주 제어 장치의 입장에서 보았을 때 패킷을 종속 제어 장치로 전송하는데 사용하는 Tx 버스와, 종속 제어 장치로부터 패킷을 받는데 사용하는 Rx 버스로 구성되어 있다. 본 발명에서는 패킷을 하나 또는 두 개의 주 제어 장치와 여러 개의 종속 제어 장치 사이에서의 패킷 전송을 수행함에 있어, 송신과 수신을 완벽히 독립적으로 분리시켜 수행함으로써 대용량의 전송이 가능하고, 두 개의 주 제어 장치가 부하 분산 및 이중화 기능을 동시에 수행이 가능하여 보드의 고장 시에 훨씬 능동적으로 대체할 수 있다. 그리고 패킷 전송 시에 패리티 에러에 대한 조사를 함으로써 데이터의 신뢰성을 확보할 수 있으며, 단지 최대 두 개의 주 제어 장치만이 있으므로 버스를 제어하고 관리하기가 쉽게 되는 특성을 향상시킬 수 있다.

Description

패킷 버스 및 이를 이용하여 패킷 데이터를 전송하는 장치 및 방법{PACKET BUS AND METHOD FOR TRANSMITTING PACKET DATA USING THE PACKET BUS}
본 발명은 여러 보드 사이의 패킷 데이터(Packet Data)를 전송하기 위한 장치 및 방법에 관한 것이다. 특히 하나 또는 두 개의 주 제어 장치와 여러 개의 종속 제어 장치 사이에서 종속 제어 장치와 주 제어 장치 간의 패킷 데이터를 전송하기 위한 장치 및 방법에 관한 것이다.
종래의 제어 장치에서는 송신과 수신이 완전히 독립적으로 분리하지 못하였기 때문에 대용량의 전송이 어려운 문제점이 있었으며, 패킷 전송시에 패리티 에러에 대한 조사를 하지 못함으로서 데이터의 신뢰성이 떨어지는 단점이 있었다.
본 발명은 상기된 바와 같은 문제점을 해결하기 위한 것으로,
본 발명의 제 1 목적은 하나 또는 두 개의 주 제어 장치와 여러 개의 종속 제어 장치 간에 패킷 버스 제어 장치를 구성하는 방법을 제공함에 있다.
본 발명의 제 2 목적은 패킷 버스를 제공함에 있다.
본 발명의 제 3 목적은 주 제어 장치에 탑재된 패킷 버스 제어기를 제공하는 것이다.
본 발명의 제 4 목적은 종속 제어 장치에 있는 패킷 버스 제어기를 제공하는 것이다.
본 발명의 제 5 목적은 Tx 버스의 패킷 전송 방법을 제공하는 것이다.
본 발명의 제 6 목적은 Rx 버스의 패킷 수신 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적과 장점은 아래의 발명의 상세한 설명을 읽고 아래의 도면을 참조하면 보다 명백해질 것이다:
도 1은 본 발명의 실시예에 따른 패킷 버스 구조의 일 예를 도시한 도면.
도 2는 본 발명의 실시예에 따라 주 제어 장치에 구비되는 패킷 버스 제어기의 구조를 도시한 도면.
도 3은 본 발명의 실시예에 따라 종속 제어 장치에 구비되는 패킷 버스 제어기의 구조를 도시한 도면.
도 4는 본 발명의 실시예에 따라 주 제어 장치에 구비되는 패킷 버스 제어기 내의 Tx 버스 제어기의 구조를 도시한 도면.
도 5는 본 발명의 실시예에 따라 주 제어 장치에 구비되는 패킷 버스 제어기 내의 Rx 버스 제어기의 구조를 도시한 도면.
도 6은 본 발명의 실시예에 따라 종속 제어 장치에 구비되는 패킷 버스 제어기 내의 Tx 버스 제어기의 구조를 도시한 도면.
도 7은 본 발명의 실시예에 따라 종속 제어 장치에 구비되는 패킷 버스 제어기 내의 Rx 제어기의 구조를 도시한 도면.
도 8은 본 발명의실시예에 따라 Tx 버스 조정기의 동작에 대한 순서도.
도 9는 본 발명의 실시예에 따라 패리티 에러가 없는 경우 Tx 버스에서의 동작을 나타내는 타이밍도.
도 10은 본 발명의 실시예에 따라 패리티 에러가 있는 경우 Tx 버스에서의 패킷 재전송 동작을 나타내는 타이밍도.
도 11은 본 발명의 실시예에 따라 패리티 에러가 없는 경우의 Rx 버스에서의 동작을 나타내는 타이밍도.
도 12는 본 발명의 실시예에 따라 패리티 에러가 있는 경우 Rx 버스에서의 패킷 재전송 동작을 나타내는 타이밍도.
〈도면의 주요 부분에 대한 부호의 설명〉
101: 주 제어 장치 #1 102: 주 제어 장치 #2
103: 종속 제어 장치 #1 104: 종속 제어 장치 #2
105: 종속 제어 장치 #n 202: Tx 메모리(주제어장치)
203: Tx 제어기(주제어장치) 204: Tx 버스 조정기
205: Rx 메모리(주제어장치) 206: Rx 제어기(주제어장치)
207: Rx 버스 조정기 302: Tx 메로리(종속제어장치)
303: Tx 제어기(종속제어장치) 305: Rx 메모리(종속제어장치)
306: Rx 제어기(종속제어장치) 401: 조정기 접속 블록
402: 메모리 접속 블록 403: 패리티 발생기
404: 패킷 버스 접속 블록 501: 조정기 접속 블록
502: 메모리 접속 블록 503: 패리티 검사기
504: 패킷 버스 접속 블록 601: 패킷 버스 접속 블록
602: 메로리 접속 블록 603: 패리티 발생기
701: 패킷 버스 접속 블록 702: 메모리 접속 블록
703: 패리티 검사기
상기와 같은 목적을 달성하기 위하여 창안된 본 발명의 패킷 버스 제어 장치의 바람직한 실시예는,
종속 장치와 패킷을 주고받기 위해 패킷 버스를 제어하는 하나 또는 두 개의 주 제어 장치와;
주 제어 장치와 패킷을 주고받기 위해 패킷 버스를 제어하는 n 개의 종속 제어 장치를 포함한다.
본 발명에 있어서, 상기 두 개의 주 제어 장치가 둘 다 살아있는 경우에는 부하를 서로 분담하는 것이 바람직하며,
상기 주 제어 장치중 하나의 장치만 죽었을 경우 나머지 하나가 모든 부하를 감당하여 패킷의 전송을 수행하는 것이 바람직하다.
상기한 다른 목적을 달성하기 위한 본 발명의 패킷 버스는,
주 제어 장치의 입장에서 보았을 때 패킷 버스는,
패킷을 종속 제어 장치로 전송하는데 사용하는 송신(Tx) 버스와;
종속 제어 장치로부터 패킷을 받는데 사용하는 수신(Rx) 버스를 포함한다.
본 발명에 있어서, 상기 Tx 버스는 16 비트로 구동하는 것이 바람직하며,
상기 Rx 버스는 16 비트로 구동하는 것이 바람직하며,
상기 두 버스는 완전히 독립적으로 구동하여 패킷을 전송하는 것이 바람직하며,
상기 Tx 버스는
실제 패킷 데이터가 전송되는 16비트 TxData 신호;
패킷의 시작을 알려주는 TxSOP 신호;
패킷의 끝을 알려주는 TxEOP 신호;
16비트 TxData에 대한 패리티를 전송하는 TxPrty 신호;
종속 제어 장치에 패킷 전송이 진행 중임을 알려주는 TxEnb* 신호;
패킷을 수신할 종속 제어 장치를 나타내는 m+1 비트의 TxAddr 신호;
현재 종속 제어 장치에 패킷을 수신할 버퍼가 있는 지 없는 지를 나타내는 n 비트의 TxFull* 신호; 및
종속 제어 장치가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 주 제어 장치에 보내기 위한 TxPValid* 신호 와 TxPrtyOK 신호를 포함하는 것이 바람직하며,
상기 Rx 버스는
실제 패킷 데이터가 전송되는 16비트 RxData 신호;
패킷의 시작을 알려주는 RxSOP 신호;
패킷의 끝을 알려주는 RxEOP 신호;
16비트 RxData에 대한 패리티를 전송하는 RxPrty 신호;
패킷 전송이 진행 중임을 나타내는 RxDValid* 신호;
종속 제어 장치에 패킷의 전송을 시작하도록 알려주는 RxEnb* 신호;
패킷을 전송할 종속 제어 장치를 나타내는 m+1 비트의 RxAddr 신호;
현재 종속 제어 장치에 전송할 패킷이 있는 지 없는 지를 나타내는 n 비트의 RxPav 신호; 및
주 제어 장치가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 종속 제어 장치에 보내기 위한 RxPValid* 신호 와 RxPrtyOK 신호를 포함하는 것이 바람직하다.
상기한 다른 목적을 달성하기 위한 본 발명의 주 제어 장치에 탑재된 패킷 버스 제어기의 바람직한 일 실시예는,
Tx 버스에서 데이터 전송을 제어하는 Tx 제어기;
두 개의 주 제어 장치 사이에서 Tx 버스의 사용 권한을 조정하는 Tx 버스 조정기;
종속 제어 장치로 전송할 패킷을 임시적으로 저장하고 있는 Tx 메모리;
Rx 버스에서 데이터 전송을 제어하는 Rx 제어기;
두 개의 주 제어 장치 사이에서 Rx 버스의 사용 권한을 조정하는 Rx 버스 조정기; 및
종속 제어 장치로부터 전송되어 오는 패킷을 임시적으로 저장할 Rx 메모리를 포함한다.
본 발명의 실시예에 있어서, 상기 주 제어 장치에 있는 패킷 버스 제어기내의 Tx 제어기는,
Rx 버스 조정기에 Tx 버스를 사용하기 위하여 버스 요구 신호를 보내고, 버스 사용 권한을 얻은 후, 패킷이 전송될 목적지를 정하고 메모리 접속 블록과 패킷 버스 접속 블록에 패킷 전송을 요구하는 기능을 가진 조정기 접속 블록;
상기 조정기의 요구에 따라 Tx 메모리로부터 패킷을 읽어내는 기능을 하는 메모리 접속 블록;
메모리 접속 블록에서 오는 패킷에 16비트별로 패리티를 발생시키는 패리티 발생기; 및
상기 패리티 발생기를 통해 온 패킷과 패리티를 Tx 버스로 전송하는 기능을 하는 패킷 버스 접속 블록을 포함하는 것이 바람직하며,
상기 주 제어 장치에 있는 패킷 버스 제어기 내의 Rx 제어기는,
Rx 버스에 접속하여 주 제어 장치로부터 오는 제어 신호를 받아 데이터를 받아들이고 패리티 에러가 발생하였을 경우 재전송을 요구하는 기능을 가진 패킷 버스 접속 블록;
패킷 버스 접속 블록에서 오는 데이터의 패리티를 검사하여 그 결과를 패킷 버스 접속 블록으로 보내는 기능을 가진 패킷 버스 검사기; 및
패킷 버스 검사기를 통하여 전달된 패킷을 Rx 메모리에 저장하는 기능을 가진 메모리 접속 블록을 포함하는 것이 바람직하다.
상기한 다른 목적을 달성하기 위한 본 발명의 종속 제어 장치에 있는 패킷 버스 제어기의 바람직한 실시예는,
Tx 버스로부터 오는 제어 신호와 데이터를 처리하는 Rx 제어기;
Rx 제어기를 통해 받은 패킷을 임시적으로 저장하는 Rx 메모리;
Rx 버스로부터 오는 제어 신호를 처리하고 이 제어 신호에 따라 Rx 버스를 통해 데이터 전송을 제어하는 Tx 제어기; 및
주 제어 장치로 전송될 패킷을 임시적으로 저장하는 Tx 메모리를 포함한다.
본 발명에 있어서, 종속 제어 장치에 있는 패킷 버스 제어기내의 Tx 제어기는
Rx 버스에 접속하여 주 제어 장치로부터 오는 제어 신호를 받아 데이터를 전송하는 기능을 하는 패킷 버스 접속 블록;
패킷 버스 접속 블록에서 오는 신호에 따라 Tx 메모리로부터 패킷을 읽어들이는 기능을 하는 메모리 접속 블록; 및
메모리 접속 블록에서 오는 패킷에 대한 패리티를 발생시키는 패리티 발생기를 포함하는 것이 바람직하며,
상기 종속 제어 장치에 있는 패킷 버스 제어기 내의 Rx 제어기는,
Tx 버스에 접속하여 주 제어 장치로부터 오는 제어 신호를 받아 데이터를 받아들이고, 패리티 에러가 발생하였을 경우 재전송을 요구하는 기능을 가진 패킷 버스 접속 블록;
패킷 버스 접속 블록에서 오는 데이터의 패리티를 검사하여 그 결과를 패킷 버스 접속 블록으로 보내는 기능을 가진 패킷 버스 검사기; 및
패킷 버스 검사기를 통하여 전달된 패킷을 Rx 메모리에 저장하는 기능을 가진 메모리 접속 블록을 포함하는 것이 바람직하다.
상기한 다른 목적을 달성하기 위한 본 발명의 Tx 버스의 패킷 전송 방법의 바람직한 실시예는,
패킷을 전송하기 전에 주 제어 장치에 있는 Tx 제어기는 Tx 버스 조정기에 버스 사용 권한을 요구하는 신호를 보내는 단계;
상기 Tx 버스 조정기는 다음 번에 패킷을 전송할 주 제어 장치를 결정하는 단계;
상기 버스 제어 권한을 부여받은 주 제어 장치는 먼저 패킷을 전송할 종속 제어 장치를 결정하는 단계; 및
패킷 전송을 수행하는 단계를 포함한다.
본 발명에 있어서, 상기 버스 사용 권한을 요구하는 단계에서, 상기 Tx 버스 조정기는 각 주 제어 장치에 모두 존재하지만 두 보드가 모두 살아있는 경우에는 둘 중의 하나만 Tx 버스 조정기로서의 기능을 하고 다른 하나는 사용되지 않는 것이 바람직하며,
상기 주 제어 장치를 결정하는 단계에서, 다음 번 패킷을 전송할 주 제어장치를 결정하는 방법은
Tx 버스 조정기가 다른 주 제어 장치가 있는지 없는지를 조사하는 제 1 단계;
만약 없다면 무조건 SBusgnt* 신호를 0으로 만들어 자신의 Tx 제어기가 Tx 버스를 제어하도록 하는 단계;
만약 있다면 자신이 Tx 버스 조정기로서 기능을 해야되는지 아닌지를 조사하는 단계;
상기 기능을 하지 않아야 된다면 다른 주 제어 장치가 없어지는 지만을 조사하는 단계;
조정기로서 기능을 하여야 한다면 현재 어느 주 제어 장치가 패킷을 전송하고 있는지를 확인하는 단계;
현재 패킷을 전송하고 있지 않은 주 제어 장치에서 오는 버스 요구 신호를 확인하는 단계;
버스 요구 신호가 있으면 다음 번 패킷 전송을 그 주 제어 장치가 제어하도록 하는 단계;
버스 요구 신호가 없으면 현재 패킷을 전송하고 있는 주 제어 장치의 버스 요구 신호를 확인하는 단계;
요구 신호가 있으면 Tx 버스 제어 권한을 부여하는 단계; 및
버스 제어 권한을 부여받을 주 제어 장치가 보내는 Busbusy* 신호를 보고 있다가 그 값이 1로 되면 다음 번 버스 제어 권한을 받을 주 제어 장치를 결정하는 단계를 포함하는 것이 바람직하며,
상기 종속 제어 장치를 결정하는 단계에서, 먼저 패킷을 전송할 종속 제어 장치를 결정하는 방법은
상위 레이어에서 받은 PacketArrive 신호를 이용하여 만들어 놓은 각 종속 제어 장치에 전송되어야 할 패킷이 있는지 없는지를 가지고 있는 레지스터와 각 종속 제어 장치에서 오는 Rx 메모리에 패킷을 받아들일 공간이 있는지를 나타내는 TxFull* 신호를 앤드(AND)하는 단계;
상기 결과가 1인 것이 있으면 그 종속 제어 장치로 패킷을 전송하는 단계; 및
여러 개의 종속 제어 장치에 대한 신호가 1인 경우에는 라운드로빙 방식으로 결정하는 단계를 포함하는 것이 바람직하며,
상기 패킷 전송을 수행하는 방법은
주 제어 장치에 있는 패킷 버스 제어기 내에 있는 Tx 제어기는 Tx 버스 조정기로부터 패킷을 전송할 종속 제어 장치를 결정 받는 단계;
클락 타임 2에서 TxAddr에 그 종속 제어 장치의 어드레스를 적어, 종속 제어 장치가 패킷을 받을 준비를 할 수 있도록 하는 단계;
한 클락 뒤에 TxEnb* 신호를 '0'으로 하고, TxData에는 첫 번째 패킷 헤더 데이터(RO)를 싣고, TxSOP에는 '1'을, TxEOP에는 '0'을, TxPrty에는 TxData에 대한 패리티 값(RPO)을 실으면서 패킷 전송을 시작하는 단계;
패킷 헤더의 전송을 끝낸 후에는 종속 제어 장치로부터 오는 패킷 헤더의 재전송 여부를 알려주는 신호를 기다리는 단계;
종속 제어 장치들은 항상 TxAddr 신호를 보고 있다가 그 값이 자신의 어드레스와 같으면 패킷을 받을 준비를 하고 있다가 TxEnb* 신호가 '0'이면 패킷 데이터를 받아들이는 단계;
패킷 헤더를 다 받아들인 후에는 헤더에 대한 패리티를 검사하는 단계;
만약 패리티 에러가 없으면 TxPValid* 신호를 '0'으로, TxPrtyOK 신호는 '1'로 만들어 주 제어 장치에 전송하는 단계;
만약 패리티 에러가 있으면 TxPValid* 신호와 TxPrtyOK 신호 둘 다를 '0'으로 만들어 주 제어 장치에 전송하는 단계;
패리티 검사 결과를 기다리고 있던 주 제어 장치는 패리티 에러 신호를 받게 되면 헤더를 재 전송하는 단계;
상기 패킷 헤더의 패리티 에러가 연속적으로 상당수 여러 번 발생하게 되면 주 제어 장치는 상기 종속 제어 장치로의 패킷 전송을 중지하고 Tx 버스 조정기에 그 사실을 알려주는 단계;
상기 종속 보드로의 패킷 전송을 하지 못하도록 하는 동시에 상위 레이어로도 이 사실을 알려주는 단계;
만약 패리티 에러가 없다면 주 제어 장치는 TxEnb* 신호를 '0'으로 만들면서 패킷의 나머지 데이터에 대한 전송을 시작하는 단계; 및
패킷의 마지막 데이터가 전송될 때에 TxEOP 신호를 '1'로 만들어 줌으로써 패킷 전송이 끝났음을 알려주고 Tx 버스 조정기에도 Busbusy* 신호를 전송하여 다음 번 조정 기능을 수행하도록 하는 단계를 포함하는 것이 바람직하다.
상기한 다른 목적을 달성하기 위한 본 발명의 Rx 버스의 패킷 수신 방법의 바람직한 실시예는,
다음 번 패킷을 수신할 주 제어 장치를 결정하는 단계;
상기 결과를 주 제어 장치에 알려주어 패킷 버스 제어기의 Rx 제어기가 패킷 수신을 시작할 수 있도록 하는 단계;
Rx 버스 제어 권한을 부여받은 주 제어 장치는 각 종속 제어 장치로부터 오는 패킷이 있는지를 나타내는 RxPav 신호를 이용하여 Rx 버스 조정기에서 다음 번 패킷을 전송할 종속 제어 장치를 결정하는 단계; 및
패킷을 수신 받는 단계를 포함한다.
본 발명에 있어서, 상기 주 제어 장치를 결정하는 단계에서 다음 번 패킷을 수신할 주 제어장치를 결정하는 방법은
Rx 버스 조정기가 다른 주 제어 장치가 있는지 없는지를 조사하는 단계;
만약 없다면 무조건 SBusgnt* 신호를 0으로 만들어 자신의 Rx 제어기가 Rx 버스를 제어하도록 하는 단계;
만약 있다면 자신이 Rx 버스 조정기로서 기능을 해야되는지 아닌지를 조사하는 단계;
상기 기능을 하지 않아야 된다면 다른 주 제어 장치가 없어지는 지만을 조사하는 단계;
조정기로서 기능을 하여야 한다면 현재 어느 주 제어 장치가 패킷을 전송하고 있는지를 확인하는 단계;
현재 패킷을 전송하고 있지 않은 주 제어 장치에서 오는 버스 요구 신호를 확인하는 단계;
버스 요구 신호가 있으면 다음 번 패킷 전송을 그 주 제어 장치가 제어하도록 하는 단계;
버스 요구 신호가 없으면 현재 패킷을 전송하고 있는 주 제어 장치의 버스 요구 신호를 확인하는 단계;
요구 신호가 있으면 Rx 버스 제어 권한을 부여하는 단계; 및
버스 제어 권한을 부여받을 주 제어 장치가 보내는 Busbusy* 신호를 보고 있다가 그 값이 1로 되면 다음 번 버스 제어 권한을 받을 주 제어 장치를 결정하는 단계를 더 포함하는 것이 바람직하며,
상기 Rx 제어기가 패킷 수신을 시작할 수 있도록 하는 단계에서, 상기 다음 번 패킷을 전송할 종속 제어 장치를 결정하는 방법은 라운드로빙 형식을 취하는 것이 바람직하며,
상기 라운로빙 형식은 지난번에 패킷을 전송한 다음 번 종속 제어 장치로부터 오는 RxPav 신호를 검사하여 가장 먼저 만나는 패킷 존재 신호를 보내는 종속 제어 장치가 이번에 패킷을 전송할 장치로 결정되는 것이 바람직하며,
상기 패킷을 수신 받는 단계에서, 상기 패킷을 수신 받는 방법은
주 제어 장치 내의 Rx 제어기는 Rx 버스 조정기로부터 패킷을 전송할 종속 제어 장치의 어드레스를 전달받는 단계;
RxENB* 신호를 '0'으로 만들고, RxAddr 신호를 패킷을 전송하기로 결정된 종속 제어 장치의 어드레스로 만들어 종속 제어 장치들에게로 전송하는 단계;
RxAddr에 있는 어드레스를 자기의 어드레스로 가진 종속 제어 장치가 RxDValid* 신호를 '0'으로, RxData에는 첫 번째 패킷 헤더를, RxSOP 신호는 '1'로, RxEOP 신호는 '0'으로, RxPrty 신호는 RxData에 대한 패리티 값을 전송하면서 패킷 전송을 시작하는 단계;
패킷 헤더 전송을 완료한 후에는 주 제어 장치로부터 패킷 헤더 패리티를 조사한 결과를 기다리는 단계;
주 제어 장치는 RxDValid* 신호가 '0'인 경우에 패킷을 받아들이는 단계;
패킷 헤더 부분을 받아들인 후 이에 대한 패리티를 조사하는 단계;
상기 결과를 RxPValid* 신호와 RxPrtyOK 신호를 이용하여 종속 제어 장치에 전송하는 단계;
상기 신호를 받은 종속 제어 장치는 그 결과에 따라 패리티 에러가 있으면 패킷 헤더를 재 전송하는 단계;
패리티 에러가 없으면 나머지 데이터를 전송하는 단계;
마지막 데이터를 전송할 때에 RxEOP 신호를 '1'로 전송함으로써 패킷 전송이 완료되었음을 주 제어 장치에 알려주는 단계; 및
주 제어 장치는 패킷 수신을 완료한 후에 RxBusbusy* 신호를 Rx 버스 조정기에 보냄으로써 다음 번 패킷을 전송할 주 제어 장치를 결정하는 제 11 단계를 포함하는 것이 바람직하며,
상기 RxPValid* 신호와 RxPrtyOK 신호를 이용하여 종속 제어 장치에 전송하는 단계에서, 패리티 에러가 없으면 RxPValid* 신호는 '0'으로, RxPrtyOK 신호는 '1'로 만들어 전송하고, 패리티 에러가 있으면 RxPValid* 신호와 RxPrtyOK 신호를 둘 다 '0'으로 만들어서 전송하는 것이 바람직하다.
도 1에서 패킷 버스 구조를 나타낸 바와 같이, Tx 버스는 실제 패킷 데이터가 전송되는 16비트 TxData 신호, 패킷의 시작을 알려주는 TxSOP 신호, 패킷의 끝을 알려주는 TxEOP 신호, 16비트 TxData에 대한 패리티를 전송하는 TxPrty 신호, 패킷 전송이 진행 중임을 나타내는 TxEnb* 신호, 패킷이 전송될 종속 제어 장치(103, 104, 105)를 나타내는 (m+1)비트의 TxAddr 신호, 현재 종속 제어 장치가 패킷을 받을 수 있는 지 없는 지를 나타내는 n 비트의 TxFull* 신호, 종속 제어 장치가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 주 제어 장치에 보내기 위한 TxPValid*와 TxPrtyOK 신호로 구성되는 것이 바람직하다.
또한 Rx 버스는 실제 패킷 데이터가 전송되는 16비트 RxData 신호, 패킷의 시작을 알려주는 RxSOP 신호, 패킷의 끝을 알려주는 RxEOP 신호, 16비트 RxData에 대한 패리티를 전송하는 RxPrty 신호, 패킷 전송이 진행 중임을 나타내는 RxDValid* 신호, 종속 제어 장치(103, 104, 105)에 패킷의 전송을 시작하도록 알려주는 RxEnb* 신호, 패킷을 전송할 종속 제어 장치(103, 104, 105)를 나타내는 (m+1)비트의 RxAddr 신호, 현재 종속 제어 장치에 전송할 패킷이 있는 지 없는 지를 나타내는 n 비트의 RxPav 신호, 주 제어 장치(101, 102)가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 종속 제어 장치에 보내기 위한 RxPValid* 신호와 RxPrtyOK 신호로 구성되는 것이 바람직하다.
도 2는 본 발명의 실시예에 따라 주 제어 장치에 구비되는 패킷 버스 제어기의 구조를 도시한다. 도 2를 참조하여 설명하면, 주 제어 장치에 있는 패킷 버스 제어기는 Tx 버스에서 데이터 전송을 제어하는 Tx 버스제어기(203), 두 개의 주 제어 장치 사이에서 Tx 버스의 사용 권한을 조정하는 Tx 버스 조정기(204), 종속 제어 장치로 전송할 패킷을 임시적으로 저장하고 있는 Tx 버스메모리(202), Rx 버스에서 데이터 전송을 제어하는 Rx 버스제어기(206), 두 개의 주 제어 장치 사이에서 Rx 버스의 사용 권한을 조정하는 Rx 버스 조정기(207), 종속 제어 장치로부터 전송되어 오는 패킷을 임시적으로 저장할 Rx 버스메모리(205)로 구성되는 것이 바람직하다.
도 3은 종속 제어 장치에 구비되는 패킷 버스 제어기의 구조를 도시한다. 도 3을 참조하여 설명하면, 종속 제어 장치에 있는 패킷 버스 제어기는 Tx 버스로부터 오는 제어 신호와 데이터를 처리하는 Rx 버스제어기(306), Rx 버스제어기(306)를 통해 받은 패킷을 임시적으로 저장하는 Rx 메모리(305), Rx 버스로부터 오는 제어 신호를 처리하고, 이 제어 신호에 따라 Rx 버스를 통해 데이터 전송을 제어하는 Tx 버스제어기(303), 주 제어 장치로 전송될 패킷을 임시적으로 저장하는 Tx 메모리(202)로 구성되는 것이 바람직하다.
도 4는 주 제어 장치에 있는 패킷 버스 제어기 내의 Tx 버스 제어기의 구조를 도시한다. 도 4를 참조하여 설명하면, 주 제어 장치에 있는 패킷 버스 제어기 내의 Tx 버스 제어기(203)는 Tx 버스 조정기(204)에 Tx 버스를 사용하기 위하여 버스 요구 신호를 보내고, 버스 사용 권한을 얻은 후, 패킷 데이터가 전송될 목적지를 정하고, Tx 버스 메모리 접속 블록(402)과 Tx 패킷 버스 접속 블록(404)에 패킷 전송을 요구하는 기능을 가진 Tx 조정기 접속 블록(401), 상기 Tx 버스 조정기 접속 블록(401)의 요구에 따라 Tx 버스 메모리(202)로부터 패킷을 읽어내는 기능을 하는 Tx 버스 메모리 접속 블록(402), 상기 Tx 버스 메모리 접속 블록(402)으로부터 입력되는 패킷 데이터에 16비트별로 패리티를 발생시키는 패리티 발생기(403), 상기 패리티 발생기(403)를 통해 온 패킷과 패리티를 Tx 버스로 전송하는 기능을 하는 Tx 패킷 버스 접속 블록(404)으로 구성되는 것이 바람직하다.
도 5는 주 제어 장치에 있는 패킷 버스 제어기 내의 Rx 버스 제어기(206)의 구조를 나타낸다. 도 5를 참조하여 설명하면, 주 제어 장치에 있는 패킷 버스 제어기 내의 Rx 제어기(206)는 Rx 버스 조정기(207)에 Rx 버스를 사용하기 위하여 버스 요구 신호를 보내고, 버스 사용 권한을 얻은 후, 패킷 데이터를 전송하게 될 종속 제어 장치를 정하고, Rx 패킷 버스 접속 블록(504)에 패킷 받기를 요구하는 기능을 가진 Rx 버스 조정기 접속 블록(501), 상기 Rx 버스 조정기접속블록(501)의 요구에 따라 해당 종속 제어 장치에 패킷 전송을 요구하고, 패킷데이터를 받아들이고, 패리티 에러의 경우에는 재전송을 요구하는 기능을 가진 Rx 패킷 버스 접속 블록(504), 상기 Rx 패킷 버스 접속 블록(504)에서 들어온 패킷 데이터의 패리티를 검사하여 에러가 있으면 Rx 패킷 버스 접속 블록(504)에 알려주는 기능을 하는 패리티 검사기(503), 패리티 검사기(503)를 거쳐 입력되는 패킷데이터을 Rx 버스 메로리(205)에 저장하는 기능을 하는 Rx 버스 메모리 접속 블록(502)으로 구성되는 것이 바람직하다.
도 6은 상기 도 3에서 종속 제어 장치에 있는 패킷 버스 제어기 내의 Tx 버스 제어기(303)의 구조를 나타낸다. 상기 도 3과 도 6을 참조하여 설명하면, 종속 제어 장치에 있는 패킷 버스 제어기 내의 Tx 버스 제어기(303)는 Rx 버스에 접속하여 주 제어 장치로부터 오는 제어 신호를 받아 데이터를 전송하는 기능을 하는 Tx패킷 버스 접속 블록(601), 상기 Tx 패킷 버스 접속 블록(601)에서 오는 신호에 따라 Tx 버스 메모리(302)로부터 패킷을 읽어들이는 기능을 하는 Tx 버스 메모리 접속 블록(602), 상기 Tx 버스 메모리 접속 블록(602)으로부터 입력되는 패킷 데이터에 대한 패리티를 발생시키는 패리티 발생기(603)로 구성되는 것이 바람직하다.
도 7은 상기 도 3에서 종속 제어 장치에 있는 패킷 버스 제어기 내의 Rx 버스 제어기(306)의 구조를 나타낸다. 상기 도 3과 도 7을 참조하여 설명하면, 종속 제어 장치에 있는 패킷 버스 제어기 내의 Rx 버스 제어기(306)는 Tx 버스에 접속하여 주 제어 장치로부터 오는 제어 신호를 받아 데이터를 받아들이고, 패리티 에러가 발생하였을 경우 재전송을 요구하는 기능을 가진 Rx 패킷 버스 접속 블록(701), 상기 Rx 패킷 버스 접속 블록(701)에서 오는 데이터의 패리티를 검사하여 그 결과를 패킷 버스 접속 블록으로 보내는 기능을 가진 패러티 검사기(703), 상기 패킷 버스 검사기(703)를 통하여 전달된 패킷을 Rx 버스 메모리(205)에 저장하는 기능을 가진 Rx 버스 메모리 접속 블록(702)으로 구성되는 것이 바람직하다.
하나 또는 두 개의 주 제어장치와 여러 개의 종속 제어장치 간의 패킷 데이터의 전송에 있어서, 대용량의 전송, 주 제어장치의 부하 분담 및 이중화 및 데이터의 신뢰성등을 확보하기 위한 구체적 구성으로서 상기 도 1내지 도 7의 설명에서 볼 때, 두 개의 주 제어 장치 및 여러 개의 종속 제어 장치들에 구비되는 각 버스 제어 장치(Tx 버스 제어기, Rx 버스 제어기)는 Tx 및 Rx 버스 제어를 독립적으로 수행하고 있음을 알 수가 있다. 이로 인해, 대용량의 전송이 가능하게 된다. 또한 각 주 제어 장치 및 종속 제어 장치의 송신측에 구비되는 패리티 발생기는 전송할 패킷 데이터에 대하여 패리티 비트를 발생하며, 수신측에 구비되는 패리티 검사기가 수신한 패킷 데이터에 대하여 패리티 검사를 수행한다. 이로인해 데이터 전송에 있어서 패리티 에러에 대한 검사를 함으로써 데이터의 신뢰성을 확보할 수가 있다.
또한 상기 설명에서 볼때, 각 주 제어 장치에 대응하는 패킷 버스 제어기에 구비되며, 각 주 제어 장치의 Tx 및 Rx 버스의 사용권한을 조정하는 버스 조정기의 구성은 주 제어 장치의 부하 분담 및 이중화의 동작을 가능하게 한다. 상기 버스 조정기의 부하 분담 및 이중화의 동작에 대한 구체적인 실시예는 후술될 것이다.
본 발명은 다양하게 변형될 수 있고, 여러 가지 형태를 취할 수 있지만, 그에 따른 특별한 실시예만 상기 도면에 도시되어 있고, 그에 대해서는 상세하게 기술될 것이다. 하지만, 본 발명은 명세서에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 본 발명은 첨부된 청구범위에 의해 정의된, 본 발명의 정신과 범위내에 있는 모든 변형물, 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
이하 첨부된 도면들을 참조하여 본 발명의 패킷 버스 및 이를 이용하여 패킷 데이터를 전송하기 위한 방법의 일 예를 구체적으로 상술한다.
패킷 버스는 16비트 Tx 버스와 16비트의 Rx 버스의 두 버스로 구성될 수가있다. 각 버스는 완전히 독립적으로 동작하여 패킷을 전송하는데 서로 간섭하지 않으므로 실제 전송 속도를 높일 수 있다. 그리고 두 개의 주 제어 장치는 둘 다 살아있는 경우에는 부하를 서로 분담하게 되고, 만약 하나의 장치가 죽게 되면 나머지 하나가 모든 부하를 감당하여 패킷의 전송을 수행한다.
먼저 Tx 버스의 경우에 대하여 동작을 설명하기로 한다. 패킷을 전송하기 전에 주 제어 장치(101, 102)에 있는 Tx 버스 제어기(203)는 Tx 버스 조정기(204)에 버스 사용 권한을 요구하는 신호를 보낸다. 상기 Tx 버스 조정기(204)는 각 주 제어 장치에 모두 존재하지만 두 보드가 모두 살아있는 경우에는 둘 중의 하나만 Tx 버스 조정기(204)로서의 기능을 하고 다른 하나는 사용되지 않는다. 상기 Tx 버스 조정기(204)는 제 8 도에 있는 순서도에 따라 다음 번에 패킷을 전송할 주 제어 장치를 결정하게 된다.
먼저 주 제어 장치(101)의 Tx 버스 조정기(204)는 다른 주 제어 장치(102)가 있는지 없는지를 조사한다(S801). 만약 없다면 무조건 SBusgnt* 신호를 0으로 만들어(S807) 자신의 Tx 버스 제어기(203)가 Tx 버스를 제어하도록 한다(S809)(S811). 만약 있다면 자신이 Tx 버스 조정기(204)로서 기능을 해야되는지 아닌지를 조사하여 하지 않아야 된다면 다른 주 제어 장치가 없어지는지 만을 조사하고 있고(S802), 조정기로서 기능을 하여야 한다면, 현재 어느 주 제어 장치가 패킷데이터를 전송하고 있는지를 확인하고(S=0 또는 1)(S803), 먼저 현재 패킷데이터를 전송하고 있지 않은 주 제어 장치에서 오는 버스 요구 신호를 확인한다.(S804)(S805) 그래서 버스 요구 신호가 있으면 다음 번 패킷 전송을 그 주 제어 장치가 제어하도록 하고(S806)(S807), 만약 버스 요구 신호가 없으면 현재 패킷 데이터를 전송하고 있는 주 제어 장치의 버스 요구 신호를 확인한다. 그래서 요구 신호가 있으면 Tx 버스 제어 권한을 부여한다.
버스 제어 권한을 부여한 뒤, 버스 제어 권한을 부여받을 주 제어 장치가 보내는 Busbusy* 신호를 보고 있다가(S806)(S807) 그 값이 1로 되면 다음 번 버스 제어 권한을 받을 주 제어 장치를 결정하는 작업을 수행한다(S810)(S811).
상기와 같은 방법으로 버스 제어 권한을 부여받은 주 제어 장치는 먼저 패킷 데이터를 전송할 종속제어 장치를 결정하게 되는데 이것은 상위 레이어에서 받은 PacketArrive 신호를 이용하여 만들어 놓은 각 종속 제어 장치에 전송되어야 할 패킷이 있는지 없는지를 가지고 있는 레지스터와 각 종속 제어 장치에서 오는 Rx 메모리에 패킷을 받아들일 공간이 있는지를 나타내는 TxFull* 신호를 사용한다.
이 두 신호를 엔드(AND)하여 1인 것이 있으면 그 종속 제어 장치로 패킷을 전송하는데 여러 개의 종속 제어 장치에 대한 신호가 1인 경우에는 라운드로빙 방식으로 결정하게 된다.
상기한 바와 같이, 패킷이 전송될 종속 제어 장치가 결정되면 제 9 도와 제 10 도와 같은 타이밍도에 따라 패킷 전송을 수행한다.
제 9 도와 제 10 도의 타이밍도에서 설명을 위하여 5번째 종속 제어 장치로 패킷을 전송하는 것을 가정하였고, 패킷의 헤더는 2워드(4바이트)의 길이로 가정하였다.
제 9 도는 패킷 헤더 전송 시에 패리티 에러가 발생하지 않고 정상적으로 패킷이 전송된 경우를 보여주고 있고, 제 10 도의 경우에는 패리티 에러가 발생하였을 경우 재전송을 수행하는 동작을 보여주고 있다.
먼저 주 제어 장치에 있는 패킷 버스 제어기 내에 있는 Tx 버스 제어기는 Tx 버스 조정기로부터 패킷을 전송할 종속 제어 장치를 결정받은 후에 클럭타임 2에서 TxAddr에 그 종속 제어 장치의 어드레스를 적어, 종속 제어 장치가 패킷을 받을 준비를 할 수 있도록 하고, 한 클럭 뒤에 TxEnb* 신호를 '0'으로 하고, TxData에는 첫 번째 패킷 헤더 데이터(RO)를 실고, TxSOP에는 '1'을, TxEOP에는 '0'을, TxPrty에는 TxData에 대한 패리티 값(RPO)를 실으면서 패킷 전송을 시작한다.
패킷 헤더의 전송을 끝낸 후에는 (클럭타임 5) 종속 제어 장치로부터 오는 패킷 헤더의 재전송 여부를 알려주는 신호를 기다린다. 종속 제어 장치들은 항상 TxAddr 신호를 보고 있다가 그 값이 자신의 어드레스와 같으면 패킷을 받을 준비를 하고 있다가 TxEnb* 신호가 '0'이면 패킷 데이터를 받아들이게 된다. 그리고 패킷 헤더를 다 받아들인 후에는 헤더에 대한 패리티를 검사하고 만약 패리티 에러가 없으면 제 9 도처럼 TxPValid* 신호를 '0'으로, TxPrtyOK 신호는 '1'로 만들어 주 제어 장치에 전송하고, 만약 패리티 에러가 있으면 제 10도처럼 TxPValid* 신호와 TxPrtyOK 신호 둘 다를 '0'으로 만들어 주 제어 장치에 전송한다. 패리티 검사 결과를 기다리고 있던 주 제어 장치는 제 10 도처럼 패리티 에러 신호를 받게 되면 헤더를 재전송하게 된다.
이러한 패킷 헤더의 패리티 에러가 연속적으로 상당수 여러번 발생하게 되면 주 제어 장치는 그 종속 제어 장치로의 패킷 전송을 중지하고 Tx 버스 조정기에 그 사실을 알려주어 그 종속 보드로의 패킷 전송을 하지 못하도록 하는 동시에 상위 레이어로도 이 사실을 알려준다. 만약 제 9 도처럼 패리티 에러가 없다면 주 제어 장치는 TxEnb* 신호를 '0'으로 만들면서 패킷의 나머지 데이터에 대한 전송을 시작한다.
그리고 패킷의 마지막 데이터가 전송될 때에 TxEOP 신호를 '1'로 만들어 줌으로써 패킷 전송이 끝났음을 알려주고 Tx 버스 조정기에도 Busbusy* 신호를 전송하여 다음 번 조정 기능을 수행하도록 하여준다.
Rx 버스의 경우에도 Tx 버스 조정기(204)의 순서도와 동일한 것을 가지고 다음 번 패킷을 수신할 주 제어 장치를 결정하고 그 결과를 주 제어 장치에 알려주어 패킷 버스 제어기의 Rx 제어기(206)가 패킷 수신을 시작할 수 있도록 하여준다.
Rx 버스 제어 권한을 부여받은 주 제어 장치(101, 102)는 각 종속 제어 장치로부터 오는 패킷이 있는지를 나타내는 RxPav 신호를 이용하여 Rx 버스 조정기(207)에서 다음 번 패킷을 전송할 종속 제어 장치(103 내지 105)중에서 어느 하나를 결정하게 된다.
이 때의 결정 방식은 라운드 로빙 형식을 취한다. 즉, 지난 번에 패킷을 전송한 다음 번 종속 제어 장치로부터 오는 RxPav 신호부터 검사를 시작하여 가장 먼저 만나는 패킷 존재 신호를 보내는 종속 제어 장치가 이번에 패킷을 전송할 장치로 결정된다.
이렇게 패킷을 전송할 종속 제어 장치가 결정되면 제 11 도와 제 12 도와 같은 타이밍도를 가지고 패킷을 수신받게 된다. 제 11 도와 제 12 도에서 패킷을 전송할 종속 제어 보드는 3번째 보드로 가정하였다. 제 11 도는 패리티 에러가 발생하지 않은 경우를 가정한 타이밍도이고 제 12 도는 패리티 에러가 발생한 경우 패킷 헤더를 재전송하는 동작을 보여주는 타이밍도이다.
먼저 주 제어 장치 내의 Rx 제어기(206)는 Rx 버스 조정기(207)로부터 패킷 데이터를 전송할 종속 제어 장치의 어드레스를 전달받은 후에 RxENB* 신호를 '0'으로 만들고, RxAddr 신호를 패킷을 전송하기로 결정된 종속 제어 장치의 어드레스로 만들어 종속 제어 장치들(103 내지 105)중에서 어느 하나 에게로 전송한다.
그러면 RxAddr에 있는 어드레스를 자기의 어드레스로 가진 종속 제어 장치가 RxDValid* 신호를 '0'으로, RxData에는 첫 번째 패킷 헤더를, RxSOP 신호는 '1'로, RxEOP 신호는 '0'으로, RxPrty 신호는 RxData에 대한 패리티 값을 전송하면서 패킷 전송을 시작한다.
패킷 헤더 전송을 완료한 후에는 주 제어 장치로부터 패킷 헤더 패리티를 조사한 결과를 기다린다. 주 제어 장치는 RxDValid* 신호가 '0'인 경우에 패킷을 받아들이고, 패킷 헤더 부분을 받아들인 후에 이에 대한 패리티를 조사하고 그 결과를 RxPValid* 신호와 RxPrtyOK 신호를 이용하여 종속 제어 장치에 전송한다. 즉, 패리티 에러가 없으면 RxPValid* 신호는 '0'으로, RxPrtyOK 신호는 '1'로 만들어 전송하고, 패리티 에러가 있으면 RxPValid* 신호와 RxPrtyOK 신호를 둘 다 '0'으로 만들어서 전송한다. 상기 신호를 받은 종속 제어 장치는 그 결과에 따라 패리티 에러가 있으면 제 12 도와 같이 패킷 헤더를 재전송하고 패리티 에러가 없으면 제 11 도와 같이 나머지 데이터를 전송하고 마지막 데이터를 전송할 때에 RxEOP 신호를 '1'로 전송함으로써 패킷 전송이 완료되었음을 주 제어 장치에 알려준다.
주 제어 장치는 패킷 수신을 완료한 후에 RxBusbusy* 신호를 Rx 버스 조정기에 보냄으로써 다음 번 패킷을 전송할 주 제어 장치를 결정하게 한다.
상기한 바와 같이, 본 발명은 패킷을 하나 또는 두 개의 주 제어 장치와 여러 개의 종속 제어 장치 사이에서의 패킷 전송을 수행함에 있어, 송신과 수신을 완벽히 독립적으로 분리시켜 수행함으로써 대용량의 전송이 가능하고, 두 개의 주 제어 장치가 부하 분산 및 이중화 기능을 동시에 수행이 가능하여 보드의 고장 시에 훨씬 능동적으로 대체할 수 있고, 패킷 전송 시에 패리티 에러에 대한 조사를 함으로써 데이터의 신뢰성을 확보할 수 있고, 단지 최대 두 개의 주 제어 장치만이 있으므로 버스를 제어하고 관리하기가 쉽게 되는 특성을 향상시킬 수 있다.

Claims (14)

  1. 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치에 있어서,
    송신 패킷 데이터에 대한 패리티를 발생하며, Tx 버스상에서 해당 종속 제어장치로의 데이터 송신 및 제어신호를 제어하는 Tx 버스 제어기와,
    상기 두 개의 주 제어장치 사이에서 상기 Tx 버스의 사용 권한을 조정하는 Tx 버스 조정기와,
    해당 종속 제어장치로 송신할 패킷 데이터를 임시적으로 저장하는 Tx 버스 메모리와,
    수신 패킷 데이터에 대한 패리티를 검사하여 해당 종속 제어 장치로 상기 수신 패킷 데이터에 대한 재전송을 요구하고, Rx 버스상에서 해당 종속 제어장치로부터의 데이터 수신 및 제어신호를 제어하는 Rx 버스 제어기와,
    상기 두 개의 주 제어장치 사이엥서 상기 Rx 버스의 사용 권한을 조정하는 Rx 버스 조정기와,
    해당 종속 제어장치로부터 수신한 패킷 데이터를 임시적으로 저장하는 Rx 버스 메모리로 구성되는 패킷 버스 제어기를 상기 두 개의 주 제어장치들이 각각 구비하고,
    상기 Tx 버스상에서 수신되는 데이터와 제어신호를 제어하며, 상기 수신 패킷 데이터에 대한 패리티를 검사하여 해당 주 제어 장치로 상기 수신 패킷 데이터에 대한 재전송을 요구하는 Rx 버스 제어기와,
    상기 수신된 패킷 데이터를 임시적으로 저장하는 Rx 버스 메모리와,
    송신 패킷 데이터에 대한 패리티를 발생하고, 상기 Rx 버스상에서 해당 주 제어장치로의 데이터 송신 및 제어신호를 제어하는 Tx 버스 제어기와,
    상기 송신 패킷 데이터를 임시적으로 저장하는 Tx 버스 메로리로 구성되는 패킷 버스 제어기를 상기 복수개의 종속 제어장치들이 각각 구비함을 특징으로 하는 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  2. 제 1 항에 있어서, 상기 Tx 버스는
    패킷 데이터가 전송되는 TxData 신호와,
    패킷의 시작을 알려주는 TxSOP 신호와,
    패킷의 끝을 알려주는 TxEOP 신호와,
    상기 TxData에 대한 패리티를 전송하는 TxPrty 신호와,
    종속 제어 장치에 패킷 전송이 진행 중임을 알려주는 TxEnb* 신호;
    패킷을 수신할 종속 제어 장치를 나타내는 m+1 비트의 RxAddr 신호;
    현재 종속 제어 장치에 패킷을 수신할 수 있는 버퍼가 비었는지를 나타내는 n 비트의 TxFull* 신호와,
    주 제어 장치가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 종속 제어 장치에 보내기 위한 RxPValid* 신호와 RxPrtyOK 신호를 포함함을 특징으로 하는 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 송/수신 장치.
  3. 제 1 항에 있어서, 상기 Rx 버스는
    패킷 데이터가 전송되는 RxData 신호와,
    패킷의 시작을 알려주는 RxSOP 신호와,
    패킷의 끝을 알려주는 RxEOP 신호와,
    상기 RxData에 대한 패리티를 전송하는 RxPrty 신호와,
    패킷 전송이 진행 중임을 나타내는 RxDValid* 신호와,
    종속 제어 장치에 패킷의 전송을 시작하도록 알려주는 RxEnb* 신호와,
    패킷을 전송할 종속 제어 장치를 나타내는 m+1 비트의 RxAddr 신호와,
    현재 종속 제어 장치에 전송할 패킷이 있는지의 여부를 나타내는 n 비트의 RxPav 신호와,
    주 제어 장치가 패킷의 헤더를 받고 이 데이터에 대한 패리티를 체크한 후 그 결과를 종속 제어 장치에 보내기 위한 RxPValid* 신호와 RxPrtyOK 신호를 포함함을 특징으로 하는 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  4. 제 1 항에 있어서, 상기 주 제어 장치에 있는 패킷 버스 제어기내의 Tx 제어기는,
    상기 Tx 버스 조정기에 상기 Tx 버스를 사용하기 위하여 버스 요구 신호를 보내고, 버스 사용 권한을 얻은 후, 패킷 데이터를 전송할 해당 종속 제어장치를 정하고 메모리 접속 블록과 패킷 버스 접속 블록에 패킷 데이터 송신을 요구하는 Tx 버스 조정기 접속 블록과,
    상기 Tx 버스 조정기의 요구에 따라 상기 Tx 버스 메모리로부터 패킷 데이터를 읽어내는 Tx 버스 메모리 접속 블록과,
    상기 메모리 접속 블록으로부터 입력되는 상기 패킷 데이터에 대하여 패리티를 발생시키는 패리티 발생기와,
    상기 패리티 발생기로부터 입력되는 상기 패리티와 상기 패킷 데이터를 Tx 버스로 전송하는 Tx 패킷 버스 접속 블록으로 구성됨을 특징으로 하는 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  5. 제 1 항에 있어서, 상기 주 제어 장치에 구비되는 패킷 버스 제어기 내의 Rx 버스 제어기는,
    상기 Rx 버스 조정기에 상기 Rx 버스를 사용하기 위하여 버스 요구 신호를 보내고, 버스 사용 권한을 얻은 후, 패킷 데이터를 수신할 해당 종속 제어 장치를 정하고 Rx 패킷 버스 접속 블록으로 패킷 데이터수신을 요구하는 Rx 버스 조정기 접속 블록과,
    상기 Rx 버스 조정기 접속 블록의 요구에 따라 상기 종속 제어 장치로 패킷 데이터 송신을 요구하고 패킷 데이터 송신을 입력하며 패러티 에러의 경우 재전송을 요구하는 Rx 패킷 버스 접속 블록과,
    상기 Rx 패킷 버스 접속 블록으로부터 입력되는 패킷 데이터에 대하여 패리티 검사를 수행하고 에러가 있으면 이를 상기 Rx 패킷 버스 접속 블록으로 알려주는 패리티 검사기와,
    상기 패리티 검사기를 통해 입력되는 패킷 데이터를 상기 Rx 버스 메모리에 저장하는 Rx 버스 메모리 접속 블록으로 구성됨을 특징으로 하는 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  6. 제 1 항에 있어서, 상기 각 종속 제어 장치에 구비되는 패킷 버스 제어기내의 Tx 버스 제어기는
    상기 Rx 버스에 접속하여 해당 주 제어 장치로부터의 제어 신호를 받아 패킷데이터및 패리티를 송신하는 패킷 버스 접속 블록;
    상기 Tx 패킷 버스 접속 블록에서 오는 신호에 따라 해당 종속 제어 장치에 구비되는 Tx 버스 메모리로부터 패킷을 읽어들이는 Tx 버스 메모리 접속 블록과,
    상기 Tx 버스 메모리 접속 블록으로부터 입력되는 패킷 데이터에 대한 패리티를 발생시키는 패리티 발생기로 구성됨을 특징으로 하는 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  7. 제 1 항에 있어서, 상기 종속 제어 장치들에 구비되는 패킷 버스 제어기 내의 Rx 버스 제어기는,
    상기 Tx 버스에 접속하여 해당 주 제어 장치로부터의 제어 신호를 받아 패킷 데이터 및 패리티를 입력하고, 패리티 에러가 발생하였을 경우 재전송을 요구하는 Rx 패킷 버스 접속 블록과,
    상기 Rx 패킷 버스 접속 블록으로부터 입력되는 패킷 데이터의 패리티를 검사하여 그 결과를 다시 상기 Tx 패킷 버스 접속 블록으로 보내는 패리티 검사기와,
    상기 패리티 검사기를 통하여 입력되는 패킷 데이터를 해당 종속 제어 장치에 구비되는 Rx 버스 메모리에 저장하는 Rx 버스 메모리 접속 블록으로 구성됨을 특징으로 하는 두 개의 주 제어장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 장치.
  8. 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법에 잇어서,
    Tx 버스 전송의 경우,
    패킷 데이터를 송신하기 전에 해당 주 제어 장치에 구비되는 Tx 버스 제어기가 Tx 버스 조정기에 버스 사용 권한을 요구하는 단계와,
    상기 Tx 버스 조정기가 다음 번에 패킷 데이터를 송신할 해당 주 제어 장치를 결정하는 단계와,
    버스 제어 권한을 부여받은 해당 주 제어 장치가 패킷 데이터를 송신할 해당 종속 제어 장치를 결정하는 단계와,
    상기 패킷 데이터에 대한 패리티 및 상기 패킷 데이터를 Tx 버스를 통하여 상기 종속 제어 장치로 송신하는 단게를 포함하고,
    Rx 버스 전송의 경우,
    해당 주 제어 장치에 구비되는 Rx 버스 제어기가 Rx 버스 조정기에 버스 사용 권한을 요구하는 단계와,
    상기 Rx 버스 조정기가 패킷 데이터를 수신할 해당 주 제어 장치를 결정하는 단계와,
    버스 제어 권한을 부여받은 해당 주 제어 장치가 상기 복수개의 종속 제어 장치들 중에서 패킷 데이터 송신을 수행할 해당 종속 제어 장치를 결정하는 단계와,
    상기 주 제어 장치가 상기 종속 제어 장치로부터 입력되는 패킷 데이터에 대한 패리티를 검사하여 패리티 에러가 발생하면 상기 패킷 데이터에 대한 재 전송을 요구하는 단계를 포함함을 특징으로 하는 두 개의 주 제어 장치들과 복수개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  9. 제 8 항에 있어서, 상기 Tx 버스 전송의 경우에 상기 Tx 버스 조정기에 버스 사용 권한을 요구하는 단계에서,
    상기 Tx 버스 조정기가 각 주 제어 장치들에 모두 존재하지만 두 보드가 모두 작동되는 경우에는 둘 중의 하나만 Tx 버스 조정기로서의 사용을 하고 다른 하나는 사용되지 않음을 특징으로 하는 두개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  10. 제 8 항에 있어서, 상기 Tx 버스 전송의 경우에 해당 주 제어 장치를 결정하는 단계가,
    상기 Tx 버스 조정기가 다른 주 제어 장치가 있는지의 여부를 조사하는 단계와,
    상기 주 제어 장치가 없을시 자신의 Tx 버스 제어기가 Tx 버스를 제어하도록 하는 단계와,
    상기 주 제어 장치가 있을시 자신이 Tx 버스 조정기로서의 동작을 수행해야 되는지의 여부를 조사하는 단계와,
    상기 동작을 수행하지 않을시 다른 주 제어 장치가 없어지는 여부만을 조사하는 단계와,
    상기 Tx 버스 조정기로서 기능을 하여야 한다면 현재 어느 주 제어 장치가 패킷을 전송하고 있는지를 확인하는 단계와,
    현재 패킷을 전송하고 있지 않은 주 제어 장치에서 오는 버스 요구 신호를 확인하는 단계와,
    상기 버스 요구 신호가 있으면 다음 번 패킷 전송을 그 주 제어 장치가 제어하도록 하는 단계와,
    상기 버스 요구 신호가 없으면 현재 패킷을 전송하고 있는 주 제어 장치의 버스 요구 신호를 확인하는 단계와,
    상기 버스 요구 신호가 있으면 Tx 버스 제어 권한을 부여하는 단계와,
    버스 제어 권한을 부여받을 주 제어 장치가 보내는 버스 사용중 신호를 보고 있다가 해당 값이 되면 다음 번 버스 제어 권한을 받을 주 제어 장치를 결정하는 단계를 더 포함함을 특징으로 하는 두 갸개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  11. 제 8 항에 있어서, 상기 Tx 버스 전송의 경우에 해당 종속 제어 장치를 결정하는 단계가,
    상기 해당 주 제어 장치가 상위 레이어에서 받은 패킷 도착 신호를 이용하여 만들어 놓은 각 종속 제어 장치에 전송되어야 할 패킷이 있는지 없는지를 가지고 있는 레지스터의 값과 각 종속 제어 장치에서 오는 패킷 데이터를 자신에게 할당된 Rx 버스 메로리에 패킷을 받아들일 공간이 있는지를 나타내는 TxFull* 신호를 앤드(AND)하는 단계와,
    상기 결과가 1인 것이 있으면 그 종속 제어 장치로 패킷 데이터를 전송함을 결정하는 단계와,
    여러 개의 종속 제어 장치에 대한 신호가 1인 경우에는 라운드로빙 방식으로 결정하는 단계로 이루어짐을 특징으로 하는 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  12. 제 8 항에 있어서, Rx 버스 전송의 경우에 상기 패킷 데이터를 수신할 해당주 제어 장치를 결정하는 단계가,
    상기 Rx 버스 조정기가 다른 주 제어 장치가 있는지의 여부를 조사하는 단계와,
    상기 주 제어 장치가 없을시 자신의 Rx 버스 제어기가 Rx 버스를 제어하도록 하는 단계와,
    상기 주 제어 장치가 있을시 자신이 Rx 버스 조정기로서 기능을 해야되는지의 여부를 조사하는 단계와,
    상기 기능을 하지 않을시 다른 주 제어 장치가 없어지는 여부만을 조사하는 단계와,
    상기 Rx 버스 조정기로서 기능을 하여야 한다면 현재 어느 주 제어 장치가 패킷을 전송하고 있는지를 확인하는 단계와,
    현재 패킷 데이터를 전송하고 있지 않은 주 제어 장치에서 오는 버스 요구 신호를 확인하는 단계와,
    상기 버스 요구 신호가 있으면 다음 번 패킷 데이터 전송을 그 주 제어 장치가 제어하도록 하는 단계와,
    버스 요구 신호가 없으면 현재 패킷 데이터를 전송하고 있는 주 제어 장치의 버스 요구 신호를 확인하는 단계와,
    요구 신호가 있으면 Rx 버스 제어 권한을 부여하는 단계와,
    버스 제어 권한을 부여받을 주 제어 장치가 보내는 신호를 보고 있다가 해당 값이 되면 다음 번 버스 제어 권한을 받을 주 제어 장치를 결정하는 단계로 이루어짐을 특징으로 하는 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  13. 제 8 항에 있어서, 상기 Rx 버스 전송의 경우에 상기 버스 제어 권한을 부여받은 해당 주 제어 장치가 상기 복수개의 종속 제어 장치들 중에서 패킷 데이터 송신을 수행할 해당 종속 제어 장치를 결정하는 단계가,
    다음번의 패킷 데이터를 전송할 종속 제어 장치를 결정하는 방법이 라운드 로빈 방식임을 특징으로 하는 두 개의 주 제어 장치들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
  14. 제 13 항에 있어서, 상기 라운드 로빈 방식은,
    이전 번의 패킷 데이터를 전송한 다음 번 종속 제어 장치로부터 오는 해당 신호를 검사하여 가장 먼저 만나는 패킷 존재 신호를 보내는 종속 제어 장치가 이번에 패킷을 전송할 장치로 결정되는 것임을 특징으로 하는 두 개의 주 제어 장치 들과 복수 개의 종속 제어장치들 간의 패킷 데이터 송/수신 방법.
KR1019970081472A 1997-12-31 1997-12-31 패킷버스및이를이용하여패킷데이터를전송하는장치및방법 KR100285953B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970081472A KR100285953B1 (ko) 1997-12-31 1997-12-31 패킷버스및이를이용하여패킷데이터를전송하는장치및방법
CN98111658A CN1124549C (zh) 1997-12-31 1998-12-31 在多个控制器之间进行分组数据通信的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970081472A KR100285953B1 (ko) 1997-12-31 1997-12-31 패킷버스및이를이용하여패킷데이터를전송하는장치및방법

Publications (2)

Publication Number Publication Date
KR19990061216A KR19990061216A (ko) 1999-07-26
KR100285953B1 true KR100285953B1 (ko) 2001-04-16

Family

ID=19530583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970081472A KR100285953B1 (ko) 1997-12-31 1997-12-31 패킷버스및이를이용하여패킷데이터를전송하는장치및방법

Country Status (2)

Country Link
KR (1) KR100285953B1 (ko)
CN (1) CN1124549C (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461146C (zh) * 2004-01-22 2009-02-11 高通股份有限公司 支持地址信息、数据、及传送合格号的双通道总线结构
KR100740224B1 (ko) * 2005-06-29 2007-07-18 삼성전자주식회사 화상형성장치 및 그 트레이와의 통신방법
KR101188640B1 (ko) 2011-02-24 2012-10-09 엘에스산전 주식회사 변전소 자동화장치용 통신 게이트 웨이 장치
CN103744811A (zh) * 2013-12-27 2014-04-23 华中科技大学 一种串行数据传输系统及方法
CN109100978B (zh) * 2018-09-20 2021-07-30 中航锂电技术研究院有限公司 一种电池管理系统地址设置及校验方法
CN114047714A (zh) * 2021-09-27 2022-02-15 中天海洋系统有限公司 多处理器协同控制系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COMPUTER ENGINEERING(M, MANO, 1988) *
데이터통신 및 프로토콜(1998.8.20) *

Also Published As

Publication number Publication date
CN1124549C (zh) 2003-10-15
CN1231445A (zh) 1999-10-13
KR19990061216A (ko) 1999-07-26

Similar Documents

Publication Publication Date Title
US8090883B2 (en) Method, system and computer program product for enhanced shared store buffer management scheme with limited resources for optimized performance
JP3305769B2 (ja) 通信装置
JPS639786B2 (ko)
EP0186320A1 (en) Local area communication network
US7836233B2 (en) Multi-processor system
JP7394185B2 (ja) 通信システム
KR20200136751A (ko) 차량 진단 통신 장치, 그를 포함한 시스템 및 그 방법
KR100285953B1 (ko) 패킷버스및이를이용하여패킷데이터를전송하는장치및방법
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US4796022A (en) Double transit bus system
JP4231485B2 (ja) ポイントツーポイント相互接続上のメッセージの配信技術
JP4104939B2 (ja) マルチプロセッサシステム
JPH08293878A (ja) 電子機器及び通信制御方法
JP5365377B2 (ja) 配信システム、集信システム、配信方法、集信方法、及びプログラム
JP2000138718A (ja) 複数のパラレルに配置されたインタ―フェ―スを介するデ―タ伝送のための方法
US7177997B2 (en) Communication bus system
CA1235229A (en) Double transit bus system
JP6207710B1 (ja) 転送制御装置、転送制御方法およびプログラム
CN117453615A (zh) 数据传输方法、装置、电子设备及存储介质
US7979766B2 (en) Architecture for a message bus
JP3431442B2 (ja) 制御装置及び従系制御装置追加方法
JP3217086B2 (ja) 二重化システムにおける待機系制御装置とメッセージ装置間のメッセージ交信方式
JPH053179B2 (ko)
JPH11205445A (ja) 監視制御装置
JP3168254B2 (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
FPAY Annual fee payment

Payment date: 20061220

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee