KR100391024B1 - 2-핀분산형이더넷버스구조 - Google Patents

2-핀분산형이더넷버스구조 Download PDF

Info

Publication number
KR100391024B1
KR100391024B1 KR1019970001429A KR19970001429A KR100391024B1 KR 100391024 B1 KR100391024 B1 KR 100391024B1 KR 1019970001429 A KR1019970001429 A KR 1019970001429A KR 19970001429 A KR19970001429 A KR 19970001429A KR 100391024 B1 KR100391024 B1 KR 100391024B1
Authority
KR
South Korea
Prior art keywords
state
bus
collision
module
local
Prior art date
Application number
KR1019970001429A
Other languages
English (en)
Other versions
KR970060780A (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 KR970060780A publication Critical patent/KR970060780A/ko
Application granted granted Critical
Publication of KR100391024B1 publication Critical patent/KR100391024B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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/44Star or tree 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/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Abstract

상호모듈 네트워크 버스 구조체(bus architecture)는 2개의 버스 배선만을 이용하여 데이타 및 모듈 상태 정보를 전송할 수 있다. 버스에 접속된 각 네트워크 모듈에 있는 2-핀 버스 인터페이스는 2 이상의 모듈이 버스 엑세스(access)를 위해 경쟁하는 경우의 분산형 중재 절차를 제공하며, 데이타 신호 및 충돌 표명이 한 모듈로부터 2-배선 버스를 통해 다른 모듈로 전송되는 코딩 구성을 제공한다. 이 버스 구조체는 다중 분산형 리피터(repeater) 모듈과, 동일 버스에 접속된 브리지(bridge) 및 라우터(router)와 같은 다른 네트워크 성분을 제어한다. 본 발명의 중요한 관점은 다중 버스 인터페이스가 중재 과정을 제어하고 일정한 프레임워크를 제공하기 위해 분산형 상태 머신으로서의 기능을 한다는 것이며, 이 상태 머신은 단일 로컬 모듈 포트에서 검출된 수신 충돌과, 하나 이상의 모듈의 다중 로컬 포트에 액티비티(activity)를 갖는 전송 충돌을 포함한다.

Description

2-핀 분산형 이더넷 버스 구조{TWO-PIN DISTRIBUTED ETHERNET BUS ARCHITECTURE}
본 발명은 통신 네트워크 또는 근거리 통신망(LAN)에 관한 것으로서, 특히 다중포트 리피터(repeater), 브리지(bridge), 스위치(switch) 및 라우터(router)와 같은 다중 네트워크 성분의 상호접속용 네트워크 허브(hub)의 구조에 관한 것이다.
브리지, 스위치 및 라우터는 하나 이상의 네트워크에 접속되어, 한 네트워크에서 다른 네트워크 사이의 데이타 패킷을 전송하기 위한 편리한 메카니즘을 제공한다. 다중포트 리피터도 이와 유사한 기능을 수행하지만, 메시지 패킷 레벨이 아닌 비트 레벨에서 동작한다. 리피터는 실시간으로 동작하여, 한 포트에서 다른 포트로 한 비트씩 메시지를 중계(relay)하는 반면, 브리지 및 라우터는 테이타 패킷을 일시적으로 저장하여 지능적인 메시지 루팅 기능을 수행한다.
더욱 상세히 말해서, 본 발명은 일반적으로 반송파 감지 다중엑세스/충돌 검출(carrier sense multiple access with collision detection :CSMA/CD)이라고 불리는 프로토콜을 채택한 네트워크에 관한 것이다. 네트워크 분야에서 광범위하게 사용된 하나의 CSMA/CD 설계 방식은 이더넷(Ethernet)이다. 이더넷 설계 방식은 ISO 8802-3 과 ANSI/IEEE 802.3 표준에 따른다. CSMA/CD 기법하의 네트워크 동작 모드가 본 발명에 적절하지 않다 하더라도, 추가적인 배경 설명이 필요할 것이다. 네트워크 버스 또는 케이블에 엑세스 하기 위한 CSMA/CD 기법하에서, 전송을 원하는 어떤 스테이션은 케이블이 전송을 개시하기 전에 클리어한지를 먼저 검사해야 한다. 네트워크상의 모든 스테이션은 동등한 엑세스 우선순위를 가지며, 라인이 클리어되고 어떤 요청된 패킷간의 지연이 경과한 즉시 전송을 개시할 것이다. 그러나, 전송을 개시했던 제1 스테이션이 다른 스테이션으로부터의 전송과 "충돌"하는 것을 검출한다면, 이 제1 스테이션은 전송을 원하는 모든 스테이션이 충돌을 검사할 것을 확인하기 위해 짧은 시간 동안 전송을 계속할 것이다. 충돌을 검출하는 모든 다른 스테이션도 짧은 시간 동안 전송을 계속한다. 그리고, 충돌이 검출된 각스테이션은 임의의 시간 주기 동안 전송을 종료한다. 충돌이 일어난 스테이션은 전송을 다시 개시하기 전에, 임의의 그리고 일반적으로 상이한 지연시간을 선택한다.
리피터는 다중 포트를 구비한 장치이며, 각 포트는 단일 또는 다중의 네트워크 스테이션에 접속될 수 있다. IEEE 802.3 표준의 섹션 9.1 내지 9.8에는 CSMA/CD 충돌 검출 방법을 채택한 리피터의 표준 설계 방식이 개시되어 있다. 한 실시예에 있어서, 리피터는 자신의 각 포트에 하나의 스테이션이 접속된 성형(星形) 구조로 접속되어 있다. 다른 실시예에 있어서, 리피터의 포트는 다수의 스테이션에 접속될 수도 있다. 이것은 단일 이더넷 링크로서 동작하는 전송 매체에 의해 가능하다. 그러므로, 리피터에는 자신이 갖고 있는 포트의 수보다 많은 수의 스테이션이 접속될 수 있다.
사실상, 리피터는 자신의 입력 포트에 와이어를 논리적으로 접속시켜, 이 와이어에 접속된 모든 장치는 동일한 네트워크 "충돌 도메인(domain)"에 있게 된다. 그러나, 리피터는 각 포트에서의 신호를 수신하여, 이 신호를 다른 포트로 재전송한다. 리피터의 기능중 하나는 리피터에 있는 다수의 포트에서 충돌을 검출하여, IEEE 802.3 표준에 맞는 적절한 조치를 취하는 것이다. 예컨대, 하나 이상의 스테이션이 포트상에서의 수신 신호를 전송하고 있다는 것을 나타낼 때, 이 포트상에서 충돌이 검출되면, 리피터는 충돌이 있다는 것을 다른 포트에 알려줘야 한다. 알려주는 방법은 다른 모든 포트를 통해 표준 재밍(jamming) 신호를 보냄으로써 달성된다. 일반적으로, 이러한 형태의 충돌은 "수신" 충돌이라 불린다. 다른 형태의 충돌은 리피터가 다수의 액티브 포트에서 동시에 데이타를 수신할 때 발생한다. 리피터는 충돌이 있다는 것을 알지만, 포트에 접속된 스테이션은 충돌은 알지 못하며, 신호가 수신되는 액티브 포트에 접속된 스테이션조차도 충돌을 알지 못한다. 이러한 형태의 충돌은 "전송" 충돌이라 불리며, 리피터는 모든 포트에 재밍 신호를 보냄으로써 응답한다.
리피터는 네트워크를 확장하고자 할 때 편리한 메카니즘을 제공한다. IEEE 802.3 표준은 브리지 또는 라우터가 전송된 메시지와 마주치기 전에 이와 마주치는 리피터의 수가 제한될 것을 요한다. 이러한 제한을 만족시키면서 네트워크를 확장하기 위해, 네트워크 설계자는 다수의 "반-리피터(half-repeater)"를 사용하며, 각 반-리피터는 종래의 리피터와 동일한 수의 포트를 구비하지만, 이 반-리피터는 상호-리피터(inter-repeater) 버스 구조에 의해 서로 밀착하여 결합된다. 이 버스 구조는 2개의 반-리피터 사이에서 이더넷 데이타를 전송하고, 2개의 반-리피터 모듈 사이에서 상태 정보를 전송함으로써, 2개의 모듈이 결합하여 단일 리피터로서의 기능을 수행하게 된다.
일반적으로, 반-리피터는 허브라고 하는 중앙 배선식 기기에 설치되는데, 이 허브내에는 다중 도선(즉 버스)의 백플레인(backplane)이 있으며, 반-리피터 모듈이 제거가능하도록 삽입되어 있다. 버스와 반-리피터 모듈 사이의 인터페이스는 표준화되어 있으므로, 브리지, 라우터 및 개개의 스테이션과 같은 다른 네트워크 성분들은 버스에 삽입될 수 있다. 다중 반-리피터 또는 다른 모듈은 공통 버스를 통해 데이타 및 상태 정보를 전송할 필요가 있으며, 버스 사용을 규제하기 위해 어떤 형태의 중재(arbitration)가 제공되어야 한다. 일반적으로, 버스 중재구성(scheme)의 2가지 카테고리는 중앙형 중재와 분산형 중재가 있다. 본 발명에 앞서, 허브 설계에는 여러개의 병렬 도선을 갖는 상호-리피터 버스(IRB) 또는 상호모듈 버스(IMB)가 포함된다. 예컨대, AMD에서 제조된 IRB는 중앙 중재식 버스 구성을 사용한다. 이 중앙 중재식 버스 구성은 각 반-리피터에 대해 4개의 공통 버스 핀과 하나의 부가적인 요청 핀을 갖는다. 이로써, 2개의 반-리피터는 6개의 핀이 필요하며, 3개의 반-리피터는 7개의 핀이 필요하다. 분산형 중재를 이용한 다른 상호모듈 이더넷 버스(IMB) 구성은 "Hot-Swappable Inter-Module Interconnect of Simultaneous Use with Distributed LAN Repeaters and Station"이란 명칭을 가지며, 본 발명의 동일 양수인에게 양도되었고, 대리인 정리 번호 93-0393인 1994년 7월 1일자 미국 특허 출원 제08/270,072호에 정의되어 있다. 이 구성은 버스에서 6개의 핀으로 통신하기 위해 최대 15개의 반-리피터 또는 다른 이더넷이 허용된다.
상기 설명에서 알 수 있듯이, 반-리피터와 다른 네트워크 성분을 상호접속시키는 네트워크 허브의 설계를 향상시키기 위한 필요성이 있다. 이상적으로, 상호모듈은 가능한 작게 구성하여 상호접속 구조의 크기와 비용을 최소화하여야 한다. 단, 기능은 그대로 유지되어야 한다. 본 발명은 이러한 목적을 만족시킨다.
도 1은 본 발명에 따라, 2개의 도선을 갖는 상호모듈 버스와, 적어도 2개의 반-리피터를 갖는 허브를 포함하는 통신 네트워크의 일부를 간략히 나타낸 블록도.
도 2는 본 발명에 따라 분산형 리피터 상태 머신을 도식으로 나타낸 도면.
<도면의 주요부분에 대한 부호의 설명>
10,10' : 다중 포트
12,12' : 반-리피터
16 : 데이타 라인
18 : 중재 라인
20,20' : 2-핀 버스 인터페이스
본 발명은 다수의 반-리피터 또는 다른 네트워크 성분(component)이 동일한 버스를 공유할 수 있는 분산형 중재 구성을 갖는 2-핀 버스 구조를 제공하는 것이다. 간단히 그리고 일반적으로 말해서, 본 발명의 2-핀 버스 구조는 2개의 도선만을 갖는 상호모듈 버스와 적어도 2개의 네트워크 성분(이를 버스에 접속시켜주는 2-핀 버스 인터페이스 유닛을 각각 가짐)을 구비한다. 2-핀 인터페이스 유닛은, 하나 이상의 네트워크 성분이 거의 동일한 시간에 엑세스를 시도할 때, 버스에 대한 엑세스를 제어하기 위한 분산형 중재 구성을 제공한다. 더욱 상세하게, 이 버스 구조는 한 성분이나 모듈에서 다른 성분이나 모듈로 네트워크 데이타를 전송하며, 한 네트워크 성분에서 다른 네트워크 성분으로 상태 정보를 전송하여, 버스에 접속된 다중 네트워크 성분간의 상호작용을 용이하게 할 수 있다. 본 발명의 실시예에 있어서, 적어도 2개의 네트워크 성분은 반-리피터이며, 이들 각각은 다른 네트워크 성분에 접속가능한 다중 로컬 포트이며, 2-핀 인터페이스 유닛은 한 반-리피터로부터 다른 반-리피터로 상태 정보를 전송하여, 반-리피터의 동기 동작을 유지시킬 수 있다.
각 2-핀 버스 인터페이스 유닛은 식별 코드를 포함하는데, 이 식별 코드로 인터페이스 유닛을 식별한다. 또한, 각 2-핀 버스 인터페이스 유닛은 제1, 제2 및 제3 회로를 포함한다. 제1 회로는 네트워크 성분의 다중 로컬 포트에서 데이타 및 충돌 정보를 갖는 로컬 액티비티(activity)를 검출한다. 제2 회로는 제1 회로에 의한 로컬 액티비티의 검출에 응답하여 중재 동작 단계 동안 하나의 버스 도선으로 식별 코드를 전송하고 인터페이스 유닛이 버스에 대한 엑세스를 획득했는지를 검출한다. 제3 회로는 중재 동작 단계 후에 동작하며, 검출된 로컬 액티비티의 코드화된 표현을 버스로 전송한다.
본 발명은 2-핀 버스 인터페이스에 의해 정의될 수 있다. 이 2-핀 버스 인터페이스는 2개의 도선 상호모듈 버스에 네트워크 모듈을 결합시키며, 또한 하나의 상태 머신을 구비한다. 상태 머신은 미사용 코드가 상기 상호모듈 버스로 전송된 미사용 상태와; 모듈 식별 코드가 마스터(master) 모드에서의 상기 상태 머신에 의해 상기 상호모듈 버스로 전송되어 버스 엑세스를 위한 중재를 할 수 있는 중재 상태와; 데이타 코드가 상기 상호모듈 버스로 상기 버스 인터페이스와 관련된 로컬 포트에 전송된 송신 상태와; 충돌 코드가 상기 상호모듈 버스로 전송된 적어도 하나의 마스터 충돌 상태와; 슬레이브(slave) 모드에 있는 상태 머신이 적어도 하나의 다른 상태 머신으로 중재에 참여하는 중재 대기 상태와; 상기 슬레이브 모드에 있는 상태 머신이 상기 버스로부터 데이타를 수신하여, 상기 버스 인터페이스와 관련된 로컬 포트에 상기 데이타를 전송하는 수신 상태와; 충돌 코드가 상기 버스로부터 수신되어 상기 버스 인터페이스 관련된 로컬 포트에 중계된 적어도 하나의 슬레이브 충돌 상태와; 한 상태에서 다른 상태로의 전이를 행하기 위해 필요한 조건들을 정의하는 한 세트의 상태 머신 명령과; 한 상태에서 다른 상태로 전이될 때, 상기 상태 머신에 의해 수행된 기능을 정의하는 한 세트의 머신 응답을 포함하며, 상기 버스에 접속된 다중 버스 인터페이스의 상태 머신은 상호 관련되어 동작함으로써, 버스 엑세스를 위한 분산형 전송을 수행하고, 한 버스 인터페이스로부터 다른 버스 인터페이스로 데이타 및 상태 정보를 전송할 수 있다. 더욱 상세히 말해서, 적어도 하나의 마스터 충돌 상태는 상기 버스 인터페이스와 관련된 한 로컬 포트에 검출된 수신 충돌을 나타내는 마스터 수신 충돌 상태와, 하나 이상의 로컬 포트에 액티비티를 갖는 전송 충돌을 나타내는 마스터 전송 충돌 상태를 포함하고,상기 마스터 수신 충돌 상태 및 전송 충돌 상태중 적어도 하나는 상기 버스 인터페이스와 관련되며, 상기 적어도 하나의 슬레이브 충돌 상태는 다른 버스 인터페이스에 의해 검출된 수신 충돌의 표명(announcement)을 처리하는 슬레이브 수신 충돌 상태와, 다른 버스 인터페이스에 의해 검출된 전송 충돌의 표명을 처리하는 슬레이브 전송 충돌 상태를 포함한다. 본 발명의 실시예에 있어서, 상호모듈 버스는 "0" 및 "1" 상태의 신호를 전달하는 제1 및 제2 라인을 갖는다. 미사용 코드는 제1 및 제2 라인에 있는 "0" 상태 신호이다. 데이타 및 상태 정보는 중재 동작 동안 코드 식별로 개시하는 신호 시퀀스에서 전송되고 다음으로 데이타 시퀀스 또는 충돌 상태 표명이 전송된다. 중재 동안 전송된 모듈 식별 코드는 제1 라인에 전송된 연속적인 식별 비트와 제2 라인에 동시에 전송된 "1" 코드를 포함한다. 데이타 코드는 제1 및 제2 라인에 한 쌍의 보상적인 데이타 비트로서 전송된다. 충돌 코드는 제1 및 제2 라인에서 "1" 코드로 개시하며, 제1 라인에서는 "1" 스트링으로, 제2 라인에서는 "1" 또는 "0"중 한 스트링으로 계속하여, 수신 충돌과 전송 충돌을 구분할 수 있게 된다.
제1 및 제2 라인만을 갖는 상호모듈 버스를 통해 서로 접속된 적어도 2개의 네트워크 모듈의 동작을 조정하며, 상기 각 네트워크 모듈내에서 수행되는 방법은 상기 모듈이나 버스 라인에 네트워크 액티비티가 없을 때는 미사용 상태라고 가정하는 단계와; 상기 네트워크 모듈과 관련된 복수의 로컬 포트의 어떤 포트내에서 데이타 또는 충돌 신호의 형태로 로컬 액티비티를 검출하는 단계와; 상기 로컬 액티비티의 검출에 의해 버스로의 엑세스를 얻기 위한 중재 과정에 참가하는 단계와;로컬 포트로부터 수신된 데이타 신호를 버스 라인을 통해 다른 로컬 포트와 다른 모듈에 전송하는 단계와; 충돌이 검출된 때 버스 라인을 통해 다른 모듈에 충돌 표명을 전송하는 단계와; 버스 라인을 통해 다른 모듈로부터 데이타 신호를 수신하여, 이 수신된 데이타 신호를 로컬 포트를 통해 전송하는 단계와; 다른 모듈로부터 버스 라인을 통해 전송된 충돌 표명을 검출하는 단계와; 충돌이 모듈내에서 검출되거나 충돌 표명이 다른 모듈로부터 수신된 때 로컬 포트에 재밍(jamming) 신호를 전송하는 단계를 포함한다.
상기 중재 과정에 참가하는 단계는 제1 버스 라인으로 모듈에 유일한 2진 식별 신호의 시퀀스를 전송하는 단계와; 각 이진 식별 신호를 전송한 후, 버스로 전송된 더 높은 우선순위의 식별 신호는 없다는 것을 확인하는 단계와; 더 높은 우선순위를 갖는 식별 신호가 검출되면, 중재 과정의 마지막에서 충돌이 있다는 것을 나타내기 위해, 모듈의 모든 로컬 포트에 재밍 신호를 보내고 제2 버스 라인에 이진수 "1"을 전송하는 단계와; 상기 중재 과정 동안 더 높은 우선순위의 식별 신호가 검출되지 않으면, 검출된 로컬 액티비티의 형태에 기초하여, 데이타 신호의 전송을 계속하고 충돌 표명을 전송하는 단계를 포함한다. 로컬 액티비티를 검출하는 단계에 있어서, 로컬 포트에서 데이타 신호를 검출하게 되고 중재 과정이 성공적으로 종료하면, 데이타 신호를 전송하는 단계는 버스의 제1 라인으로 데이타 스트림을 보내고 버스의 제2 라인으로 데이타 스트림을 보냄으로써 다음에 수행된다. 로컬 액티비티를 검출하는 단계에 있어서, 단일 로컬 포트에서 신호를 갖는 수신 충돌을 검출하고, 중재 과정이 성공적으로 종료하였다면, 충돌 표명을 전송하는 단계는 버스 라인으로 수신 충돌 코드를 보냄으로써 다음에 수행되며, 재밍 신호를 전송하는 단계는 충돌이 검출된 포트를 제외한 모든 로컬 포트에 전송된다. 수신 충돌 신호를 전송하는 단계는 제1 및 제2 버스 라인으로 이진수 "1" 신호의 스트림을 전송하는 단계와, 이진수 "1" 신호 다음에 이진수 "0" 신호의 스트림을 전송하는 단계를 포함한다.
로컬 액티비티를 검출하는 단계에 있어서, 하나 이상의 로컬 포트에서 신호를 갖는 전송 충돌을 검출하고, 중재 과정이 성공적으로 종료되었다면, 충돌 표명을 전송하는 단계는 버스 라인으로 전송 충돌 코드를 보냄으로써 다음에 수행되며, 재밍 신호를 전송하는 단계에서는 모든 로컬 포트에 재밍 신호를 보낸다. 전송 충돌 코드를 전송하는 단계는 제1 및 제2 버스 라인으로 이진수 "1" 신호를 전송하는 단계를 포함한다.
모듈에서 로컬 액티비티가 없다는 것을 검출하면, 모듈은 중재가 종료하기를 대기하는 단계와; 중재 후 버스로 수신된 신호를 처리하는 단계를 수행한다. 수신된 신호가 데이타 신호이면, 로컬 포트를 통해 데이타 신호를 전송하는 단계를 수행한다. 수신된 신호가 충돌 신호이면, 모든 로컬 포트에 재밍 신호를 전송하는 단계를 수행한다.
이로써 알 수 있듯이, 본 발명은 네트워크 통신 분야 특히, 반-리피터와 다른 네트워크 성분의 상호접속용 상호모듈 버스의 설계에서 상당히 개선된 것이다. 특히, 본 발명은 백플레인 통신 허브에서 상호모듈 버스의 크기와 비용을 절감하면서, 단지 2개의 버스 배선으로 데이타 및 상태 정보의 상호모듈 통신을 제공한다.본 발명의 다른 목적과 장점은 첨부한 도면을 참조한 다음 실시예의 설명을 통해 더욱 명확해질 것이다.
도면에 도시된 바와 같이, 본 발명은 반-리피터 또는 다른 네트워크 성분의 상호접속을 위한 2-배선 버스 구조에 관한 것이다. 종래의 네트워크 성분은 여러개의 병렬 배선을 갖는 상호모듈 버스에 의해 중앙 허브에 상호접속되었다. 상호-리피터 접속용으로, 다중 배선은 반-리피터에 관련된 이서테트 데이타와 상태 데이타를 전송하고, 반-리피터 모듈이 적절히 일치하여 동작하는 것을 보장하기 위해 필요하다. 어떤 종래 버스 구조에 있어서, 버스 배선의 수는 버스가 수용할 수 있는 반-리피터의 수에 따라 증가한다. 다른 경우에는 고정된 수의 버스 배선이 사용된다.
본 발명에 따라, 2개의 도선을 갖는 상호모듈 버스는 반-리피터와 브리지 및 라우터와 같은 다른 네트워크 성분의 상호접속에 영향을 미치며, 분산형 상태 머신은 버스로의 엑세스를 중재하여 상호접속된 모듈 사이에서 상태 데이타를 전송한다. 본 발명은 반-리피터의 상호접속용 분산형 상태 머신의 환경에 대해 기술되었지만, 기술된 상태 머신은 반-리피터 보다 논리적으로 더 간단한 환경을 제공한 브리지 및 리피터의 상호접속에도 응용될 수 있다.
이더넷와 같은 CSMA/CD를 이용한 통신 네트워크는 본래 확장이 제한되어 있지만, 여러 가지 구조들이 네트워크를 결합시켜 단일의 충돌 스페이스로 사용될 수 있다. 도 1에 도시된 바와 같이, 다중 네트워크는 다중포트 반-리피터(12)의 어떤 포트(10)에 접속될 수 있다. 제2 반-리피터(12')에는 다중 포트(10')가 있고 이 다중 포트에 다른 네트워크나 스테이션이 접속될 수 있다. 반-리피터(10 및 10')는 상호모듈 버스(14)에 결합되고, 이 상호모듈 버스(14)를 통해 이더넷 데이타와 리피터 상태 데이타가 전송된다. 종래에, 상호모듈 버스에는 이러한 정보를 전송하기 위해 여러개의 병렬 도선을 사용했지만, 본 발명에 따른 버스(14)는 2개의 도선(16 및 18)만을 갖는다. 이 2개의 도선은 데이타 라인과 중재 라인이다. 여기서, "데이타" 및 "중재"는 임의적이다. 왜냐하면, 양 라인이 데이타 및 상태 정보 모두를 전송하는데 사용되기 때문이다.
다중 반-리피터(12 및 12')는 종래의 반-리피터 모듈의 기능을 수행한다. 이러한 기능으로서는, 다중 포트(10 및 10')를 통해 데이타 및 충돌 신호를 수신하는 기능과, 선택된 포트를 통해 재밍 신호를 전송하는 기능이 있다. 본 발명에 따른 각각의 반-리피터는 2-핀 버스 인터페이스(20 및 20')를 추가로 포함하는데, 이 2-핀 버스 인터페이스(20 및 20')는 반-리피터(12 및 12')로부터 라인(22 및 22')를 통해 데이타 및 충돌 상태 정보를 수신하고, 버스 배선(16 및 18)에 접속된다. 특히, 각각의 2-핀 버스 인터페이스는 출력 신호(데이타 라인(16)으로의 DATAO, 중재 라인(18)으로의 ARBO)를 생성하고, 입력 신호(데이타 라인(16)으로부터의 DATAI, 중재 라인(18)으로부터의 ARBI)를 수신한다. 도 1은 자신의 2-핀 버스 인터페이스(20")를 통해 버스(14)에 에 접속된 브리지(26)를 나타낸다. 이 브리지(26)는 2개의 분리된 네트워크(28 및 28')에 접속된 것으로 도시되었다. 각 2-핀 인터페이스 유닛(20, 20' 및 20")는 관련된 식별자(ID) 레지스터(30, 30' 및 30")를 구비하며, 이 각각의 레지스터는 버스(14)에 접속된 장치를 식별한다. 즉,다중포트 반-리피터(12 및 12') 및 브리지(26) 중 하나를 식별한다는 것이다. 상기 언급된 바와 같이, 2-핀 버스 인터페이스의 동작은 다중-포트 반-리피터 기능에 관련하여 잘 기술되었다. 브리지(26)와 관련된 2-핀 인터페이스(20")의 동작은 반-리피터 기능 보다 덜 복잡하다.
포트(10 및 10')에서의 데이타 액티비티에 응답하여, 2-핀 버스 인터페이스 유닛(20 및 20')은 상호-리피터 버스(14)를 통한 전송용의 적절한 신호를 발생하고, 선택된 포트(10 및 10')로 적절한 때 전송용의 적절한 재밍 신호를 발생시킨다. 2-핀 버스 인터페이스(20 및 20')의 공유 동작은 도 2에 도시된 것과 같이 분산형 상태 머신으로 잘 기술되었다.
일반적으로, 상태 머신은 상태 셋트, 명령 셋트, 응답 셋트 및 응답/상태(하나의 응답과 하나의 상태)를 각 명령/상태(하나의 명령과 하나의 상태)에 할당하는 기능을 갖는 것으로 정의될 수 있다. 머신이 특정 상태에 있을 때, (일반적으로 신호 조건의 논리적 조합 형태인)명령의 발생으로 머신은 (일반적으로 소정 신호 조건을 설정 또는 클리어링시킴으로써)소정 응답을 실행할 수 있고, 새로운 상태(또는 동일 상태를 유지)를 취할 수 있다. 상태 머신의 형태로된 논리적 머신은 종종 기능적 흐름도를 구성하기 위한 시도 보다 더 유용하다. 상태 머신 도면은 머신내에서 발생하는 복잡한 조건들의 조합의 이해를 용이하기 하고, 모든 이러한 조합들이 예상되었고 설명되었다는 것을 보장한다. 게다가, 상태 머신 도면은 타이밍을 포함한 특정 파라미터를 제외하고, 포함된 장치의 완전한 정의를 제공하며, 이러한 정의는 본 발명을 구현한 최종 완성품의 특징에 크게 좌우될 것이다.
도 2에 있어서, 큰 원은 상이한 상태를 나타내면, 모두 10개의 상태가 있다는 것을 알 수 있을 것이다. 작은 원은 다른 상태에 접속된 커넥터를 나타내고, 도면에서 접속 라인의 수를 감소시키기 위해서만 사용되었다. 화살표가 있는 각 라인은 머신의 상태 변화 또는 "동일 상태" 결과를 나타낸다. 전이 라인에 인접한 표현들은 상태 머신 "명령" 즉, 상태가 변하거나 동일 상태를 유지하도록 하는 조건이다. 상태 전이 라인 사이에 삽입된 사각 블록은 여러 가지 상태로 명령된 전이 결과로서 발생된 상태 머신의 "응답"을 나타낸다.
상태 머신 도면의 다른 중요한 관점은 이 도면이 2-핀 버스 인터페이스(20 또는 20')의 모든 상태 및 전이를 나타낸다고 하더라도, 2 이상의 이러한 유사한 상태 머신은 공동으로 동작하여, 버스(14)의 사용을 위한 분산형 중재를 수행하고, 데이타 및 상태 정보의 전송을 달성할 수 있다. 게다가, 2(또는 그 이상의) 상태 머신이 중재된다면, 이 상태 머신은 중재 및 정보 전송 절차에 2개의 상이한 모드중 하나를 취한다. 편의상, 이것들은 "마스터(master)" 및 "슬레이브(slave)" 모드라고 불리지만, 이러한 용어들은 서술적인 용어가 아닌 레이블(lable)로써 고려되어야 한다. "마스터" 모드에서 동작하는 인터페이스는 먼저 버스로 전송하는 것이거나, 중재 처리과정에서 현재 "점유하고 있는" 것인 반면, "슬레이브" 모드는 버스를 통한 중재 또는 정보 전송에 가담한 다른 인터페이스를 말한다. 이로써 알 수 있는 바와 같이, 2가지 버스 인터페이스 유닛의 마스터 및 슬레이브 기능은 중재를 하는 동안 반대의 기능을 할 수 있다.
동작의 개요
반-리피터가 미사용인지 아닌지에 좌우되는, 버스(14)로 전송되는 4가지 기본 패턴은 데이타 패킷의 전송, 전송 충돌 신호의 전송, 버스 충돌 신호의 전송 또는 수신 충돌 신호의 전송이다. 다음에는 이러한 각 신호에 대한 버스(14)의 DATA 및 ARB 라인으로 전송된 신호의 포맷이 있다.
[표 1]
Figure pat00001
여기서, ID<0,1,2,3>은 식별 코드에 있는 4개의 연속적인 식별자 비트의 전송을 말한다. 물론, 4-비트 코드에 대해서는 중요하지 않으며, ID는 원한다면 더 크거나 더 작은 수의 비트를 가질 수 있다. 4-비트 ID 코드는 버스 접속될 최대 15개의 네트워크 모듈을 제공한다.
상기 표 1로부터 알 수 있듯이, 엔코딩 협약이 DATA 및 ARB 라인에 사용되므로, 0-0은 항상 미사용 상태를 나타내며, 다른 엔코딩(0-1, 1-0 또는 1-1)은 엔코딩 시퀀스에 좌우될 것이다. 데이타 패킷이 버스(14)로 전송되는 일반적인 경우에 있어서, 데이타 패킷 프리엠블(preamble)의 처음 4개의 비트는 DATA 라인에서의 ID 코드와, ARB 라인에서의 4개의 1의 시퀀스(1111)로 대체된다. 이러한 4개의 비트 다음에는 데이타 패킷의 나머지 부분이 있는데, 이 부분은 DATA 라인에서는 일반적인 형태로 전송되며 ARB 라인에서는 반전 또는 보수 형태로 전송된다. 버스 인터페이스가 DATA 입력 라인상에서 자신의 ID를 검출한다면, DATA 및 ARB 라인상으로 전송된 1을 갖는 다른 모듈의 검출이 없으며, 이 버스 인터페이스는 버스 상에서 단지 하나만이 액티브된다. DATA 및 ARB 라인 모두가 패킷을 전송하는 동안 일정시점에서 요청되거나, 인터페이스가 초기 중재 동안 ID의 반전된 형태를 검출한다면, 인터페이스는 버스 충돌에 대한 규칙을 따르기 위해 반전된다. 여하튼, 수신 모듈은 처음 4 비트(ID)를 시퀀스 1010으로 대체하여야 하며, 이 시퀀스는 일반적으로 데이타 패킷 프리엠블의 초기에 나타난다.
수신 충돌 즉, 단지 하나의 포트만이 충돌 상태에 있다는 것을 버스 인터페이스가 다중 반-리피터로부터 알았을 때, 4개의 1은 ARB 라인상에 요청되며, 그 동안 ID는 DATA 라인으로 전송되는데, 이것은 데이타 패킷을 전송하는 경우와 같다. 다음 ID 비트와 1에서, 충돌 상태를 나타내기 위해 ARB 및 DATA는 하나 이상의 비트 시간 동안 요청된다. 이후, ARB 신호는 0으로 떨어지고 1은 DATA 라인에서 요청되는 것이 계속된다. 이 버스 인터페이스의 ID가 DATA 라인상으로 복귀하고, 다른 모듈이 ARB 라인을 요청하지 않는다면, 인터페이스만이 액티브된다. 이 이벤트는 로컬 포트가 미사용이며 완전한 패킷의 비트 시간(통상적으로 96 또는 128 비트)이 경과되면 종료한다. 초기 중재 동안 패킷 또는 반전된 ID가 복귀하는 동안 어떤 시점에서 ARB가 요청되었다면, 이것은 다른 액티브 버스 인터페이스의 존재를 나타내는 것이다. 다시, 수신 모듈은 초기 ID 비트를 "1010" 시퀀스로 대체시켜야 한다.
전송 충돌이 한 모듈내에서 검출된다면, 즉, 2 이상의 로컬 포트가 액티브되면, 이러한 상태는 ID 비트가 요청된 후, 적어도 96 또는 128 비트 시간 동안 ARB 및 DATA 라인상에 1을 전송함으로써 취급된다. 로컬 ID가 4개의 중재 사이클 동안DATA 라인상에 나타난다면, 이 인터페이스 유닛은 중재권을 갖지만, 버스 엑세스를 위해 경쟁하는 모듈일 필요는 없을 것이다. 96 비트 시간이 경과되면, ARB 라인은 더 이상 요청되지 않지만, 하나의 모듈만이 남아 있다는 신호를 DATA 라인상에 "1"이 계속 요청된다. 하나의 액티브 포트만이 있을 때, 모듈은 "하나의 포트가 남았다"는 것을 표시하기 위해 상태를 변화시킨다. 버스에 대해 경쟁하는 하나 이상의 모듈이 로컬 포트 사용권을 갖는 전송 충돌의 이벤트와 더 복잡한 버스 충돌의 경우에 있어서의 상세한 설명은 버스 인터페이스 상태 머신의 동작 설명을 한 후에도 계속 남을 것이다.
버스 인터페이스 상태 머신에 대한 상세한 설명
본 발명의 버스 인터페이스가 기술되며, 상태 머신으로 표현되었다는 것을 알 수 있다. 이 상태 머신은 10개의 상태를 갖는데, 도 2에서는 큰 원으로 표시되어 있다.
10개의 상태는 다음과 같다.
FIDLE : 미사용
ARB : 중재(마스터 모듈)
ARBWT : 대기 중재(슬레이브 모듈)
FSEND : 송신(마스터 모듈)
FRECV : 수신(슬레이브 모듈)
MTCOL : 마스터 전송 충돌
STCOL : 슬레이브 전송 충돌
MRCOL : 마스터 수신 충돌
SRCOL : 슬레이브 수신 충돌
WAIT : 미사용 상태로 복귀하기 전의 대기
도면에서 사용된 협약은 다음과 같다. 에스테리스터(*)는 논리 AND를 의미하며, 플러스 부호(+)는 논리 OR을 의미하고, 심볼이나 수식 앞에 붙은 마이너스 부호(-)는 NOT 또는 반전을 의미한다. 도면에 있는 해설에 표시된 바와 같이, 관련 반-리피터로부터 머신으로의 입력은 DATAI(DATA 라인으로부터의 입력)와 ARBI(ARB로부터의 입력)를 포함한다. 이와 유사하게, 출력은 DATAO와 ARBO를 포함한다. 로컬 포트 입력은 DATAIN(입력 데이타용)과 COLLIN(로컬 포트 충돌 표시)이다. 또한, 여러 가지 다른 심볼들은 다음과 같은 입력으로부터 유도되거나 정의된다.
LACTIVE = COLLIN(ANY LOCAL PORT)
+(DATAI(ANY LOCAL PORT) * -JAMMING)
+ -EXT_CNT_DONE,
여기에서, JAMMING는 재밍이 발생했는지를 나타내는 것이고, EXT_CNT 는 FIDLE 상태로부터 ARB 상태로 전이될 때마다 리셋되는 확장 카운터이다. 그러므로, LACTIVE는 어떤 포트상에 표시된 충돌이나, 재밍이 없을 때의 어떤 포트로부터의 데이타 입력중 하나가 있을 때, 또는 확장 카운트가 완료되기 전일 때, 로컬 액티비티를 표시한다. 확장 카운트는 데이타 및 충돌 표시가 96 비트 시간과 같은 적어도 최소한의 비트 시간 동안 지속된다는 것을 보장하기 위해 사용된다.
LCOL = COLLIN(MORE THAN ONE LOCAL PORT
+(DTATI(MORE THAN ONE LOCAL PORT)* -JAMMING
그러므로, LCOL은 재밍이 없을 때, 하나 이상의 포트로부터 충돌 표시가 있거나 하나 이상의 로컬 포트로부터 데이타 입력이 있으면, 로컬 충돌 상태를 표시한다.
LRXCOL = COLLIN(N)
이것은 로컬 수신 충돌을 표시한다. 여기에서, N은 제1 액티브 로컬 포트이고, M은 마지막 액티브 로컬 포트이다.
FTCOL은 전송 충돌 상태의 검출을 표시하는데 사용된 플레그이다.
다음 서술부는 (WAITZ 상태를 제외하고)각 10개의 상태와, 각 상태로의 가능한 상태 머신 경로 및 각 상태로부터의 가능한 상태 머신 경로를 기술한다. 이 완전한 서술부는 통상적으로 발생하는 상황에서 상태 기계의 동작을 이해하기 위한 기초을 제공할 것이다.
FIDLE
이것은 로컬 액티비티가 없고 ARB 라인상에 수신된 것이 없을 때 기계의 상태이다. 도면에 도시된 바와 같이, 머신은 (-ARBI* -LACTIVE) 즉, ARBI=0, LACTIVE=0 일 때의 상태를 유지한다.
FIDLE 상태에 있다는 것은 ARBO 및 DATA의 출력이 모두 0이라는 것을 의미하며, 로컬 출력은 모두 "미사용"(OUT(ALL)=IDLE)로 셋트된다. 머신은 2가지 방식중 경로로 FIDLE 상태에서 빠져나온다. 이 2가지 경로란 ARBWT 또는 ARB로 가는 것이다.
만일 "1"이 ARBI(입력) 라인에 수신되면, 이것은 다른 모듈이 데이타 또는 충돌 정보를 보내는 중이라는 것을 나타낸다. 머신은 ARBWT 상태로 이동하기 전에 다음과 같은 기능을 수행한다. 출력 ARBO에 LACTIVE 상태를 출력하고(로컬 액티비티가 있으면 1, 그렇지 않으면 0), FTCOL을 LACTIVE로 셋트시키고(로컬 액티비티가 있으면 1, 그렇지 않으면 0), 중재 카운터(I)를 1로 셋트시키고, 모든 로컬 포트상에 JAM 신호를 출력한다(OUT(ALL)=JAM). 이 시점에서, 머신은 "슬레이브" 상태에서 기능을 수행하며, 중재가 종료하는 ARBWT에서 대기한다.
만일, ARBI 및 DATAI상에 입력이 없고, 로컬 액티비티(LACTIVE=1)가 있다면, 머신은 ARB 상태로 전이된다. 전이되기 전에 머신은 다음과 같은 기능을 수행한다. ARBO 출력을 1로 셋트하고, 중재 카운터(I)를 0으로 셋트하며, 데이타 출력 DATAO를 제1 ID로 셋트하고(MYID<i>), FTCOL을 LCOL로 셋트하여 로컬 충돌이 있는지를 표시하며, N을 제외한 모든 로컬 포트상에 JAM 신호를 출력한다. (OUT(ALLXN)=JAM). 이 시점에서 머신은 "마스터" 모드에서 기능을 수행하며, ARB에서 중재를 개시한다.
ARBWT
이것은 슬레이브 상태에 있는 머신에 대해 중재가 발생하는 상태이다. 일단 ARBWT 상태에 이르면, 다음의 비트 사이클에서의 옵션은 다음과 같다. ① ARBWT 상태를 유지한다. ② WAIT 상태로 빠져나간다. ③ ARB 상태로 전이된다. ④ FRECV 상태로 전이된다. ⑤ STCOL 상태로 전이된다. ⑥ SRCOL 상태로 전이된다.
① 머신은 중재 카운트(I)가 3보다 작고 ARBI가 요청을 계속하거나 중재 카운트(I)가 3이고 ARBI가 요청을 계속하고, 로컬 액티비티가 없는(LACTIVE=0) 동안 ARBWT 상태를 유지한다. ARBWT 상태에서, ARBO 출력은 LACTIVE로 셋트되며(액티브이면 1, 그렇지 않으면 0), 중재 카운터(I)는 각 비트 사이클 마다 1씩 증가하며, FTCOL의 상태는 이전 값과 LACTIVE를 오어링(oring)함으로써 갱신되며, 모든 로컬 포트는 재밍된다(OUT(ALL)=JAM). 이것은 상태 머신이 슬레이브 모드에서 개시되고, 마스터 모드에서 동작하는 다른 모듈에 의해 ID의 전송 4 사이클(비트) 동안 슬레이브 모드에 머무를 때의 정상적인 동작 모드이다. 이하 기술된 바와 같이, 정상적인 데이타 패킷 전송시에, 머신은 마스터 모드에서의 모듈에 의해 전송된 패킷으로된 데이타 비트의 수신을 계속하기 위해 FRECV 상태로 전이시킬 것이다.
② 버스 입력 ARBI 및 DATAI가 모두 0이고, 로컬 액티비티가 없다면(LACTIVE=0), 머신은 FTCOL을 0으로 셋트시키고 모든 로컬 포트상에 미사용 신호를 출력한 후, WAIT 상태로 전이시킬 것이다. 이 전이가 발생하는 것은 버스 라인(DATA 및 ARB)이 일정 주기 동안 미사용 상태에 있을 때이다. WAIT 상태는 종료하기 위해 타이머를 대기하며, FIDLE 상태로 전이된다.
③ 중재 카운트(I)가 3보다 작거나 같고, ARBI 입력이 0이며 로컬 액티비티가 있다면(LACTIVE=1), 상태 머신은 ARB 상태로 전이시키고, 마스터 모듈의 기능을 수행한다. ARBO 출력은 1로 셋트되고, 중재 카운터는 0으로 셋트되며(I=0), DATAO 출력은 MYID<i>로 셋트되고, FTCOL은 1로 셋트되며, 모든 로컬 포트는 재밍된다(OUT(ALL)=JAM).
④ FRECV로의 전이가 일어나는 시기는 중재 카운트가 4에 도달하고(I=4),제1 데이타 비트가 검출되며(DATAI=1, ARBI=0), 로컬 액티비티가 없을 때(LACTIVE=0)이다. 상태 머신은 버스로부터 추가의 데이타 비트를 수신한다.
⑤ STCOL 상태로의 전이(슬레이브 전송 충돌)는 2가지 가능한 경로중 하나를 통해 발생한다. 그 첫 번째 경로에서, 적어도 하나의 버스 라인이 요청되거나(미사용 아님), 로컬 액티비티가 검출되었다면(LACTIVE=1) 전이는 중재 카운트가 3에 도달한 후(I≥3) 발생한다. STCOL 상태로 진입하기 전에, 머신은 ARBO 및 DATAO 출력 라인상에 "1"을 요청하고, FTCOL은 1로 셋트하고, 모든 로컬 포트상에 재밍 신호의 출력을 계속한다(OUT(ALL=JAM). STCOL 상태로의 전이는 DATAI 및 ARBI 입력상에 "1"을 수신하는 것에 기초하여 발생할 것이지만, 로컬 액티비티가 없으며(LACTIVE=0), FTCOL은 1이면, 로컬 액티비티가 미사용 상태이후 검출되었기 때문에, 전송 충돌이 있을지도 모른다는 것을 나타낸다. ARB,DATA 및 FTCOL은 이미 셋트되었기 때문에, STCOL 상태라고 가정하기 전에 취해진 유일한 동작은 모든 로컬 포트에 재밍 신호의 출력을 계속하는 것이다(OUT(ALL)=JAM).
⑥ SRCOL(슬레이브 수신 충돌) 상태로의 전이도 또한 I=4일 때 DATAI 및 ARBI가 "1"이고, 로컬 액티비티가 없으면(LACTIVE=0) 발생한다. 상기 ⑤에 나타난 것과 같이, 이러한 조건들이 발생하고 FTCOL이 셋트될 때, 전이는 STCOL 상태로 된다. 그러나, 동일 조건이 발생하고 FTCOL이 클리어되면, 이것은 수신 충돌이라고 추정되고, 머신은 SRCOL 상태로의 전이를 수행하며, 반면에, 모든 로컬 포트상에 재밍 신호의 출력을 계속한다(OUTPUT(ALL)=JAM).
FRECV
ARBWT를 참조하여 상기 기술된 바와 같이, 중재가 완료되고, 제1 데이타 비트가 DATA 및 ARB 라인삿에 수신되면, ARBWT 상태로부터 수신 상태(FRECV)에 이르게 된다. FRECV는 또한 디폴트 상태로 사용되며, 상태 머신에서 다르게 특정되지 않은 어떤 불법적인 조건의 검출에 기초하여 진입된다. FRECV 상태로 진입한 후, 머신은 다음 비트 사이클을 취하기 위한 5개의 가능한 동작을 갖는다.
① 수신 데이타를 처리하고 FRECV 상태를 유지한다. 이 동작은 수신 데이타 비트가 DATA 및 ARB 라인(ARBI XOR DATAI=1)상의 보수 상태가 존재함으로써 검출되는 동안, 그리고 로컬 액티비티가 없을 때(LACTIVE=1) 발생할 것이다. 상태 머신이 FRECV 상태에 있을 때, 수신 데이타는 모든 로컬 포트를 통해 출력된다(OUT(ALL)=DATAI).
② 버스상의 미사용 조건을 검출하고 로컬 액티비티가 없는(LACTIVE=0) 것에 기초하여 WAIT 상태를 빠져나간다. 빠져나가기 전에, 미사용 신호는 로컬 포트로 출력된다(OUT(ALL)=IDLE).
③ 버스가 미사용(DATAI=ARBI=0)이고, 로컬 포트 액티비티가 검출되면, ARB 상태로 전이된다. FIDLE로부터 ARB 상태로 진입함에 따라, "1"은 ARBO상에 출력되고, MYID<1>은 DATAO상에 출력된다. FTCOL은 "1"로 셋트되고, 모든 로컬 포트는 재밍된다(OUT(ALL)=JAM).
④ 로컬 액티비티가 검출되고(LACTIVE=1) 버스가 미사용이 아니라면(ARBI 또는 DATAI가 "1"), 슬레이브 전송 충돌 상태(STCOL)로 전이된다. ARBWT 상태로부터 STCOL 상태로 진입할 때, 머신은 ARBO, DATAO 및 FTCOL을 "1"로 셋트하고, 모든 로컬 포트에 재밍 신호를 출력한다(OUT(ALL)=JAM).
⑤ 로컬 액티비티가 없으며(LACTIVE=0), DATAI 및 ARBI가 "1"이라면, 슬레이브 수신 충돌 상태(SRCOL)로 전이한다. 출력 포트는 SRCOL 상태로 진입하기 전에 재밍 신호(OUTPUT(ALL)=JAM)를 보낸다.
STCOL
슬레이브 전송 충돌 상태(STCOL)는 중재후, 로컬 액티비티(LACTIVE=1), 또는 최근의 로컬 액티비티(FTCOL=1)일 때 도달된다. 슬레이브 전송 충돌 상태는 SRCOL 상태로부터 도달될 수도 있다. STCOL 상태에서는 4개의 가능한 연속적인 동작이 있다.
① 입력 신호 DATA=1 이면, STCOL 상태를 유지하며, 로컬 포트에 잼(jam)(OUT(ALL)=JAM)시킨다.
② 버스가 미사용(DATAI=ATBI=0)이고, 로컬 액티비티가 없으면(LACTIVE=0), FTCOL=0으로 셋트시키고, 로컬 포트에 미사용 코드를 출력(OUT(ALL)=IDLE)한 후 WAIT 상태를 빠져나간다.
③ DATAI 입력은 버스상의 마스터 머신이 DATA 라인상에 "1"의 요청을 중단했고 로컬 액티비티가 있다는 것(LACTIVE=1)을 표시하는 "0"이 되면, 상태 머신은 ARBO 출력을 "1"로 셋트하고, 중재 카운터를 리셋트하고(I=0), DATAO 출력을 MYID<i>로 셋트하고, FTCOL을 ARBI의 값으로 셋트하고, 로컬 포트를 재밍(OUT(ALL)=JAM)시킨 후, 중재 상태(ARB)로 전이됨으로써 버스의 제어를 얻기 위해 시도한다.
④ DATAI 입력은 버스상의 마스터 머신이 "1"의 요청을 중단했다는 것을 나타내는 0으로 되고, ARBI 입력은 다른 어떤 머신이 존재한다는 것을 나타내는 "1"로 되며, 로컬 액티비티가 없다면(LACTIVE=0), 상태 머신은 중재 카운터(I=0)를 리셋트하고, 로컬 포트에 재밍 신호의 출력(OUT(ALL)=JAM)을 계속한 다음, 슬레이브 모듈로서 중재에 참여하기 위해 ARBWT 상태로 전이된다.
SRCOL
DATAI 및 ARBI 입력 라인상에 "1"이 수신될 때, 슬레이브 수신 충돌 상태(SRCOL)는 FRECV 상태 또는 ARBWT 상태로부터 도달된다. 연속적인 사이클에서, SRCOL 상태에서는 4개의 가능한 동작이 있다.
① DATAI 및 ARBI 입력이 각각 "1" 및 "0" 이고, 로컬 액티비티가 없다면(LACTIVE=0), 머신은 SRCOL 상태를 유지하며, FTCOL은 "0"으로 유지하고, 로컬 포트에 재밍 신호의 출력(OUT(ALL)=JAM)도 계속한다.
FTCOL을 "0"으로 셋트시키고 로컬 포트에 미사용 신호를 보낸 후(OUT(ALL)=JAM), WAIT 상태를 빠져나가게 된다.
② 버스가 미사용(DATAI=ARBI=0)이고, 로컬 액티비티가 없다면(LACTIVE=0), FTCOL을 "0"으로 셋트시키고 로컬 포트에 미사용 신호(OUT(ALL)=IDLE)를 보낸 후, WAIT 상태를 빠져나가게 된다.
③ DATAI 및 ARBI 입력은 어떤 다른 머신이 전송 충돌 신호를 보낸다는 것을 나타내는 "1"이며, DATAI는 충돌 전송 신호인 "1"이고 로컬 액티비티가 있으면(LACTIVE=1), 머신은 STCOL 상태로 전이시킨다. 로컬 액티비티가 있으며,FTCOL은 "1"로 셋트하며 로컬 포트에 재밍 신호의 출력(OUT(ALL)=JAM)을 계속한다면, 전이에서 수행된 동작은 ARBO 및 DATAO를 LACTIVE의 값으로 즉, "1"로 셋트시키는 동작을 포함한다.
④ 버스가 미사용(DATAI=ARBI=0)이고, 로컬 액티비티가 있다면(LACTIVE=1), 머신은 버스의 제어를 얻기 위한 시도를 하기 위해 ARB 상태로 전이된다. (FIDLE로부터) ARB로의 더 직접적인 경로에 있어서, ARBO는 "0"으로 셋트되고, 중재 카운터는 리셋트(I=0)되고, DATAO는 MYID<i>로 셋트되며, FTCOL은 "1"로 셋트되며, 모든 로컬 포트는 재밍(OUT(ALL)=JAM)된다.
ARB
ARB 상태에서는 상태 머신이 마스터 모드에 있다면, 중재가 실행된다. 버스가 미사용일 때 로컬 액티비티(LACTIVE=1)를 검출한 결과로서, ARB 상태는 FIDLE 상태로부터 초기에 도달한다. ARB 상태는 또한 로컬 액티비티가 검출될 때 다른 여러 가지 상태로부터 도달될 수 있다. ARB 상태에서, 상태 머신은 4개의 가능한 연속적인 동작을 실행할 수 있다.
① 중재 카운터가 3보다 작고(I<3), 계속된 로컬 액티비티가 있고(LACTIVE=1), DATA 라인이 머신 자신의 전송된 식별자를 나타내는(DATAI=MYID<i>) 동안, 머신은 ARB 상태를 유지할 것이다. 4 사이클의 중재 동안, 상태 머신은 ARBO 상에 "1"의 출력을 계속하고, DATAO 상에 자신의 식별자(MYID<i>)를 출력하고, FTCOL을 FTCOL 및 LCOL의 논리 OR로 셋트한다. LCOL은 논리적 충돌 표시자인 것을 상기할 수 있을 것이며, 하나 이상의 포트가 충돌을 나타내며 하나 이상의 포트가 입력 데이타를 갖고 있을 때 셋트된다. 단지 하나의 포트가 엑티브되면, LCOL 및 FTCOL은 "0"으로 계속 유지될 것이다. 머신은 로컬 포트로 엑티브 포트 N을 제외하고 모든 포트로 재밍 신호를 보내고(OUT(ALLXN)=JAM), FTCOL 및 JAM 신호의 논리적 AND를 N번째 포트상의 출력으로 보낸다. 다시, 단지 하나의 포트가 엑티브되면, 재밍 신호는 N번째 포트로 보내지지 않는다.
② ARB 상태에서의 제4 사이클(I=3)에 대해, ③ 및 ④와 같이 이하에 기술된 동작중 어떤 것도 수행되지 않고 여전히 로컬 액티비티가 있으며(LACTIVE=1), 이 머신의 ID가 DATA 라인상에서 계속 에코(echo)된다면, 머신은 이하 기술될 FSEND 상태로 전이된다. FSEND 상태로 진입하기 전에, 머신은 다음 동작들을 실행한다.
(a) FTCOL을 FTCOL OR LCOL로 변화시킨다. 상기 주지된 바와 같이, 간단히 이 리피터에는 단지 하나의 엑티브 포트만이 있으며, LCOL 및 FTCOL은 "0"으로 계속 유지될 것이다.
(b) ARBO 출력을 DATAIN(N) OR FTCOL OR LRXCOL의 반전으로 셋트한다. 다시 간단한 경우를 가정해보자. 여기에서 단지 하나의 로컬 포트상에 데이타 입력이 있으며 충돌은 없으며, FTCOL 및 LRXCOL은 "0"이 될 것이며, 로컬 포트(N) 데이타의 반전은 ARBO 라인상에 출력될 것이다. 전송 충돌 또는 수신 충돌의 경우에는 "1"이 ARBO에 출력될 것이다.
(c) DATAO 출력을 DATAIN(N) OR FTCOL OR LRXCOL로 셋트시킨다. 데이타 전송의 경우에, 로컬 포트(N) 데이타는 라인 DATAO에 출력될 것이다. 전송 충돌 또는 수신 충돌의 경우에는 "1"이 DATAO에 출력될 것이다.
(d) N을 제외한 모든 로컬 포트에 DATA에 있는 것과 같은 동일 데이타를 출력한다. 포트 N의 데이타 입력의 경우에, 이것은 동일 데이타 비트가 모든 다른 로컬 포트에 방송한다는 것을 의미한다. 충돌의 경우에는 "1"이 다른 로컬 포트에 출력된다.
(e) FTCOL 및 JAM의 논리적 AND를 포트 N에 출력한다. 그러므로, N번째 포트에는 전송 충돌이 있을 때만 재밍 신호가 전송된다.
③ DATAI 입력 라인이 이 머신의 식별자 비트가 아니 다른 것을 나타내거나(DATAI≠MYID<i>), 로컬 액티비티가 정지하고(LACTIVE=0), ARB가 다른 머신에 의해 요청(ARBI=1)되면, ARB 상태는 너무 이르게 (I<3) 종료될 수 있다. 다른 경우에 있어서, ARBO 출력을 LACTIVE와 동일한 상태로 셋트(로컬 액티비티가 있으면 "1")하고, 중재 카운트(I=I+1)를 증가시키고, FTCOL의 상태를 갱신(FTCOL=FTCOL OR LACTIVE)하며, 로컬 포트에 재밍 신호를 출력(OUT(ALL)=JAM)한 후, ARBWT 상태로 전이하고, 슬레이브 동작 모드를 요청한다. 이 머신의 ID가 DATA 라인에서 에코백(echoed back)되지 않을 때, ARB 상태로부터 ARBWT 상태로의 전이의 효과는 (만일 2개의 머신이 동일 시간에 ID를 전송한다면)가장 높은 번호의 ID를 갖는 머신에 우선순위를 주는 것이다. 하나의 머신이 "0" ID 비트를 전송하고 "1"이 DATAI 라인에 나타난다면, "0" ID를 가진 머신은 중재에서 "지게되어", ARBWT 상태로 전이될 것이다.
④ ARB 상태를 빠져나가는 다른 방법은 슬레이브 전송 충돌(STCOL) 상태로 전이됨으로써 달성된다. 도면에 도시된 바와 같이, 계속 로컬 액티비티가있으며(LACTIVE=1) DATAI 라인에 복귀된 데이타가 이 머신에 대한 ID 비트가 아니면(DATAI≠MYID<i>), ARB 상태를 빠져나가는 것은 마지막 중재 사이클(I=3)에서 발생한다. 이러한 DATA 라인에서의 상이한 ID 비트의 검출은 이 머신이 마지막 중재 사이클에서의 중재 과정에서 살아남지 못했다는 것을 의미한다. 중재는 완료되었으므로, 이 머신은 실패해서, 전송 충돌 상태로 전이하고 슬레이브 모드를 요청한다. ARBO, DATAO 및 FTCOL 각각은 "1"로 셋트되고, 모든 로컬 포트는 잼(OUT(ALL)=JAM)된다.
FSEND
송신 상태(FSEND)는 상태 머신이 중재 과정을 성공적으로 살아남은 후 도달된다. (ARB 상태로부터의 전이는 FSEND 상태로의 유일한 경로이다) FSEND 상태가 제1 FSEND 사이클에서 데이타 및 반전된 데이타를 각각 전송하고 전송 충돌 또는 수신 충돌이 있다면 "1"을 전송하기 위해 준비된 DATAO 및 ARBO로 진입된다는 것을 ARB 상태의 설명으로부터 상기할 수 있다. FSEND 상태에서의 연속하는 사이클에는 5개의 다른 동작이 있다.
① 데이타의 전송을 계속하는 동안, DATAI 및 ARBI는 모두 "1"이 아닐 것이며, 로컬 충돌(하나 이상의 포트가 데이타 또는 충돌 신호를 갖지 않았다는 것을 나타내는, LCOL=0)과 단일 수신 충돌(포트 N에 충돌 신호가 없다는 것을 나타내는, LRXCOL=0)은 없다. 상태 머신은 FSEND 상태를 유지하며, 버스로 다른 데이타 비트를 전송(DATAO=DATAIN(N) 및 ARNO=DATAIN(N)의 역수)한다. DATAIN(N)으로부터의 데이타 비트는 다른 로컬 포트에 출력(PUTPUT(ALLXN)=DATA(N))된다. 이러한 동작 모드는 전체 데이타 패킷이 전송될 때까지 계속될 것이다.
② DATAI 및 ARBI가 모두 "1"이고, 검출된 로컬 충돌이 포트 N에 있다면(LRXCOL=1), 상태 머신은 충돌이 있다는 것을 버스에 접속된 다른 성분에 알려주기 위해 DATAO 및 ARBO로 "1-1" 코드를 보내야 하고, 하나의 엑티브(OUT(ALLXM))를 제외한 모든 로컬 포트를 잼해야 한다. 상태 머신은 FSEND 상태를 유지한다.
③ 로컬 액티비티가 중지되면(LACTIVE=0), 상태 머신은 FSEND 상태로부터 WAIT 상태로 전이되어 FIDLE 상태로 되돌아간다.
④ FSEND 상태에 있는 동안, 버스에 접속된 머신은 양 라인에 "1"을 주어(DATAI=ARBI=1) 충돌을 알리고, 로컬 액티비티가 있고(LACTIVE=1), 로컬 충돌 조건이 없으며(즉, 하나 이상의 로컬 포트의 충돌이 없다, LCOL=0), 로컬 수신 충돌(하나의 로컬 포트에서, LRXCOL=1)이나 FTCOL의 세트 조건이 있다면, 전이 전에, DATAO는 "1"로 셋트되고 엑티브한 포트를 제외한 모든 포트는 잼(OUT(ALLXM))된다.
⑤ FSEND 상태에 있는 동안, 검출된 로컬 충돌이 있으며(LCOL=1), 검출된 로컬 충돌이 있고(하나 이상의 로컬 포트의 충돌을 나타내는, LCOL=1), 로컬 액티비티가 있으며(LACTIVE=1), 충돌을 나타내기 위해 2개의 버스 라인에 "1"을 요청하고(DATI=ARBI=1), 하나의 포트에 로컬 수신 충돌이 없고(LRXCOL=0), 이전 전송 충돌이 없으면(FTCOL=0), 상태 머신은 전송 충돌 상황이라고 결론짓고 마스터 전송 충돌(MTCOL) 상태로 전이된다. 전이하기에 앞서, DATAO는 "1"로 셋트되고, FTCOL은 "1"로 셋트되며, ARBO는 확장-카운터-실행 플래그의 상태의 반전으로 셋트된다. 확장 카운터는 96 비트와 같은 최대 비트수까지 계수하고, 충돌 표명과 다른 이벤트가 적어도 이 비트수로 확장될 것이다. 초기에, 확장-카운터-실행 플래그는 "0"이 될 것이며, "1"은 카운터가 최대값에 도달할 때까지 ARBO로 전송될 것이다. 그러므로, MTCOL 상태로 진입하기 전에, 머신은 DATAO 및 ARBO로 "1-1"을 전송할 준비가 된다. 모든 로컬 포트는 잼(OUT(ALL)=JAM)된다.
MTCOL
마스터 전송 충돌(MTCOL) 상태에서, 4가지 가능한 연속하는 동작이 있다.
① 로컬 액티비티가 있으며(LACTIVE=1), ARBI는 "1"을 유지하거나 로컬 충돌이 있는(LCOL=1) 동안, 상태 머신은 MTCOL 상태를 유지하며 DATAI-ARBI로 "1-1"을 계속 출력하고 모든 로컬 포트에 재밍 신호를 출력한다.
② ARBI가 "0"으로 떨어지거나 로컬 액티비티가 정지(LACTIVE=0)하면, 상태 머신은 WAIT 상태를 통해 빠져나가고, FTCOL은 "0"으로 셋트되며, 로컬 포트에 미사용 신호를 출력(OUT(ALL)=IDLE)하게 된다.
③ 로컬 액티비티가 정지하고 ARBI가 "1"을 계속 유지하면, 상태 머신은 더 이상 마스터 모드에 있지 않고, 슬레이브 모드에 있는 다음 중재에 참여하기 위해 ARBWT 상태로 전이된다. 중재에 대한 준비에 있어서, 중재 카운터는 -1로 셋트(I=1)되고, 모든 로컬 포트는 잼(OUT(ALL)=JAM)된다.
④ 마스터 전송 충돌 상태(MTCOL)에 있어서, 머신은 실제로 마스터 수신 충돌(MRCOL) 상태에 있는지를 판정한다. ARBI 입력이 "0"이 되고, 검출된 로컬 충돌이 없고(LCOL=0), 로컬 액티비티가 있다면(LACTIVE=1), 이것은 단 하나의 엑티브포트가 있다는 것과 머신은 마스터 수신 충돌(MRCOL) 상태에 있어야 한다는 것을 의미한다. MRCOL 상태로 진입하기 전에, 머신은 DATAO를 "1"로 셋트하고, 엑티브 포트를 제외한 모든 포트를 잼(OUT(ALLXM)=JAM)한다. (버스의 ARB 라인은 이미 "0"이다.)
MRCOL
마스터 수신 충돌(MRCOL) 상태는 FSEND 상태나 마스터 전송 충돌(MTCOL) 상태를 통해 또는 직접 도달한다. 어떤 경우에 있어서나, DATAO는 "1"로 셋트되고, 엑티브한 한 포트를 제외하고 모든 로컬 포트는 잼된다. MRCOL 상태에서는 4가지 가능한 동작이 있다.
① 로컬 액티비티가 있으며(LACTIVE=1), ARBI는 "0"에서 유지되며, 검출된 로컬 충돌이 없으면(LCOL=0), 단지 하나의 충돌만이 하나의 엑티브 포트에 있다고 결론지어진다. 머신은 MRCOL 상태에 머무르며, DATAO를 "1"로 셋트하고, FTCOL을 "0"으로 클리어시키며, 엑티비한 하나의 포트를 제외한 모든 출력 포트를 잼(OUT(ALLXM)=JAM)한다.
② 로컬 액티비티가 있으며(LACTIVE=1), ARBI가 "1"(어떤 다른 머신이 충돌을 표명한다고 나타낸다)로 되거나 LCOL이 "1"(이 머신이 2이상의 포트에 로컬 충돌을 갖는다는 것을 나타낸다)로되면, 전송 충돌 상태가 된다. 머신은 확장 카운트가 완료하지 않았다면, FTCOL을 "1"로 셋트하고, DATAO를 "1"(충돌을 표명)로 셋트하며, ARBO를 "1"로 셋트한 후, MTCOL 상태로 전이된다. 재밍 신호는 모든 로컬 포트로 보내진다(OUT(ALL)=JAM).
③ 로컬 액티비티가 중지(LACTIVE=0)되고, ARBI가 (다른 머신에 의해 충돌 표명을 나타내는)"1"로 되면, 이 머신은 FTCOL을 "1"로 셋트하고, 중재 카운터를 -1로 셋트(I=-1)하고, 재밍 신호를 모든 로컬 포트에 전송(OUT(ALL)=JAM)한 후, 가능한 중재에 참여하기 위해 ARBWT 상태로 된다.
④ ARBI 입력이 "0"이고, 로컬 액티비티가 중지되면, 이벤트는 FTCOL을 "0"으로 클리어하고, 미사용 신호를 로컬 포트로 보낸(OUT(ALL)=IDLE) 후, WAIT 상태를 통해 빠져나감으로써 종료된다.
상태 머신의 동작예
도 2에 도시된 상기 상태 머신의 상세한 설명은 이벤트 및 상태 전이의 모든 가능한 조합을 수행할 수 있을 것이다. 다음 실시예는 더 일반적으로 발생하는 상황에서의 상태 전이에 관한 것이다.
1. 단일 엑티브 포트로부터 발생하는 데이타 패킷의 전송
ⓐ 중재 : 머신 A는 하나의 엑티브 포트에 데이타 액티비티를 갖는 것으로 추정되며, 머신 B는 액티비티를 전혀 갖지 않는 것으로 추정된다. 2개의 머신은 FIDLE 상태에 있다. 로컬 액티비티의 검출(LACTIVE=1)에 의해, 머신 A는 ARB 상태로되어 다음 4 비트 사이클 동안 DATAO에 ID 비트를 보내기 시작한다. 이와 같은 시간에, ARBO로 "1"을 보내고, 다른 로컬 포트를 재밍한다. 머신 B는 ARBI 입력으로 "1"을 수신하여, ARBWT 상태로 전이되고, 4 재밍 사이클 동안 머무르며 모든 로컬 포트를 재밍한다. 중재가 완료되면, 즉, 머신 A가 ID 비트의 에코를 성공적으로 송신 및 수신하면, 머신 A는 FSEND 상태로 전이되고, 머신 B는 FRECV 상태로 전이된다.
ⓑ 데이타 전송 : 머신 A는 하나의 엑티브 포트로부터 수신된 데이타를 취해, DATA 및 ARB 라인으로 다른 로컬 포트에 데이타(DATAO에서의 데이타 및 ARB에서의 반전된 데이타)를 보낸다. 머신 B는 DATAI로부터 수신된 데이타를 취해 모든 로컬 포트로 전송한다. 이 처리과정은 머신 A가 WAIT 상태로 전이될 때인 데이타 패킷의 종료시까지 계속된다. 마지막 데이타 비트를 수신한 후, 머신 B는 WAIT 상태로 전이되고, 데이타 전송은 완료된다. 이 예에서의 머신 B는 슬레이브 모드에서 동작하며, 마스터 모드에서 동작하는 머신 A의 다음 1 비트 사이클에서 동작한다.
2. 수신 충돌 상태의 표명
ⓐ 중재 : 머신 A에서 수신 충돌이 검출 즉, 단지 하나의 로컬 포트로 충돌 신호가 수신되었다고 추정된다. 이 예에 있어서, 머신 B에서는 액티비티가 없다고 추정되므로, 중재 단계는 전과 같이 진행된다. 머신 A는 ARB 상태로 이전되어 ID 비트를 성공적으로 전송할 것이며, 머신 B는 ARBWT 상태로 이전되어 슬레이브 머신으로서의 중재에 참여할 것이다.
ⓑ 충돌 표명 : 중재의 결정에서, 머신 A는 FSEND 상태로 이전되어 DATAO 및 ARBO로 "1"을 출력할 것이다. 로컬 수신 충돌이 검출(LRXCOL=1)되었기 때문에, 다른 포트를 잼시킬 것이다. FSEND 상태에서의 다음 사이클에서, 로컬 수신 충돌 상태(LRXCOL=1)에 의해, 머신 A는 마스터 수신 충돌(MRCOL) 상태로 전이될 것이다. 최종 중재 사이클 후, 머신 B는 DATAI 및 ARBI를 "1"로 검출하고 로컬 액티비티가 없기 때문에, 슬레이브 수신 충돌(SRCOL) 상태로 전이될 것이다. 이 시점에서, 머신 A는 MRCOL 상태에 있을 것이며, 머신 B는 SRCOL 상태에 있을 것이다. 머신 A는 DATAO에는 "1"을, ARBO에는 "0"을 반복적으로 출력할 것이다. 반면에, 머신 B는 DATAI로 "1"을, ARBO로 "0"을 계속 수신하여 모든 로컬 포트를 잼시킬 것이다. 로컬 포트가 미상용 상태가 되고 96 비트가 통과된 후, DATAO 라인은 이벤트의 끝인 "0"으로 떨어진다. ARB 라인이 이벤트 동안 ("1"을) 요청하면, 머신 A 및 B는 버스(전송) 충돌 규칙을 따른다. 즉, 머신 A는 마스터 전송 충돌(MTCOL) 상태로 전이되고, 머신 B는 슬레이브 전송 충돌(STCOL) 상태로 전이된다. 모든 경우에 있어서, 수신 모듈은 4개의 제1 (ID) 비트를 코드 "1010"으로 변환시켜야 한다.
3. 전송 충돌 상태의 표명
ⓐ 중재 : 머신 A가 자신의 로컬 포트에서 전송 충돌을 검출했다고 가정한다. 즉, 머신 A가 하나 이상의 로컬 포트로 수신 충돌 신호 또는 데이타 신호를 수신했다고 가정한다. 이 예에 있어서, 머신 B에서의 액티비티는 없다고 가정하여 중재 단계는 전과 동일하게 진행될 것이다. 머신 A는 ARB 상태로 전이되어 ID 비트를 성공적으로 전송할 것이다. 머신 B는 ARBWT 상태로 전이되어, 슬레이브 머신으로서 중재에 참여할 것이다.
ⓑ 충돌 표명 : 중재가 결정될 때, 로컬 전송 충돌이 검출(LCOL=1)되기 때문에, 머신 A는 FSEND 상태로 전이될 것이며, DATAO 및 ARBO로 "1"을 출력하고, 다른 포트를 잼시킬 것이다. FSEND 상태에서의 다음 사이클에서, 머신 A는 DATAO로 "1"을, ARBO로 "1"을 계속 전송할 것이다. 최종 중재 사이클 후, 머신 B는 DATAI 및 ARBI를 "1"로 검출하고 로컬 액티비티가 없기 때문에, 슬레이브 수신 충돌(SRCOL)상태로 전이될 것이다. SRCOL 상태에서의 다음 사이클에서, 머신 B는 DATAI 및 ARBI로 "1"을 검출할 것이며, 슬레이브 전송 충돌(STCOL) 상태로 전이될 것이다. 이 시점에서, 머신 A는 MTCOL 상태에 있을 것이며, 머신 B는 STCOL 상태에 있을 것이다. 머신 A는 DATAO로 "1"을 ARBO로 "1"을 반복적으로 출력할 것이다. 반면에, 머신 B는 DATAI로 "1"의 계속적인 수신에 의해, 모든 로컬 포트를 계속 잼시킬 것이다. 96 비트 시간이 지나가는 것을 나타내는 확장 카운터가 종료되면, 머신 A는 ARBO 출력을 중단시키지만, "1 모듈이 남았다"는 것을 나타내기 위해 DATAO 신호의 요청을 계속한다. 마스터(A) 모듈은 단지 하난의 엑티브 포트가 남았을 때, "1 포트가 남은" 상태 즉, MRCOL 상태로 진입할 것이다. 슬레이브 모듈(B)은 이벤트가 종료할 때가지 STCOL 상태에서 유지될 것이다. 마지막 포트가 미사용 상태로 되면, 머신 A는 DATAO 신호를 중단시키고 이벤트는 종료한다.
4. 버스 충돌 상태의 표명
2개의 모듈이 동시에 로컬 포트 액티비티를 검출한다면, DATAO 라인으로 ID 비트를 보내는 동안, 상태 머신(A 및 B)은 ARB 상태로 전이되어, 4 사이클 동안 ARBO 라인으로 "1"을 요청할 것이다. 중재의 어느 단계에서, 한 머신이 "1"을 보내고 다른 머신이 "0"을 보낸다면, "0"을 보낸 머신은 DATAI 라인으로 ID 비트를 검출하지 못할 것이며, 슬레이브 머신의 기능이라 추정하여, ARBWT 상태로 전이될 것이다. 그러므로, 더 큰 ID를 갖는 머신 즉, 머신 A는 하나 이상의 머신이 버스 엑세스를 위해 경쟁하는 이벤트에서 중재에서 성공할 것이다.
중재가 발생하는 동안 슬레이브 모듈이 로컬 액티비티를 검출한다면, ARBO라인으로 "1"을 요청하고, 중재는 종료된다. 중재의 종료시에, 슬레이브 전송 충돌(STCOL) 상태로 전이될 때, 슬레이브 머신(B)은 다음 사이클 동안 DATAO 및 ARBO로 "1"을 요청한다. 그 후, STCOL 상태에 있는 머신 B는 로컬 액티비티가 있으면(LACTIVE=1), ARBO 라인으로 "1"의 요청을 계속한다. 중재에서 이긴 머신(A)은 ARBI 및 DATAI로 "1"을 수신하였기 때문에, 마스터 전송 충돌(MTCOL) 상태로 전이된다. MTCOL 상태에서, 마스터 모듈은 적어도 96 비트 시간이 지날 때까지 DATAO 및 ARBO로 "1"의 출력을 계속한다. 96 비트 시간의 종결시에, 마스터 모듈(A)은 ARBO 신호를 "0"으로 떨어뜨리고, 모든 모듈의 로컬 포트가 미사용될 때까지 DATAO 라인의 구동을 계속한다. 이와 유사하게, 슬레이브는 적어도 96 비트 시간 동안 ARBO를 요청하고, 포트가 미사용될 때까지 ARBO의 구동을 계속한다.
96 비트 시간이 지나간 후, 모든 슬레이브 로컬 포트가 마스터 로컬 포트가 미사용되기 전에 미사용되었다면, 슬레이브는 ARB 라인으로부터 떨어져서 즉, 더 이상 ARBO로 "1"을 요청하지 못할 것이다. 96 비트 시간이 경과하였기 때문에, 마스터는 더 이상 ARBO로 "1"을 요청하지 못한다. 이것은 단지 하나의 모듈(마스터)만이 버스에 남아 있다는 것을 나타낸다. 그리고, 마스터가 남아 있는 하나의 엑티브 포트만을 가진다면, MRCOL 상태로 진입하여, "하나의 포트만이 남아 있는" 것과 동등하게 된다. 이 단계에서 마스터 모듈이든 슬레이브 모듈이든 다른 포트가 엑티브된다면, 마스터는 MTCOL 상태로 반전될 것이고, 확장 카운터를 리셋트하고, 96 비트 시간 이상으로 DATAO 및 ARBO를 구동시킬 것이다. 슬레이브 모듈은 STCOL 상태에 있게 된다.
마스터 모듈의 포트가 먼저(슬레이브 포트가 미사용되기 전에) 미사용된다면, 마스터 모듈은 DATAO 출력을 떨어뜨리게 된다. 엑티브 포트를 갖는 남아 있는 모듈은 ARBO=1의 송신을 계속할 것이며, DATA 라인으로 ID 비트를 보냄으로써 DATA 라인에 대해 재중재될 것이다. 중재후, 모든 엑티브 모듈은 충돌이 있다는 신호를 보내기 위해 1 사이클 동안 DATA 및 ARB를 구동시킨다. 그리고, 새로운 마스터는 DATA 라인을 구동시키고, 다른 모듈은 슬레이브 동작 모드에서 ARB를 구동시킨다. ARB를 요청하는 모듈이 없으면, 새로운 마스터 모듈은 단지 하나의 엑티브 포트를 가지고, 1 포트가 남아 있는 상태(즉, MRCOL 상태)로 진입하고, 슬레이브와 같은 다른 모듈은 전송 충돌 상태(STCOL)에서 머무른다.
중재에서의 승리자가 4-사이클 중재의 종료 전에 미사용으로 전이된다면, 일반적이지는 않지만 가능한 이벤트의 시퀀스가 일어날 수 있다. 마스터 모듈은 DATA 및 ARB 출력을 떨어뜨리고, ARB 상태에서 ARBWT 상태로 전이하며, 로컬 액티비티가 없다면 WAIT 상태를 통해 빠져나갈 것이다. 어떤 계속 엑티브(슬레이브)한 모듈은 ARB를 "1"로 구동시킬 것이다. 중재의 종료시, 슬레이브 모듈은 DATA 및 ARB를 충돌 신호로 구동시킬 것이며, STCOL 상태로 전이될 것이다. 이 시점에서, 마스터 모듈은 없기 때문에, DATA 라인은 "0"으로 검출되고 모든 엑티브 슬레이브 모듈은 새로운 중재를 개시하기 위해 ARB 상태로 전이될 것이다.
이로써 알 수 있듯이, 본 발명은 반-리피터 및 다른 이더넷 성분에 대한 버스 구조의 상당한 향상을 제공한다. 특히, 본 발명은 데이타 및 상태 정보를 효율적으로 전송하는 2개의 배선만을 갖는 상호모듈 버스를 제공한다. 더욱 상세히, 본 발명은 각 모듈이 접속된 2-배선 버스 인터페이스를 포함한다. 여기에서, 다중 모듈의 버스 인터페이스는 버스에 엑세스하기 위해 분산형 중재 구성과, 버스를 통해 데이타, 충돌 표명 및 상태 정보의 전송을 허용하기 위한 엔코딩 구성을 제공하기 위해 상호관련된다. 버스에 결합된 모듈은 반-리피터 또는 브리지 및 라우터와 같은 다른 종래의 네트워크 성분이 될 수 있다. 본 발명이 비록 일부 특정 실시예에 대해서만 설명되었지만 적절한 변경을 가하여 다른 태양으로도 실시 가능하다. 즉, 첨부된 청구범위의 개념과 범위는 본 명세서에 개시된 실시예에만 한정되지 않는다.

Claims (4)

  1. 상태 머신을 구비하며, 2개의 도선을 갖는 상호모듈 버스에 네트워크 모듈을 결합시키기 위한 2-핀 버스 인터페이스에 있어서,
    상기 상태 머신은
    미사용 코드가 상기 상호모듈 버스로 전송된 미사용 상태와;
    마스터 모드에 있는 상태 머신에 의해 모듈 식별 코드가 상기 상호모듈 버스로 전송되어 버스 엑세스에 대한 중재를 행하는 중재 상태와;
    데이타 코드가 상기 상호모듈 버스로 전송됨과 아울러 상기 버스 인터페이스와 관련된 로컬 포트에 전송된 송신 상태와;
    충돌 코드가 상기 상호모듈 버스로 전송된 적어도 하나의 마스터 충돌 상태와;
    슬레이브 모드에 있는 상태 머신이 적어도 하나의 다른 상태 머신과의 중재에 참여하는 중재 대기 상태와;
    상기 슬레이브 모드에 있는 상태 머신이 상기 버스로부터 데이타를 수신하여, 상기 버스 인터페이스와 관련된 로컬 포트에 상기 데이타를 전송하는 수신 상태와;
    충돌 코드가 상기 버스로부터 수신되어 상기 버스 인터페이스 관련된 로컬 포트에 중계된 적어도 하나의 슬레이브 충돌 상태와;
    한 상태에서 다른 상태로의 전이를 효율적으로 하기 위해 필요한 조건들을정의하는 한 세트의 상태 머신 명령과;
    한 상태에서 다른 상태로 전이가 이루어질 때, 상기 상태 머신에 의해 수행된 기능을 정의하는 한 세트의 머신 응답을 포함하며,
    상기 버스에 접속된 다중 버스 인터페이스의 상태 머신들은 상호 관련되어 동작함으로써, 버스 엑세스에 대한 분산형 전송을 수행하고, 한 버스 인터페이스로부터 다른 버스 인터페이스로 데이타 및 상태 정보를 전송하는 것을 특징으로 하는 2-핀 버스 인터페이스.
  2. 제1항에 있어서, 상기 적어도 하나의 마스터 충돌 상태는 상기 버스 인터페이스와 관련된 하나의 로컬 포트에 검출된 수신 충돌을 표명하는 마스터 수신 충돌 상태와, 적어도 하나가 상기 버스 인터페이스와 관련되는 하나 이상의 로컬 포트에서의 액티비티를 수반하는 전송 충돌을 표명하는 마스터 전송 충돌 상태를 포함하고,
    상기 적어도 하나의 슬레이브 충돌 상태는 다른 버스 인터페이스에 의해 검출된 수신 충돌의 표명을 처리하는 슬레이브 수신 충돌 상태와, 다른 버스 인터페이스에 의해 검출된 전송 충돌의 표명을 처리하는 슬레이브 전송 충돌 상태를 포함하는 것을 특징으로 하는 2-핀 버스 인터페이스.
  3. 제1 및 제2 라인만을 갖는 상호모듈 버스를 통해 서로 접속된 적어도 2개의 네트워크 모듈의 동작을 조정하는 방법에 있어서,
    상기 모듈이나 버스 라인에 네트워크 액티비티가 없을 때를 미사용 상태라고 가정하는 단계와;
    상기 네트워크 모듈과 관련된 복수의 로컬 포트의 어떤 포트내에서 데이타 또는 충돌 신호의 형태로 로컬 액티비티를 검출하는 단계와;
    상기 로컬 액티비티가 검출될 때 버스로의 엑세스를 취득하기 위한 중재 과정에 참가하는 단계와;
    하나의 로컬 포트로부터 수신된 데이타 신호를 버스 라인을 통해 다른 로컬 포트와 다른 모듈에 전송하는 단계와;
    모듈에서 충돌이 검출된 때 상기 버스 라인을 통해 다른 모듈에 충돌 표명을 전송하는 단계와;
    상기 버스 라인을 통해 다른 모듈로부터 데이타 신호를 수신하여, 이 수신된 데이타 신호를 로컬 포트를 통해 외부로 전송하는 단계와;
    다른 모듈로부터 상기 버스 라인을 통해 전송된 충돌 표명을 검출하는 단계와;
    충돌이 한 모듈내에서 검출되거나 충돌 표명이 다른 모듈로부터 수신된 때 로컬 포트에 재밍 신호를 전송하는 단계를 포함하며,
    상기 단계들이 각 네트워크 모듈에서 수행되는 것을 특징으로 하는 조정 방법.
  4. 제3항에 있어서, 상기 중재 과정에 참가하는 단계는
    모듈에 고유한 2진 식별 신호의 시퀀스를 제1 버스 라인으로 전송하는 단계와;
    각 이진 식별 신호를 전송한 후, 버스로 전송된 더 높은 우선순위의 식별 신호가 없는지 확인하는 단계와;
    더 높은 우선순위의 식별 신호가 검출되면, 중재 과정의 마지막에서 충돌이 있다는 것을 나타내기 위해, 모듈의 모든 로컬 포트에 재밍 신호를 보내고 제2 버스 라인에 이진수 "1"을 전송하는 단계와;
    상기 중재 과정 동안 더 높은 우선순위의 식별 신호가 검출되지 않으면, 검출된 로컬 액티비티의 종류에 기초하여, 데이타 신호의 전송 또는 충돌 표명의 전송을 진행하는 단계를 포함하는 것을 특징으로 하는 조정 방법.
KR1019970001429A 1996-01-22 1997-01-20 2-핀분산형이더넷버스구조 KR100391024B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/589,512 US5963719A (en) 1996-01-22 1996-01-22 Two-pin distributed ethernet bus architecture
US08/589,512 1996-01-22

Publications (2)

Publication Number Publication Date
KR970060780A KR970060780A (ko) 1997-08-12
KR100391024B1 true KR100391024B1 (ko) 2003-10-08

Family

ID=24358327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970001429A KR100391024B1 (ko) 1996-01-22 1997-01-20 2-핀분산형이더넷버스구조

Country Status (4)

Country Link
US (2) US5963719A (ko)
EP (1) EP0785650A1 (ko)
JP (1) JPH10285193A (ko)
KR (1) KR100391024B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1281676B1 (it) * 1996-01-17 1998-02-26 Alcatel Dial Face Spa Apparato di comunicazione digitale di tipo privato per interconnettere una pluralita' di elementi
KR20000021076A (ko) * 1998-09-25 2000-04-15 김영환 네트워크 방식의 커넥션에 의한 디지털시스템의 다이나믹 제어장치
US6920520B2 (en) * 1998-10-08 2005-07-19 Broadcom Corporation Methods and circuits for stacking bus architecture
US6600727B1 (en) 1999-05-27 2003-07-29 Cisco Technology, Inc. Distributed network repeater system
US7539154B1 (en) 2000-10-17 2009-05-26 Cisco Technology, Inc. Method and apparatus to detect and break loop configuration
US7260530B2 (en) * 2002-02-15 2007-08-21 Bevocal, Inc. Enhanced go-back feature system and method for use in a voice portal
US20040204096A1 (en) * 2002-03-08 2004-10-14 Koninklijke Philips Electronics N.V. RF and BB subsystems interface
US7204255B2 (en) * 2003-07-28 2007-04-17 Plc Medical Systems, Inc. Endovascular tissue removal device
US7353484B1 (en) * 2004-02-09 2008-04-01 Altera Corporation Methods and apparatus for variable latency support
GB2412755A (en) * 2004-03-30 2005-10-05 Hewlett Packard Development Co Coordination of lifecycle state changes in software components
JP4271089B2 (ja) * 2004-06-17 2009-06-03 パナソニック株式会社 無線通信方法および無線通信装置
EP1896707A2 (en) * 2005-04-29 2008-03-12 Tendix Development, LLC Radial impulse engine, pump, and compressor systems, and associated methods of operation
FR2926943B1 (fr) * 2008-01-30 2012-01-13 Canon Kk Procedes de transmission et reconstruction de sequences d'unites de donnees, produit programme d'ordinateur, moyen de stockage, noeuds emetteur et recepteur correspondants
CN111510217B (zh) * 2020-04-15 2021-05-28 南京大学 一种应用于高速列车的长距离通信的光电混合总线系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4418386A (en) * 1980-04-23 1983-11-29 U.S. Philips Corporation Communication bus for a multi-source/receiver data processing system
EP0495575A1 (en) * 1991-01-18 1992-07-22 National Semiconductor Corporation Repeater interface controller
EP0596694A1 (en) * 1992-11-02 1994-05-11 3Com Ireland Ethernet repeater

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265123A (en) * 1990-02-15 1993-11-23 Advanced Micro Devices, Inc. Expandable repeater
US5301303A (en) * 1990-04-23 1994-04-05 Chipcom Corporation Communication system concentrator configurable to different access methods
DE4211579C1 (de) * 1992-04-07 1993-11-18 Daimler Benz Ag Verfahren zur Überwachung symmetrischer Zweidraht-Busleitungen und -Busschnittstellen, und Vorrichtung zur Durchführung des Verfahrens

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4418386A (en) * 1980-04-23 1983-11-29 U.S. Philips Corporation Communication bus for a multi-source/receiver data processing system
EP0495575A1 (en) * 1991-01-18 1992-07-22 National Semiconductor Corporation Repeater interface controller
EP0596694A1 (en) * 1992-11-02 1994-05-11 3Com Ireland Ethernet repeater

Also Published As

Publication number Publication date
US5963719A (en) 1999-10-05
KR970060780A (ko) 1997-08-12
US6061737A (en) 2000-05-09
EP0785650A1 (en) 1997-07-23
JPH10285193A (ja) 1998-10-23

Similar Documents

Publication Publication Date Title
KR100391024B1 (ko) 2-핀분산형이더넷버스구조
US5629685A (en) Segmentable addressable modular communication network hubs
US4456956A (en) Method and apparatus for controlling access of a network transmission bus between a plurality of spaced apart computer stations
US5345447A (en) Switching hub which implements a virtual bus for interconnecting stations on a CSMA network
EP0096097B1 (en) Method and apparatus for controlling access to a communication network
JP2500973B2 (ja) 交換接続システム
JP2510606B2 (ja) ロ−カル エリア デ−タ ディストリビユ−ション システム
US5784648A (en) Token style arbitration on a serial bus by passing an unrequested bus grand signal and returning the token by a token refusal signal
WO1998030039A1 (en) Shared auto-negotiation logic for multiple port network devices
EP0074672B1 (en) Asynchronous data bus system
EP0081821B1 (en) System of local area contention networks
US5724507A (en) Lan adapter for changing control signal to a value indicating silence when the control signal is changed into a value indicating occurrence of transfer request
US5978383A (en) Repeaters for reducing collisions in an ethernet network
US5703883A (en) Expandable repeater controller
JPH1174889A (ja) トポロジー修正方式
US5949818A (en) Expandable ethernet network repeater unit
JPS61219247A (ja) ローカルエリアネットワークのためのネットワークアクセス装置
JPH0191556A (ja) 不定形通信網のノ−ド装置
KR0170495B1 (ko) 가상토큰버스 통신망의 매체접근 제어장치 및 그 방법
US6055267A (en) Expandable ethernet network repeater unit
KR900006971B1 (ko) 통신예약 기능을 부가한 프로세서간 통신방법 및 예약장치
JP2739239B2 (ja) 通信網のノード装置
JP2559952B2 (ja) 同報及び多報交換網
KR960001266B1 (ko) 근거리 데이타 분배 시스템
KR100232870B1 (ko) Mii-ir 버스 접속장치

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
LAPS Lapse due to unpaid annual fee