KR100367138B1 - 네트웍인터페이스제어기 - Google Patents

네트웍인터페이스제어기 Download PDF

Info

Publication number
KR100367138B1
KR100367138B1 KR1019960702913A KR19960702913A KR100367138B1 KR 100367138 B1 KR100367138 B1 KR 100367138B1 KR 1019960702913 A KR1019960702913 A KR 1019960702913A KR 19960702913 A KR19960702913 A KR 19960702913A KR 100367138 B1 KR100367138 B1 KR 100367138B1
Authority
KR
South Korea
Prior art keywords
input
clock
output
packet
dma
Prior art date
Application number
KR1019960702913A
Other languages
English (en)
Other versions
KR960706736A (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 KR960706736A publication Critical patent/KR960706736A/ko
Application granted granted Critical
Publication of KR100367138B1 publication Critical patent/KR100367138B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • 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/0045Arrangements at the receiver end
    • 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
    • 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/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

개선된 네트웍 인터페이스 제어기 시스템 및 그와 관련된 방법은 향상된 매체 제어기 시스템으로 이루어 진다. 상기 향상된 매체 액세스 제어기 시스템은 클록 조정 회로를 포함하며, 이는 클록 출력 (들) 을 제 1 에지로 부터 제 2 에지로 스위칭하여 상기 출력 (들) 상의 데이타 변화가 중간 비트 위치에 대략적으로 집중되게 하는 능동 클록에지 스위치 회로를 포함한다. 상기 능동 클록 에지 스위치 회로는 부가적인 단일 사이클 억제 기능을 제공하는 회로를 포함한다. 상기 능동 클록 에지 스위치 회로는 한 사이클내에서 클록 출력 (들)을 제 1 에지로 부터 제 2 에지로 스위칭하는 사이클 억제 회로를 포함하며 복수개의 입력 및 하나의 출력 및 하나의 스트로브 입력을 지닌 멀티플렉서를 포함하는 것이 바람직하다. 상기 복수개의 입력은 클록 입력 및 반전 클록 입력을 수신하도록 상기 클록 조정 회로에 연결되어 있다. 상기 스트로브 입력은 선택 클록 입력에 연결되어 있다. 상기 출력은 송/수신기에 연결되어 있다.

Description

네트웍 인터페이스 제어기
1077 O.G. 22 (3/20/87) 에 의거한 저작권의 국부적 포기
( C ) 저작권, 내쇼날 세미컨덕터 코포레이션 1993. 본 특허 출원의 모든 자료는 미합중국 및 다른 나라의 저작권법하에서 저작권 보호를 받는다. 본원의 최초 실효 출원일자 현재, 이러한 자료는 공개되지 않은 자료로서 보호 받는다.
본원의 명세서 및 도면에 있는 자료일부는 또한 미합중국 및 다른 나라의 집적회로 배치 설계 ( maskwork ) 등록법하에서 보호 받는다.
그러나, 이러한 자료의 복사에 대한 허가는 이 서면에 의하여, 상기 자료가 미합중국 특허청 서류나 문서로 실릴때, 저작권 및 집적 회로 배치 설계권의 소유자가 특허 문서나 특허 명세서의 어느 누구에 의한 팩시밀리 복제에 대한 어떠한 이의도 갖지 않지만, 그러하지 않을 경우 무엇이든 모든 저작권 및 집적회로 배치 설계권을 유보하는 범위로 부여된다.
관련 출원에 대한 전후 참조
본 출원에는 이하 공동양도된 특허 및 특허 출원이 참고로 기재되어 있다.
발명의 분야
본 발명은 일반적으로 기술하면 네트웍 인터페이스 제어기 시스템 및 방법에 관한 것이며, 보다 구체적으로 기술하면, 그러나 한정되는 것은 아니지만, 단일 사이클 억제기능을 갖는 능동 클록 에지 스위치에 관한 것이다.
발명의 개요
본 발명은 일반적으로는 개선된 네트웍 인터페이스 제어기 시스템을 제공하는 것이고, 보다 구체적으로는 향상된 매체 제어기 시스템을 개시하고 있다. 상기 향상된 매체 액세스 제어기 시스템은 적어도 하나의 입력, 적어도 하나의 출력, 적어도 하나의 클록 입력 및 적어도 하나의 클록 출력을 갖는 클록 조정 회로, 및 순환 여유 검사 회로, 수신 회로 및 송신 회로를 포함한다. 상기 클록 조정 회로는클록 출력 (들) 을 제 1 에지로 부터 제 2 에지로 스위칭하여 상기 출력 (들) 상의 데이타 변화가 중간 비트 시간 위치에 대략적으로 집중되게 하는 능동 클록 에지 스위치 회로를 포함한다. 상기 순환 여유 검사 회로는 상기 클록 조정 회로로 부터 클록 출력 (들) 을 수신한다. 상기 수신 회로는 상기 입력 (들) 으로 부터 적어도 하나의 데이타 입력 신호를 수신한다. 상기 수신 회로는 상기 순환 여유 검사 회로에 및 상기 클록 조정 회로에 연결되어 있다. 상기 수신 회로는 에러를 찾기 위해 상기 데이타 입력 신호 (들) 를 검사하도록 상기 순환 여유 검사 회로와 연관하여 작동한다. 상기 송신 회로는 상기 출력 (들) 상에 적어도 하나의 데이타 출력 신호를 송신한다. 상기 송신 회로는 상기 순환 여유 검사 회로에 및 상기 클록 조정 회로에 연결되어 있으며 에러를 찾기 위해 상기 데이타 출력 신호 (들) 를 검사하도록 상기 순환 여유 검사 회로와 연관하여 작동한다. 상기 제 1 에지는 상승 구간이며 제 2 에지는 하강 구간인 것이 바람직하지만, 이는 설계 변경에 영향을 받는다. 상기 능동 클록 에지 스위치 회로는 부가적인 단일 사이클 억제 기능을 제공하는 회로를 포함한다. 그 이외에도, 상기 매체 액세스 제어기는 상기 데이타 출력 신호 (들) 및 상기 데이타 입력 신호 (들) 에서 발견된 에러를 도표작성 ( tabulate ) 하는 탤리 ( tally ) 회로를 부가적으로 포함한다. 상기 능동 클록 에지 스위치 회로는 한 사이클내에서 제 1 에지로부터 제 2 에지로 상기 클록 출력 (들) 을 스위칭하는 사이클 억제 회로를 포함하며 복수개의 입력 및 하나의 출력, 및 하나의 스트로브 입력을 지닌 멀티플렉서를 포함하는 것이 바람직스럽다. 복수개의 입력은 클록 입력 및 반전 클록 입력을 수신하도록 상기 클록 조정 회로에 연결되어 있다.상기 스트로브 입력은 선택 클록 입력에 연결되어 있다. 상기 출력은 송/수신기에 연결되어 있다. 보다 구체적으로 기술하면, 상기 사이클 억제 회로는 OR게이트, 제 1 AND 게이트, 제 1 플립플롭, 제 2 플립플롭, 인버터, 및 제 2 AND 게이트를 포함한다. 상기 OR 게이트는 제 1 및 제 2 입력 및 하나의 출력을 지니며, OR게이트의 제 2 입력은 스위치 입력에 연결되어 있다. 상기 제 1 AND 게이트는 제 1 및 제 2 입력 및 하나의 출력을 지닌다. 상기 제 1 AND 게이트의 제 1 입력은 리세트 입력에 전기적으로 연결되어 있다. 상기 제 1 플립플롭은 입력, 출력, 반전된 출력, 클리어 ( clear ) 입력, 및 클록 입력을 지닌다. 상기 제 1 플립플롭의 입력은 상기 OR 게이트의 출력에 연결되어 있다. 상기 제 1 플립플롭의 출력은 상기 OR 게이트의 제 1 입력에 연결되어 있다. 상기 제 1 플립플롭의 클록 입력은 제 1 클록 입력에 연결되어 있으며, 상기 제 1 플립플롭의 클리어 입력은 상기 제 1 AND 게이트의 출력에 연결되어 있다. 상기 제 2 플립플롭은 입력, 출력, 반전된 출력, 클리어 입력, 및 클록 입력을 지닌다. 상기 클록 입력은 ( 인버터를 거쳐 ) 지연된 제 2 클록 입력에 연결되어 있다. 상기 제 2 플립플롭의 반전된 출력은 제 1 AND게이트의 제 2 입력에 연결되어 있다. 상기 제 2 플립플롭의 클리어 신호는 리세트 입력에 연결되어 있다. 상기 입력은 상기 인버터의 입력에 연결되어 있다. 상기 인버터는 입력 및 출력을 지닌다. 상기 제 2 AND 게이트는 제 1 및 제 2 입력 및 하나의 출력을 지닌다. 상기 제 1 입력은 상기 멀티플렉서의 출력에 접속되어 있다. 상기 제 2 입력은 상기 인버터의 출력에 연결되어 있다. 상기 인버터의 입력은 상기 제 1 플립플롭의 출력에 및 상기 제 2 플립플롭의 입력에 연결되어 있다. 그 이외에도,지연 라인은 또한 상기 제 1 플립플롭의 출력 및 상기 인버터의 입력 사이에도 연결될 수 있다. 상기 매체 액세스 제어기, 상기 클록 조정 회로, 및 상기 능동 클록 에지 스위치는 단일 반도체 기판 ( 예컨대, 실리콘 ) 상에 집적되어 있는 것이 바람직한 집적 회로이다.
바람직한 시스템 실시예는 여러 특징 및 이점을 지닌다. 상기 시스템은 IEEE: 802.3 CSMA/CD 표준과 양립가능하며 유효 8/16비트 인터페이스를 지닌다. 이는 또한 DP 8390 D 와 양립가능한 몇가지 기능을 이행하는 소프트웨어를 지닌다. 상기 개시된 방법 및 시스템은 DMA 동작에 대한 상당히 감소된 클록 사이클, 4.5 V SLOW 당 40 MHz 버스 클록, 2.7 V SLOW 당 20 MHz 버스 클록 및 2.7 V - 5.5 V 동작 범위를 지닌 향상된 시스템 성능을 제공한다. 그 이외에도, 상기 시스템은 수신된 패킷 ( packet ) 의 종료시 결정성 버스트 시간, FIFO 공백/충전 모드, 시스템 구성에서의 최대 유용성을 허용하는 프로그램 가능한 메로리 대기 ( wait ) 상태, 향상된 모드에 대한 액세스를 허용하도록 레지스트 파일에 부가된 양립 가능성 모드 선택 레지스트 및 수신된 패킷 ( packet ) 의 종료시 결정성 버스트 시간을 갖는 향상된 동작 모드를 제공한다. 더우기, 상기 시스템은 부가적인 주문 제작 특징을 제공한다. 특히, 상기 시스템은 합성가능한 베리로그 ( Verilog ) HDL 에서 구현될 수 있으며 NSC 베리로그 코딩 표준과 양립가능하다. 상기 개시된 시스템 및 방법은 시놉시스 ( Syopsys ) 설계 컴파일러 V 3.0 과 양립가능하다. 클록 트리 및 구동 버퍼링에 대한 셀의 실례는 또한 용이한 셀의 대체를 위해 개별적인 계층 블록으로 분리된다. 동기 방식인 단일 클록 상태 기계 설계 방식은 미래의 주문 제작을 향상시킨다.
부가적인 특징 및 이점은 첨부된 도면에 예시된 바와같이, 본 발명의 여러 실시예에 대한 이하 및 보다 상세한 설명으로 부터 자명해질 것이다.
제 1A 도는 향상된 네트웍 인터페이스 제어기 표준 셀 고어의 전반적인 시스템의 바람직한 실시예에 대한 블록 다이어그램이다.
제 1B 도는 매체 액세스 제어기 ( MAC ) 의 바람직한 실시예에 대한 블록 다이어그램이다.
제 1C 도는 단일 사이클 억제 기능을 갖는 능동 클록 에지 스위치에 대한 회로 다이어그램이다.
제 1D 도는 제 1C 도에 도시된 회로의 타이밍 다이어그램이다.
제 2 도는 이들 정보 패킷의 전형적인 포맷을 도시한 도면이다.
제 3 도는 국부 DMA 모듈 8 ( 제 1A도 ) 및 원격 DMA 모듈 20 ( 제 1A도 ) 의 바람직한 구성에 대한 블록 다이어그램이다.
제 4A 도는 바람직한 시스템 실시예에 대한 수신 버퍼링이다.
제 4B 도는 바람직한 시스템 실시예에 대한 초기 설정시의 수신 버퍼링이다.
제 4C 도는 버퍼링에 입력된 수신 패킷을 보여주는 다이어그램이다.
제 4D 도는 수신 버퍼 페이지의 연결을 보여주는 다이어그램이다.
제 4E 도는 경계 포인터와 대응될 경우 수신 패킷의 중단을 보여주는 다이어그램이다.
제 4F 도는 수신 패킷 - 허용 패킷의 종단을 보여주는 다이어그램이다.
제 4G 도는 수신 패킷 - 제거 패킷의 종단을 보여주는 다이어그램이다.
제 4H 도는 원격 DMA 에 의해 제거된 제 1 수신 패킷을 보여주는 다이어그램이다.
제 5 도는 범용 송신 패킷 포맷을 보여주는 다이어그램이다.
제 6A 도는 8390 D 양립가능 모드에 따른 패킷 처리의 종료를 보여주는 타이밍 타이어그램이다.
제 6B 도는 정확한 버스트 모드의 패킷 처리종료를 보여주는 타이밍 다이어그램이다.
제 6C 도는 송신 예비인출 타이밍에 대한 타이밍 다어그램이다.
제 6D 도는 버퍼링으로 부터의 원격 DMA 자동 초기 설정을 예시하는 다이어그램이다.
제 7A 도는 레지스터 어드레스 매핑을 보여주는 도면이다.
제 7B 도는 DMA 레지스터를 보여주는 도면이다.
제 7C 도는 CRC 로직에 의해 해싱 ( hashing ) 된 멀티 캐스는 ( multicast ) 어드레스의 필터링을 제공하는 멀티 캐스트 어드레스 레지스터의 동작을 보여주는 다이어그램이다.
제 9A 도는 국부 DMA 사이클, 16 - 비트 어드레스, 0 대기 상태를 보여주는 타이밍 다이어그램이다.
제 9B 도는 FIFO 버스트 제어를 보여주는 타이밍 다어그램이다.
제 9C 도는 AB_MUX_H, AD_MUX_L 파형을 보여주는 타이밍 다이어그램이다.
제 9D 도는 원격 DMA 전송에 대한 버스 핸드세이크 신호를 보여주는 타이밍 다이어그램이다.
제 9E 도는 원격 DMA 판독 사이클을 보여주는 타이밍 타이어그램이다.
제 9F 도는 원격 DMA 기록 사이클을 보여주는 타이밍 타이어그램이다.
제 9G 도는 슬레이브 ( slave ) 모드 타이밍을 보여주는 타이밍 다이어그램이다.
제 10 도는 레지스터 판독 동작을 보여주는 타이밍 다이어그램이다.
제 11 도는 레지스터 기록 동작을 보여주는 타이밍 타이어그램이다.
제 12 도는 국부 DMA 판독 사이클 동작을 보여주는 타이밍 다이어그램이다.
제 l3 도는 국부 DMA 기록 사이클을 보여주는 타이밍 타이어그램이다.
제 14A 도는 호스트( host ) 기록 사이클 회복 시간을 보여주는 타이밍 다이어그램이다.
제 14B 도는 호스트 판독 사이클 회복 시간을 보여주는 타이밍 다이어그램이다.
제 l5 도는 원격 DMA 동작 ( 판독, 전송 커맨드 ) 을 보여주는 타이밍 다이어그램이다.
제 16 도는 원격 DMA ( 기록 사이클 ) 동작을 보여주는 타이밍 다이어그램이다.
제 17 도는 대기 상태 삽입 동작을 보여주는 타이밍 다이어그램이다.
제 18A 도는 직렬 타이밍 수신 ( 프레임의 개시 ) 을 보여주는 타이밍 다이어그램이다.
제 18B 도는 직렬 타이밍 다이어그램 .. 수신 ( 프레임의 종료 ) 이다.
제 19A 도는 직렬 타이밍 다이어그램 .. 송신 ( 프레임의 개시 ) 이다.
제 19B 도는 직렬 타이밍 타이어그램 .. 송신 ( 프레임의 종료, CD 하트비트 ( heartbeat ) ) 이다.
바람직한 실시예에 대한 상세한 설명
제 1A 도는 향상된 네트웍 인터페이스 제어기 표준셀의 전반적인 시스템의 바람직한 실시예에 대한 블록 다이어그램이다. 이는 DP 8390 D 네트웍 인터페이스 제어기와 양립가능한 소프트웨어 및 네트웍이도록 설계된 CMOS 표준 셀 기능코어인 것이 바람직스럽다. 상기 DP 8390 D 네트웍 인터페이스 제어기는 개인용 컴퓨터에서의 이더넷 ( Ethernet ) 접속 상태를 위한 공업 표준이 되었다. 상기 DP 8390 D 와 양립가능한 소프트웨어이도록 상기 향상된 네트웍 제어기를 설계하는 데에는 소프트웨어 단가에 추가되는 막대한 대가를 치룬다.
바람직한 실시예는 이더넷 국부지역 네트웍에 대한 IEEE 802.3 CSMA/CD 표준에 따른 정보 패킷의 송수신을 위한 모든 매체 액세스 제어 ( media access control ; MAC ) 층 기능을 구현한다. 일반적으로, 동기 장치 모듈 4 는 MAC 모듈 2 로 부터의 Mac_rd_z 및 Mac_wr_z 입력 라인, FIFO 모듈 6 으로 부터의 Tx/Rx 데이타 라인 및 MAC 모듈 2 로 부터의 MAC 상태 라인을 지닌다. 동기 장치 모듈 4 는 또한 BRQ, Back, PRQ, ACK_Z 출력라인 및 REABY_Z 및 Rack_Z, 및 Wack_z 입력 라인을 지닌다. MAC 2 는 COL, RXC, RXD, CRS, TXC, 및 Backoff_Clock 입력 및 TXE, TXD, 및 LBK 출력을 지닌다. 동기 장치 모듈 4 는 MAC_rd_Z_sync 및 MAC_wr_Z_syn 라인과 아울러 Tx/Rx 데이타 라인을 거쳐 FIFO 모듈 6 에 연결되어 있다. 다른 접속은 제 1A 도에 도시되어 있다. local_dma 모듈 8 은 단일의 L_dma_rd_Z, L_dma_wr_Z 라인을 거쳐 FIFO 모듈 6 에 연결되어 있다. local_dma 모듈 8 은 또한 L_bus_cycle_reguest 라인을 거쳐 버스 사이클 발생기 모듈 16 에 연결되어 있다. local_dma 모듈 8 은 Clda, Tbcr, Ac, Bc 라인을 거쳐 어드레스 카운터 모듈 12 에 연결되어 있으며 호스트 모듈 10 에 및 동기장치 모듈 4 에 연결되어 있다. local_dma 모듈 8 은 또한 호스트 모듈 10으로 부터의 H_req 입력 및 LOCAL_DMA_STATE_OUT 및 L_DMA_ACTIVE_OUT 출력을 지닌다. 호스트 모듈 10 은 Cs_Z, SRD_Z, SWR_Z 출력, TEST_Register 출력, 및 Page_Zero 출력 및 INT 출력을 지닌다. 동기 장치 모듈 4 는 remote_dma 모듈 (20) 에 연결되어 있다. remote_dma 모듈 8 은 4-비트 출력 R_DMA_State_Out 를 지니며 local_dma_모듈 8 및 동기 장치 모듈 4 에 연결되어 있다. DMA_cells 모듈 14 는 Reset_Z 및 BSCK 입력 및 내부 리세트 및 내부 클록 트리 ( tree ) 출력을 지닌다. 버스 사이클 발생기 모듈 16 은 ADSO, ADSO_EN, MRB_Z, MWR_Z, PRD_Z, PWR_Z, AD_MUX_H/L 출력 및 DATA_H/L_EN_OUT 및 3-비트 BUS_Cycle State_Out 출력을 지닌다. 동기 장치 모듈 4, fifo 모듈 6, local_dma 모듈 8, 호스트 모듈 10, remote_dma 모듈 20 은 상태 버스 (28) 에 연결되어 있다. MAC 모듈 2, FIFO 모듈 6, local_dma 모듈 8, 호스트 모듈 10,remote_dma 모듈 20 은 Ra_lat, cr_ps1/0, H_rd_Z, H_wr_Z 라인용 8-비트 버스(24) 및 data_t 용 16-비트 버스(26)에 연결되어 있다. 제 1A 도에 도시된 모듈의 중요한 동작 특징 및 특성은 해당 텍스트에서 보다 상세하게 기술될 것이다. 다른 중요한 세부는 제 1A 도 자체에 도시되어 있다. 그 이외에도, 이하의 표는 제 1A 도 에서의 여러 접속을 기술하는데 사용된 약어를 정의한것인데, 이는 당업자라면 제 1A 도에 도시된 바람직한 시스템 실시예를 충분히 이해할 수 있을 것이다. 제 1A 도및 제 1B 도에서 사용된 라벨 ( label ) 은 표 1 에서 정의된다.
표 1
제 1B 도는 제 1A 도의 MAC 모듈 2 의 바람직한 실시예에 대한 블록 다이어그램이며, 이는 이하 텍스트 및 추가 도면으로 보다 상세하게 설명될 것이다. 특히, 제 1C 도는 단일 사이클 억제 기능을 갖는 능동 클록 에지 스위치 회로 (120) 에 대한 회로 다이어그램이며 제 1D 도는 제 1C 도에 도시된 회로에 대한 타이밍 다이어그램인데, 이는 돌발사고 ( glitch ) 가 없는 동작 및 단일 사이클 억제 특징을 예시한 것이다. 상기 향상된 매체 액세스 제어기 시스템 2는 적어도 하나의 입력, 적어도 하나의 출력, 제 1B 도의 클록 모듈 3 에 배치되어 있으며 적어도 하나의 클록 입력 및 적어도 하나의 클록 출력을 갖는 클록 조정 회로 (120), 및 순환 여유 검사 회로, 수신 회로 및 송신 회로를 포함한다. 상기 클록 조정 회로 (120) 는 제 1 에지로부터 제 2 에지로 클록 출력 (들) 을 스위칭하여 상기 출력 (들) 상의 데이타 변화가 중간 비트 시간 위치에 대략적으로 집중되게 하는 능동 클록 에지 스위치 회로 (120) 를 포함한다. 상기 순환 여유 검사 회로 (5) (제 1B 도 ) 는 상기 클록 조정 회로 (120) 로 부터 클록 출력 (들) 을 수신한다. 상기 수신 회로 (7) (제 1B 도 ) 는 상기 입력 (들) 으로 부터 적어도 하나의 데이타 입력 신호를 수신한다. 상기 수신 회로 (7) 는 상기 순환 여유 검사 회로에 및 상기 클록 조정 회로 (120) 에 연결되어 있다. 상기 수신 회로 (7) 는 에러를 찾기 위해 데이타 입력 신호 (들) 를 검사하도록 순환 여유 검사 회로 (5) ( 제 1B 도 ) 와 관련하여 작동한다. 상기 송신 회로는 상기 출력 (들) 상에 적어도 하나의 데이타 출력 신호를 송신한다. 상기 송신 회로 (9) ( 제 1B 도 ) 는 상기 순환 여유 검사 회로 (5) 에 및 상기 클록 조정 회로에 연결되어 있으며 에러를 찾기 위해 상기 데이타 출력 신호 (들) 를 검사하도록 상기 순환 여유 검사 회로 (5) 와 연관하여 작동한다. 상기 제 1 에지는 상승 구간이며 상기 제 2 에지는 하강 구간인 것이 바람직하지만, 이는 설계 변경에 영향을 받는다. 상기 능동 클록 에지 스위치 회로 (120) 는 추가적인 단일 사이클 억제 기능을 제공한다. 그 이외에도, 상기 매체 액세스 제어기는 상기 데이타 입력 신호 (들) 및 상기 데이타 출력 신호 (들) 에서 발견된에러를 도표 작성하는 탤리 회로를 부가적으로 포함한다. 상기 능동 클록 에지 스위치 회로 (120) 는 한 사이클내에서 제 1 에지로 부터 제 2 에지로 클록 출력 (들) 을 스위칭하는 사이클 억제 회로를 포함하고 복수개의 입력 및 하나의 출력, 하나의 스트로브 입력을 갖는 멀티플렉서 (102) 를 포함하는 것이 바람직스럽다. 상기 복수개의 입력은 클록 입력 및 반전된 클록 입력 (100) 을 수신하도록 상기 클록 조정 회로 (120) 에 연결되어 있다. 상기 스트로브 입력은 선택 클록 입력에 연결되어 있다. 상기 출력은 상기 송/수신기에 연결되어 있다. 보다 구체적으로 기술하면, 상기 사이클 억제 회로 (101) 는 OR 게이트 (116), 제1 AND 게이트 (114), 제 1 플립플롭 (110), 제 2 플립플롭 (108), 인버터 (106), 및 제 2 AND 게이트 (104) 를 포함한다. 모든 플립플롭은 D - 형인 것이 바람직하며, 양 (+) 의 에지는 비동기 활성 로우 클리어 입력으로 트리거된다. 상기 OR 게이트 (116) 는 제 1 및 제 2 입력 ( A, B ) 및 출력 ( Y ) 을 지니며, OR 게이트 (116) 의 제 2 입력은 스위치 입력에 연결되어 있다. 상기 제 1 AND 게이트 (114) 의 제 1 입력 ( A ) 은 리세트 입력에 전기적으로 연결되어 있다. 상기 제 1 플립플롭 (110) 은 입력 ( D ), 출력 ( Q ), 반전된 출력 ( QZ ), 클리어 입력 ( CLRZ ), 및 클록입력 ( CLK ) 을 지닌다. 상기 제 1 플립플롭 (110) 의 입력은 상기 OR 게이트 (116) 의 출력에 연결되어 있다. 상기 제 1 플립플롭 (110)의 출력은 상기 OR 게이트 (116) 의 제 1 입력에 연결되어 있다. 상기 제 1 플립플롭 (110) 의 클록 입력은 제 1 클록 입력에 연결되어 있으며, 상기 제 1 플립플롭의 클리어 입력은 상기 제 1 AND 게이트 (114) 의 출력에 연결되어 있다. 상기 제 2 플립플롭 (108) 은 입력, 출력, 반전된출력, 클리어 입력, 및 클록 입력을 지닌다. 상기 클록 입력은 지연 ( 인버터 (112, 118) 를 거쳐 ) 되는 제 2 클록 입력에 연결되어 있다. 상기 제 2 플립플롭 (108) 의 반전된 출력은 제 1 AND 게이트 (114) 의 제 2 입력에 연결되어 있다. 상기 제 2 플립플롭 (108) 의 클리어 신호는 리세트 입력에 연결되어 있다. 상기 입력은 인버터 (106) 와 입력에 연결되어 있다. 상기 제 2 AND 게이트 (104) 는 제 1 및 제 2 입력 ( A, B ) 및 하나의 출력 ( Y ) 를 지닌다. 상기 제 1 입력은 상기 멀티플렉서 (102) 의 출력에 접속되어 있다. 상기 제 2 입력은 상기 인버터 (106) 의 출력에 연결되어 있다. 상기 인버터 (106) 의 입력은 상기 제 1 플립플롭 (110) 의 출력에 및 상기 제 2 플립플롭 (108) 의 입력에 연결되어 있다. 그 이외에도, 지연 라인 (107) 은 또한 상기 제 1 플립플롭 (110) 의 출력 및 상기 인버터 (106) 의 입력사이에 연결될 수 있다. 상기 지연라인 (107) ( 1D 셀 ) 은 TXC 와 txc_z 사이의 스큐 ( skew ) 위험 지대 ( > 5ns ) 로 부터 돌발사고 사멸 ( glitch_kill ) 플립플롭의 출력을 이동시키는데 사용되는 제어 지연 버퍼를 나타낸다. 상기 매체 액세스 제어기 (2), 상기 클록 조정 회로 (120), 및 상기 능동 클록 에지 스위치 회로 (120) 는 단일 실리콘 부분상에 집적되어 있는 것이 바람직한 집적회로이다.
송/수신 패킷 캡슐 봉입/캡슐 분리
제 2A 도는 일반적으로 프리앰블 ( preamble ; 21 ), 프레임 구분 문자 개시 ( start of Frame Delimiter ; SFD ; 23 ), 종착 어드레스 (25), 소스 어드레스 (27), 길이 (29), 데이타 (31), 및 프레임 검사 시퀀스 ( Frame Check Sequence ;FCS ; 33 ) 와 같은 필드로 구성되어 있는 정보의 표준 IEEE 802.2 패킷의 전형적인 포맷을 도시한 것이다. 상기 패킷은 외부 endec 에 의해 맨체스터 ( Manchester )'엔코딩 및 데코딩되어 한 클록으로 NRZ 데이타를 사용하는 바람직한 시스템 실시예에 직렬로 전송된다. 모든 필드는 데이타 필드 (31) 를 제외하고는 길이로 고정되는 것이 바람직스럽다. 바람직한 시스템 실시예는 송신시 프리앰블 (21), SFD (23), 및 FCS (33) 필드를 발생 및 부가시킨다. 상기 프리앰블 및 SFD 필드 (21, 23) 는 수신시 스트립 ( strip ) 된다 ( CRC는 수신시 버퍼 메모리로 통과된다 ).
프리앰블 (21) 및 프레임 구분 문자 개시 (23)
맨체스터 엔코딩된 교번 1, 0 프리앰블 필드는 외부 직렬 네트웍 인터페이스 ( SNI ) 에 의해 착신 패킷과의 비트 동기를 포착하는 데 사용된다. 송신시, 각각의 패킷은 62 비트의 교번 1, 0 프리앰블을 포함한다. 이러한 프리앰블 (21) 중 몇몇은 상기 패킷이 상기 네트웍을 통해 이동함에 따라 소실된다. 바람직한 시스템 실시예는 상기 프리앰블 필드를 스트립한다. 바이트 정렬은 2개의 연속하는 1 로 이루어져 있는 SFD 패턴으로 이행된다. 제 1A도에 도시된 것과 같은 바람직한 시스템 실시예는 SFD (23)패턴을 한 바이트로서 취급하지 않고, 2비트 패턴만을 검출한다. 이는 SFD (23) 내의 어떤 이전의 프리앰블 (21) 이 위상 동기용으로 사용되는 것을 허용한다.
종착 어드레스 (25)
종착 어드레스(25)는 상기 네트웍상에서의 패킷의 종착을 나타내며 노드의 도달로 부터 원하지 않는 패킷을 필터링하는 데 사용된다. 상기 바람직한 시스템실시예에 의해 지원되는 3 가지 형태의 어드레스 포맷, 물리적, 멀티캐스트 ( multicast ), 및 브로드캐스트( broadcast ) 와 같은 어드레스 포맷이 있다. 상기 물리적 어드레스는 단일 노드에만 해당하는 단일 어드레스이다. 모든 물리적 어드레스는 " 0 " 인 LSB 를 지닌다. 이들 어드레스는 내부저장된 물리적 어드레스 레지스터에 비유된다. 상기 종착 어드레스내의 각각의 비트는 바람직한 시스템 실시예가 상기 패킷을 채택하도록 정합되어야 한다. 멀티캐스트 어드레스는 " 1 " 인 LBS 를 지니는 것으로 부터 개시된다. 바람직한 시스템 실시예는 모든 멀티캐스트 어드레스를 6 - 비트 값으로 매핑 ( mapping ) 하는 표준 해싱 알고리즘을 사용하여 멀티캐스트 어드레스를 필터링한다. 이러한 6 - 비트 값은 그러한 값을 필터링하는 64 - 비트 어레이를 색인 ( index ) 한다. 상기 어드레스가 모두 1 로 구성되어 있는 경우, 상기 어드레스는 패킷이 모든 노드용으로 의도되어 있다는 것을 나타내는 브로드캐스트 어드레스이다. 무차별 ( promiscuous ) 모드는 모든 정보 패킷의 수신을 허용한다. 그러나, 종착 어드레스는 어떠한 필터와 정합할 필요가 없다. 물리적, 브로드캐스트, 멀티캐스트, 및 무차별 어드레스 모드는 선택될 수 있다.
소스 어드레스 (27)
소스 어드레스 (27) 는 바람직한 시스템 실시예에 의한 처리없이 패킷을 전송하는 노드의 물리적 어드레스이다. 이러한 필드는 버퍼메모리로 통과되는 것이 전형적이다.
길이 필드 (29)
2 - 바이트 길이 필드 (29) 는 패킷의 데이타 필드에 포함되어 있는 바이트의 갯수를 나타낸다. 이러한 필드는 바람직한 시스템 실시예에 의해 해석 ( interpret ) 되지 않는다.
데이타 필드 (31)
데이타 필드 (31) 는 46 에서 1500 까지의 바이트 중 어느 바이트로도 구성된다. 1500 바이트보다 긴 메시지는 다중 패킷으로 분할될 필요가 있다. 46 바이트보다 짧은 메시지는 상기 데이타 필드를 46 바이트의 최소 길이로 초래시키는 패드 ( pad ) 를 부가시킬 필요가 있다. 상기 데이타 필드가 패딩 ( padding ) 되는 경우, 유효 데이타 바이트와 갯수는 길이로 표시된다. 바람직한 시스템 실시예는 짧은 패킷에 대해 패드 바이트를 스트립 또는 부가시키지 않거나, 너무 긴 패킷에 대해 검사하지 않는다.
프레임 검사 시퀀스 필드 (33)
FCS (33) 는 패킷이 수신되는 경우 에러의 검출을 허용하도록 송신시 패킷에 대해 계산 및 부가되는 32 - 비트 CRC 필드이다. 수신시, 에러가 없는 패킷은 CRC 발생기에서의 특정 패턴을 초래시킨다. 부적합한 CRC를 지닌 패킷은 제거된다. AUTODIN II ( X32+ X26+ X23X22+ X16+ X12+ X11+ X10+ X8+ X7+ X5+ X4+ X2+ X1+ 1 ) 다항식은 CRC 계산용으로 사용된다. 직접 호스트 액세스는 초기설정 및 상태 수집용으로 지원되고, 이중 DMA 채널 구성은 국부 메모리에 대한 수신된 패킷의 효과적인 저장을 허용한다. 바람직한 시스템 실시예는 구조적 변경 및 버스 클록 속도개선을 통해 본래의 NIC 보다 상당한 성능 향상을 제공한다. 바람직한 시스템 실시예는 또한 다기능 VLSI 디바이스상의 추가적인 코어 기능을 합체시키며 최소 위험으로 단시간에 특정 고객 요건을 만족시키도록 주문 제작된다.
직접 메모리 액세스 제어
바람직한 시스템 실시예와 DMA 성능은 여러 시스템 구성에서의 바람직한 시스템 실시예의 사용을 대단히 단순화시킨다. 국부 DMA 모듈 8 (제 1A 도 ) 은 FIFO 모듈 6 ( 제 1A도 ) 및 메모리 ( 이는 일반적으로 동일 실리콘 부분상에 있지 않음 ) 사이로 데이타를 채널 전송한다. 송신시, 제 2 도에 도시된 것과같은 패킷은 버스트 ( burst ) 에서의 메모리로부터 FIFO 모듈 6 까지의 DMA'd 이다. 충돌이 생기는 경우( 15번 이하 ), 패킷은 어떠한 프로세서 개입없이 재송신된다. 수신시, 패킷은 FIFO 모듈 6 으로 부터 국부 DMA 모듈 8 을 통해, 하기에 보다 상세하게 설명될 수신 버퍼링으로 전송된다.
원격 DMA 채널은 버퍼 메모리와 시스템 메모리 사이의 전송을 달성하도록 바람직한 시스템 실시예상의 제공된다. DP 8390 의 32 - 비트 DMA 기능은 바람직스럽게 구현되지 않는다는 점에 유념하기 바란다.
이중 DMA 구성
제 3 도는 국부 DMA 모듈 8 ( 제 1A 도 ) 및 원격 DMA 모듈 20 ( 제 1A 도 ) 의 바람직한 구현에 대한 블록 다이어그램이다. 이러한 바람직한 구성은 국부 DMA 모듈 8 ( 제 1A 도 ) 및 원격 DMA 모듈 (20) ( 제 1A 도 ) 에 의해 제공된 채널들을 사용한다. 네트웍 작업은 국부 버스 (44) 상에서 분리되는데, 이 경우 바람직한시스템 실시예의 국부 DMA 채널은 제 1A 도에 도시된 FIFO 모듈 6 및 버퍼 메모리 (32) 사이의 버스트 전송을 이행한다. 원격 DMA 모듈 (20) 은 양방향성 I/O 포트를 거쳐 호스트 메모리와 버퍼 메모리 (32) 사이로 데이타를 전송한다. 원격 DMA 모듈 (20) 은 국부 어드레싱 성능을 제공하며 호스트 모듈 10 에 의해 슬레이브 DMA 로서 사용된다. 호스트측 어드레싱은 호스트 DMA 또는 CPU 에 의해 제공되어야 한다. 호스트 DMA 또는 CPU 명령문은 호스트측 어드레싱이 외부 ( 네트웍 인터페이스 제어기 ( NIC ) 에 대한 ) 소스에 의해 이행되어야 한다. 바람직한 시스템 실시예는 국부 및 원격 DMA 모듈 8 및 20 의 동작이 인터리브 ( interlesve ) 되는 것을 허용한다.
패키지 수신
제 4A 도, 제 4B 도, 제 4C 도, 제 4D 도, 제 4E 도, 제 4F 도, 제 4G 도, 제 4H 도, 및 제 4I 도에 도시된 바와같이, 국부 DMA 모듈 8 의 수신 채널은 수신된 패킷의 저장을 위해 일련의 인접한 고정 길이 256 바이트 ( 128 워드 ) 로 구성된 버퍼링 구조를 사용한다. 수신 버퍼링의 위치는 페이지 개시 레지스터 (50) 및 페이지 정지 레지스터 (52) ( 제 4B 도 ) 와 같은 2 개의 레지스터로 프로그램된다. 이더넷 패킷은 일반적으로 보다 짧은 연결 제어 패킷 및 보다 긴 데이타 패킷의 분배로 이루어져 있다. 256 바이트 버퍼 길이는 메모리의 가장 효과적인 사용을 제공하도록 보다 짧은 패킷 및 보다 긴 패킷사이의 양호한 절충을 제공한다. 그 이외에도, 이들 버퍼는 로딩된 네트웍에서의 배향 ( back - to - back ) 패킷의 저장을 위한 메모리 자원을 제공한다. 패킷의 저장을 위한 버퍼의 할당은 바람직한 시스템 실시예에서의 버퍼 관리 로직에 의해 제어된다. 버퍼 관리 로직은 긴 패킷에 대한 수신 버퍼의 연결, 패킷이 제거되는 경우 버퍼의 회복, 및 호스트 모듈 10 에 의해 판독되어진 버퍼 페이지의 재순환과 같은 3 가지 기본적 기능을 제공한다.
제 4A 도 및 제 4B 도에 도시된 바와같이, 초기설정시, 64k 바이트 ( 또는 32k 워드 ) 어드레스 공간의 일부는 수신 버퍼링에 대해 예약된다. 2 개의 8 비트 레지스터, 페이지 개시 어드레스 레지스터 ( PSTART ) (52) 및 페이지 정지 어드레스 레지스터 ( PSTOP ) (50) 는 버퍼가 상주하는 부분의 물리적 경계를 한정한다. 바람직한 시스템 실시예는 버퍼의 리스트론 논리 링으로서 취급하며, DMA 어드레스가 페이지 정지 어드레스 (53) 에 도달될 때마다, DMA 는 페이지 개시 어드레스 (51) 로 리세트된다. 페이지 개시 (51) 는 페이지 정지 (53)와 동일하게 설정되어서는 안되는데, 그 이유는 이러한 것이 제 1 수신 패킷상의 링 버퍼 오버플로우를 야기시키기 때문이라는 점에 유념하기 바란다.
버퍼링의 초기 설정
제 4B 도에 도시된 바와같이, 2 개의 정적 ( static ) 레지스터 및 2 개의 동적 ( working ) 레지스터는 버퍼링 (58) 의 동작을 제어한다. 이들은 페이지 개시 레지스터 (52) (앞서 설명된 바와같음), 페이지 정지 레지스터 (50) (앞서 설명된 바와 같음 ), 현재 페이지 레지스터 (54) 및 경계 포인터 레지스터 (56) 이다. 현재 페이지 레지스터 (54) 는 패킷을 저장하는 데 사용되는 제 1 버퍼를 지적하고 Runt 패킷, 또는 CRC 나 프레임 정렬 에러의 경우 DMA 어드레스를 재저장하거나 버퍼링 (58) 에 대한 상태를 기록하도록 국부 DMA 모듈 8 을 재저장하는 데 사용된다. Runt 패킷은 필요한 46 데이타 바이트보다 적은 데이타 바이트를 포함하는 패킷으로서 한정된다. 경계 포인터 레지스터 (56)는 호스트에 의해 아직도 판독되지 않은 링에서의 제 1 패킷을 지적한다. 국부 DMA 어드레스가 조만간 경계 레지스터에 도달되는 경우, 착신 정보 패킷의 수신은 중단된다. 경계 레지스터 포인터 (56) 는 패킷의 제거를 위해 원격 DMA 모듈 20 ( 제 1A 도 ) 을 초기설정하고 패킷이 제거되는 경우 전진된다. 요약하면, 현재 페이지 레지스터 (54) 는 기록 포인더로서 작용하며 경계 포인터 레지스터는 판독 포인터로서 작용한다. 초기 설정시, 페이지 개시 레지스터 (52) 의 값은 현재 페이지 레지스터 (54) 및 경계 포인터 레지스터 (56) 로 로딩되어야 한다.
수신 개시
제 4C 도에 도시된 바와같이, 제 1 패킷이 도달하기 시작하는 경우, 바람직한 시스템 실시예는 현재 페이지 레지스터 (54) 에 의해 지적된 위치에 상기 패킷을 저장하기 시작한다. 4 바이트의 초기 오프셋은 이러한 패킷에 해당하는 수신 상태를 저장할 공간을 허용하는데 사용된다.
수신 버퍼 페이지의 연결
제 4D 도에 도시된 바와같이, 패킷의 길이가 제 1의 256 바이트 버퍼를 소모시키는 경우, 국부 DMA 모듈 8 은 패킷의 나머지를 저장하도록 다음 버퍼에 대한 순방향 연결을 이행한다. 최대 길이 패킷에 대해, 버퍼 로직은 전체적인 패킷을 저장하도록 6 개의 버퍼를 연결시킨다. 버퍼는 연결시 스킵 ( skip ) 될 수 없으며, 패킷은 항상 인접하는 버퍼에 저장된다. 다음 버퍼가 연결될 수 있기전에, 버퍼 관리 로직은 2번의 비교를 이행한다. 첫번째 비교는 다음 버퍼의 DMA 어드레스와 페이지 정지 레지스터 (50) 의 내용사이의 동일성에 대해 테스트한다. 버퍼 어드레스가 페이지 정지 레지스터 (50) 와 동일할 경우, 버퍼 관리 로직은 페이지 개시 어드레스 레지스터 (52) 에 프로그램된 수신 버퍼링 (58) 값에서 제 1 버퍼에 DMA 를 재저장한다. 두번째 비교는 다음 버퍼 어드레스의 DMA 어드레스와 경계포인터 레지스터 (56)의 내용사이의 동일성에 대해 테스트한다. 2개의 값이 동일한 경우, 수신은 중단된다. 버퍼 연결 및 비교 처리는 여분의 버스 클록사이클을 취하지 않는다. 경계 포인터 레지스터 (56)는 아직 판독되어지지않은 수신 버퍼링에서 어느 부위를 중복 기록하는 것을 방지하는 데 사용될 수 있다. 버퍼의 연결시, 버퍼 관리는 결코 이러한 포인터를 교차하지 않음으로써, 어떠한 중복 기록도 효과적으로 방지한다. 버퍼 어드레스가 경계 포인터 (56)와도, 페이지 정지 어드레스(52) 와도 정합하지 않는 경우, 다음 버퍼로의 연결이 이행된다.
버퍼링 오버플로우
제 4E 도에 도시된 바와같이, 버퍼링 (58) 이 충전되었고 국부 DMA 모듈 8 이 경계 포인터 어드레스 (56) 에 도달되는 경우, 착신 패킷의 수신은 바람직한 시스템 실시예에 의해 중단된다. 따라서, 이전에 수신되어 아직 버퍼링 (58) 에 포함되어 있는 패킷은 파괴되지 않는다.
대량으로 로딩된 네트웍 환경에서, 국부 DMA 모듈 8 은 버퍼링 (58) 오버플로우에 기인하여 디세이블되어 바람직한 시스템 실시예가 네트웍으로 부터 패킷을 버퍼링하는 것을 방지할 수 있다. 이러한 상황으로 부터 회복하기 위해, 하나이상의 패킷은 상기 버퍼링으로부터 언로딩 ( unloading ) 되어야 한다. 원격 DMA는 OVW 비트가 세트되는 동안에는 아직도 기능적이다. 패킷을 제거한 후, STA 비트를 1 로, 그리고 STP비트를 0 으로 설정시킴으로써 바람직한 시스템 실시예를 재개시킨다.
패킷 동작의 종료
제 4F 도 및 제 4G 도에 도시된 바와같이, 패킷의 종료시, 바람직한 시스템 실시예는 수신된 패킷이 채택되는지 아니면 제거되는 지의 여부를 결정한다. 이는 버퍼헤더를 저장하는 한 선택 경로로나 상기 패킷을 저장하는 데 사용된 버퍼를 회복하는 다른 한 선택 경로로 분기시킨다.
양호한 결과의 수신
제 4F 도에 도시된 바와같이, 정보패킷이 양호하게 수신되는 경우, 국부 DMA 모듈 8은 패킷 ( 현재 페이지 레지스터 (54) 에 의한 지적 ) 을 저장하는 데 사용된 제 1 버퍼에 재저장된다. 그후, 국부 DMA 모듈 8 은 수신 상태 레지스터로 구성된 4 바이트 패킷 헤더, 다음 패킷이 저장 ( 버퍼 4 ) 되는 포인터, 및 수신된 바이트의 갯수를 저장한다. 최종 버퍼에서의 나머지 바이트는 폐기되고 다음 패킷의 수신이 다음 공백 256 - 바이트 버퍼 경계상에서 개시된다는 점에 유념하기 바란다. 그후, 현재 페이지 레지스터 (54) 는 버퍼링 (58) 에서의 다음 사용가능 버퍼에 설정된다. 수신된 CRC는, 수신된 패킷용 데이타의 최종 바이트 다음에는 버퍼 메모리내에 항상 저장된다.
제거된 패킷에 대한 버퍼 회복
제4G 도에 도시된 바와같이, 패킷이 Runt 패킷이거나 CRC 또는 프레임 정렬 에러 (60) 를 포함하는 경우, 이는 제거된다. 버퍼 관리 로직은 패킷 ( CURR 에 의해 지적됨 ) 을 저장하는 데 사용된 제 1 버퍼 페이지로 다시 DMA 를 리세트시켜, 제거된 패킷을 저장하는 데 사용되어진 모든 버퍼를 회복시킨다. 이러한 동작은 바람직한 시스템 실시예가 Runt 패킷 또는 프레임 정렬 에러 (60) 를 지닌 패킷을 채택하도록 프로그램되어 있는 경우에는 이행되지 않는다.
링으로 부터 패킷의 제거
제 4H 도에 도시된 바와같이, 패킷은 원격 DMA 모듈 20 또는 외부 디바이스를 사용하여 링으로 부터 제거된다. 원격 DMA 모듈 20 을 사용하는 경우, 전송 패킷 커맨드가 사용될 수 있다. 이는 경계 포인터에 의해 지적된 수신 패킷을 자동 제거하도록 원격 DMA 모듈 20 을 프로그램한다. 전송의 종료시, 바람직한 시스템 실시예는 경계 포인터 (56) 를 이동시켜, 수신을 위한 추가 버퍼를 비워놓는다. 경계 포인터 (56)는 또한 경계 포인터 레지스터를 프로그램시킴으로써 수동으로 이동될수도 있다.
수신 패킷에 대한 저장 포맷
표 2, 3 및 4 는 수신 패킷이 어떠한 방식으로 모듈 8 ( 제 1A 도, 구체적으로는 제3도 ) 에 의해 메모리내에 배치되는지에 대한 포맷을 제공한다. 이들 모드는 데이타 구성 레지스터에서 선택된다.
저장 포맷
이러한 포맷은 시리즈 32000 및 808 x 형 프로세서와 함께 사용된다.
표 2
이러한 포맷은 68000 형 프로세서와 함께 사용된다.
표 3
이러한 포맷은 범용 8 비트 CPU 와 함께 사용된다.
표 4
패킷 송신
국부 DMA 모듈 8 은 또한 패킷의 송신시 사용된다. 송신 페이지 개시 어드레스 레지스터 ( TPSR ) 및 송신 바이트 계수 레지스터 ( TBCRO, 1 ) 와 같은 3 개의 레지스터는 송신시 DMA 전송을 제어한다. 바람직한 시스템 실시예가 이들 레지스터에 의해 지적된 패킷을 송신하라는 커맨드를 수신하는 경우, 버퍼 메모리 데이타는 송신시 필요에 따라 FIFO 모듈 6 으로 이동된다. 바람직한 시스템 실시예는 프리앰블, synch 및 CRC 필드를 발생 및 부가시킨다.
송신 패킷 어셈블리
바람직한 시스템 실시예는 제 5 도에 도시된 포맷을 지닌 연속하는 어셈블링된 패킷을 필요로 한다. 송신 바이트 계수는 종착 어드레스, 소스 어드레스, 길이 필드 및 데이타를 포함한다. 이는 프리앰블 및 CRC를 포함하지 않는다. 64 바이트보다 작은 패킷을 송신하는 경우, 총체적인 패킷 사이즈는 64 바이트의 최소 사이즈로 패딩되어야 한다. 프로그래머는 패드 바이트를 스트립 및 부가하는 데 책임을 진다. 이는 IEEE 802.3 에서 설정된 최소 패킷 사양내에 패킷을 유지한다.
송신
송신에 앞서, TPSR ( 송신 페이지 개시 레지스터 ) 및 TBCR0, TBCR1 ( 송신 바이트 계수 레지스터 ) 은 초기 설정되어야 한다. 패킷의 송신을 개시하기 위하여, 커맨드 레지스터내의 TXP 비트는 설정된다. 송신 상태 레지스터 ( TSR )는 클리어되고 바람직한 시스템 실시예는 메모리로 부터 송신 데이타를 예비 인출하기시작한다 (바람직한 시스템 실시예가 현재 수신중이 아닌 한). 프레임간 갭이 타임아웃 ( time out ) 한 경우, 바람직한 시스템 실시예는 송신을 개시한다.
송신개시에 필요한 조건
패킷을 송신하기 위해, 이하 3 가지 조건이 만족되어야 한다.
1. 프레임간 갭 타이머는 프레임간 갭의 맨처음 9.6 ㎲ 로 타임 아웃한다.
2. 적어도 한 바이트가 FIFO 모듈 6에 입력한다.
3. 바람직한 시스템 실시예가 충돌한 경우, baskoff 타이머는 만기 ( expiration ) 된다.
프리앰블이 개시되기 전에 캐리어 감지가 단정되는 경우, 바람직한 시스템 실시예는 수신기가 된다는 점에 유념하기 바란다.
충돌 회복
송신시, 버퍼 관리 로직은 충돌이 생겼는지를 결정하도록 송신 상태를 감시한다. 충돌이 검출되는 경우, 버퍼 관리 로직은 FIFO 모듈 6 을 리세트시키고 패킷의 재전송을 위해 송신 DMA 포인터를 재저장한다. COL 비트는 TSR 에서 설정되고 NCR ( 충돌 레지스터의 갯수 ) 은 증분된다. 15 번이상의 충돌이 검출되는 경우, 송신은 중단되고 TSR 에서의 ABT 비트는 설정된다. 과도한 충돌에 직면되는 경우 NCR 이 제로 ( zero ) 로서 판독한다는 점에 유념하기 바란다.
송신 패킷 어셈블리 포맷
이하 다이어그램은 서로 다른 바이트 순서 스킴에 대한 송신 이전에 어떠한 방식으로 패킷이 어셈블링되어야 하는지에 대한 포맷을 제공한다. 여러 포맷은 데이타 구성 레지스터에서 선택된다. 이러한 포맷은 시리즈 32000 및 808 x 형 프로세서와 함께 사용된다. 표 5, 6, 및 7은 바람직한 포맷을 상세하게 제공한다.
이러한 포맷은 시리즈 32000 및 808 x 형 프로세서와 함께 사용된다.
표 5
이러한 포맷은 6800 형 프로세서와 함께 사용된다.
표 6
이러한 포맷은 범용 8 비트 CPU 와 함께 사용된다.
표 7
원격 DMA 모듈 20
원격 DMA 모듈 20 에 의해 제공된 채널은 송신용 패킷을 어셈블링하고 수신 버퍼링으로 부터 수신 패킷을 제거하는 데 사용된다. 이는 또한 호스트 메모리 및 국부 버퍼 메모리사이로 커맨드나 데이타의 블록을 이동시키기 위한 범용 슬레이브 DMA 채널로서도 사용될 수 있다. 원격 기록, 원격 판독 또는 전송 패킷과 같은 3가지 동작모드가 존재한다. 2 개의 레지스터쌍은 원격 DMA 모듈 20, 원격 개시 어드레스 ( RSAR0, RSAR1 ) 및 원격 바이트 계수 ( RBCR0, RBCR1 ) 레지스터쌍을 제어하는 데 사용된다. 상기 개시 어드레스 레지스터쌍은 이동될 블록의 개시를 지적한다. 이는 또한 원격 DMA 모듈 20 이 처리중에 있는 경우 현재 어드레스 포인터로서 제공된다. 바이트 계수 레지스터쌍은 전송될 바이트의 갯수를 나타내는 데 사용된다. 완전 핸드셰이크 로직은 국부 버퍼 메모리와 양방향성 I/O 포트사이로 데이타를 이동시키도록 제공된다.
원격 기록
원격 기록 전송은 호스트로 부터 국부 버퍼 메모리내로 데이타 블록을 이동시키는 데 사용된다. 원격 DMA 모듈 20 에 의해 제공된 채널은 I/O 포트로 부터 데이타를 판독하고 순차적으로 원격 개시 어드레스에서 개시하여 이를 국부 버퍼 메모리에 기록한다. DMA 어드레스는 중분되고 바이트 카운터는 각각의 전송후에 감분된다. DMA 는 원격 바이트 계수 레지스터가 제로의 계수에 도달하는 경우 종단된다.
원격 판독
원격 판독 전송은 국부 버퍼 메모리로 부터 호스트로 데이타 블록을 이동시키는 데 사용된다. 원격 DMA 모듈 20 은 원격 개시 어드레스에서 개시하여, 순차적으로 국부 버퍼 메모리로 부터 데이타를 판독하고 데이타를 I/O 포트에 기록한다. DMA 어드레스는 증분되고 각각의 전송후에 바이트 카운터는 감분된다. DMA 는 원격 바이트 계수 레지스터가 제로에 도달하는 경우 종단된다. 32 - 비트 어드레스 모드, DCR 에서 설정된 LAS 에서, 원격 DMA 모듈 20 에 의한 동작은 디세이블 된다.
Fifo 및 버스 동작
개요
데이타가 네트웍으로 부터 오고 ( 또는 네트웍으로 가고 ) 시스템 메모리로 부터 오는 ( 또는 시스템 메모리로 가는 ) 상이한 속도를 수용하기 위하여, 바람직한 시스템 실시예는 버스와 매체사이의 데이타를 버퍼링시키기 위한 16 - 바이트 FIFO 를 포함한다. FIFO 한개는 선택가능하여, 상이한 속도로 FIFO 를 채우는 ( 또는 비우는 )것을 허용한다. FIFO 모듈 6 이 프로그램된 한계까지 충전된 경우, 국부 DMA 채널은 이들 바이트 ( 또는 워드 ) 를 국부 메모리로 전송한다. 국부 DMA 가 최소 버스 대기 시간내에 버스에 대한 액세스에 의해 제공되지만, 그러하지 않을 경우 FIFO 언더런 ( underrun ) ( 또는 오버런 ( overrun ) ) 이 생긴다는 점이 결정적이다.
FIFO 언더런 또는 오버런을 이해하기 위하여, 이러한 조건을 야기시키는 2 가지 원인이 있다.
1. 버스 대기 시간은 FIFO 가 충전될 ( 또는 국부 DMA 가 FIFO 에 제공되기 전에 네트웍으로 부터 비워질 ) 정도로 매우 길다.
2. 버스 대기 시간 또는 버스 데이타 속도는 네트웍 데이타 속도( 10 Mb/s ) 보다 느린 지점에 대한 국부 DMA 의 처리 능력을 느리게 한다.
두번째 조건은 또한 버스 클록 및 워드폭 ( 바이트폭 또는 워드폭 ) 에 의존한다.
최악의 경우 조건은 바람직한 시스템 실시예가 허용할 수 있는 전반적인 버스 대기 시간을 궁극적으로는 제한한다.
수신 종료시의 FIFO 동작 : 8390D 양립 가능 모드
제6A 도에 도시된 바와같이, 캐리어 감지가 로우 ( low ) 로 될 경우, 바람직한 시스템 실시예는 패킷 처리 시퀀스의 종료로 들어가서, FIFO 를 비우고 패킷의 개시부분에 상태 정보를 기록한다. 바람직한 시스템 실시예는 총체적인 시퀀스를 위해 버스상에 유지된다. 가장 긴 시간의 BREQ 는 마치 바람직한, 시스템 실시예가 최종 FIFO 버스트를 이행하는 것과 같이 패킷이 종료된 경우에 연장될 수 있다. 이러한 경우, 바람직한 시스템 실시예는 프로그램된 버스트 전송을 이행한 다음에 FIFO 모듈 6 내의 나머지 바이트를 플러싱 ( flushing ) 시키고 헤더 정보를 메모리에 기록함으로써 완료한다. 이러한 시퀀스는 일반적으로 다음과 같은 단계로 구성되어 있다.
1. 바람직한 시스템 실시예는 FIFO 한계에 도달되었기 때문에 BREQ 를 공급하는 단계.
2. 버스트동안, 패킷이 종료됨으로써 연장된 BREQ 를 초래시키는 단계.
3. 바람직한 시스템 실시예가 FIFO 로 부터 나머지 바이트를 플러싱시키는 단계.
4. 바람직한 시스템 실시예가 헤더의 기록을 위해 준비하도록 내부 처리를 이행하는 단계.
5. 바람직한 시스템 실시예가 4 - 바이트 ( 2 - 워드 ) 헤더를 기록하는 단계.
6. 바람직한 시스템 실시예가 BREQ 를 단정하지 않는 단계.
수신 종료시 FIFO 동작 : 정확한 버스트 모드
양립가능성 선택 모드 레지스터가 정확한 버스트 모드용으로 프로그램되는 경우, 바람직한 시스템 실시예는 현재의 국부 DMA 버스트를 마무리하고 버스를 해제시킨다. 바람직한 시스템 실시예는 요구 모드를 재공급하고, BACK 를 수신한 후, 이는 FIFO 를 비우고, 다음 페이지 위치를 계산하며, 패킷 헤더를 기록한다. 이러한 모드는 DP 8390 이 패킷 수신의 종료시 예외적으로 긴 시간 동안 버스의 제어를 유지하게 하는 DP 8390 에서의 문제를 제거한다.
한계 검출 ( 버스 대기시간 )
허용가능한 버스 대기시간은 어떠한 FIFO 오버런 또는 언더런도 생기지 않는 SACK 와 BREQ 사이의 최대지연이다. FIFO 언더런은 바람직한 시스템 실시예가 공백 FIFO 를 판독하는 패킷 송신시에 생긴다. FIFO 오버런은 바람직한 시스템 실시예가 충전 FIFO 에 기록하는 패킷 수신시에 생긴다. FIFO 는 프로그램가능한 한계가 도달될 때마다 국부 DMA 로 부터의 서비스를 요구한다. 패킷 수신시 한계 표시는 FIFO 내의 데이타량이 프로그램된 한계와 동일하거나 이를 초과하는 경우에 제공된다. 패킷 송신시, 한계 표시는 FIFO 내의 공백 장소의 갯수가 프로그램된 한계와 동일하거나 이를 초과하는 경우에 제공된다. 따라서, 보다 작은 프로그램된 한계의 경우, FIFO는 이내 서비스를 요구하여, 보다 큰 버스 대기시간을 허용한다.
송신 개시부분에서의 FIFO
제 6C 도를 참조하면, 바람직한 시스템 실시예는 TXE 출력이 하이 ( high )로 될때까지 송신 데이타의 제 1 버스트에서 직접 메모리 액세스를 트리거하지 않음으로써, 바람직한 시스템 실시예가 프리앰블의 송신을 개시하였다는 것을 나타낸다. 이는 바람직한 시스템 실시예가 물리적 매체 양단의 실제 송신에 앞서 항상 착신 메시지에 응답하는 것을 허용한다. 이러한 구현의 결과는 바람직한 시스템 실시예에 대한 개시 메모리 대기시간 요구가 FIFO 한계 설정에 관계없이 6 ㎲ 인 것이다.
전송 패킷 커맨드
원격 DMA 모듈 20 에 의해 제공된 채널은 수신 버퍼 링으로 부터 단일 패킷을 전송하도록 자동적으로 초기 설정될 수 있다. CUP는 " 전송 패킷 " 커맨드를 공급함으로써 이러한 전송을 개시한다. 국부 DMA 모듈 20 은 경계 포인터 레지스터 56 에 포함된 값으로 초기 설정되고 원격 바이트 계수 레지스터쌍 ( RBCR0, RBCR1 ) 은 BNRY 에 의해 지적된 패킷의 버퍼헤더에서 발견되는 수신 바이트 계수 필드와 값으로 초기 설정된다. 데이타가 전송된 후, 경계 포인터 (56)는 버퍼가 새로운 수신 패킷용으로 사용되는 것을 허용하도록 전진된다. 원격 판독은 바이트 계수가 제로와 동일할 경우에 종단된다. 그후, 원격 DMA 모듈 20 은 수신 버퍼링 (58) 으로 부터 새로운 패킷을 판독하도록 준비된다. DMA 포인터가 페이지 정지 레지스터를 가로지르는 경우, 이는 페이지 개시 어드레스로 리세트된다. 이는 원격 DMA 모듈 20 이 수신 버퍼링 (58) 의 상부로 순환한 패킷을 제거하는 것을 허용한다.
내부 레지스터
개요
모든 사용자 레지스터는 8 비트 폭이며 커맨드 레지스터 ( PS0, PS1 ) 에서 선택되는 3 개의 페이지로 매핑된다. 핀 ( RA0 - RA3 )은 각각의 페이지내의 레지스터를 어드레스하는데 사용된다. 페이지 0 레지스터는 바람직한 시스템 실시예의 동작시 공통으로 어드레스되는 레지스터인 반면에, 페이지 1 레지스터는 본래 초기 설정용으로 사용된다. 상기 레지스터는 공통으로 사용된 레지스터를 액세스하기 위해 2개의 기록/판독 사이클을 이행할 필요성을 없애도록 분할된다. 페이지 3 레지스터는 사용자에 의해 결코 액세스되어선 안되는 특정 목적 테스트 레지스터이다. 페이지 3 을 지적하기 위한 설정 ( PS0, PS1 ) 은 바람직한 시스템 실시예에 악영향을 주지 않지만, I/O 판독 및 기록은 바람직한 시스템이 동작중인 동안 엄격히 금지된다.
레지스터 설명
표 8, 9 및 10 은 바람직한 시스템 실시예에 대한 해당 레지스터 맵을 도시한 것이다.
페이지 0 어드레스 할당 ( PS1 = 0, PS0 = 0 )
표 8
페이지 1 어드레스 할당 ( PS1 = 0, PS0 = 1 )
표 9
페이지 2 어드레스 할당 ( PS1 = 1, PS0 = 0 )
표 10
레지스터 설명
커매드 레지스터 ( CR )
표 11 은 커맨드 레지스터 ( CR ) 를 보여주는 다이어그램이다.
표 11
상기 커맨드 레지스터는 송신을 개시하고, 원격 DMA 모듈 20 에 의한 동작을 이네이블 또는 디세이블시키며, 레지스터 페이지를 선택하는데 사용된다. 한 커맨드를 공급하기 위하여, 마이크로 프로세서는 해당 비트 ( 들 ) ( RD2, RD1, RD0, TXP ) 를 설정한다. 부가적인 커맨드가 병행될 수 있지만, 다음과 같은 규칙에 따른다.
1. 송신 커맨드가 원격 DMA 모듈 20 에 의한 동작과 병행하는 경우, 비트( RD0, SD1, RD2 ) 는 TXP 비트의 설정시 원격 DMA 커맨드 용으로 유지되어야 한다. 원격 DMA 커맨드가 송신 커맨드의 제공시 재공급되는 경우, DMA 는 원격 바이트 계수 레지스터가 재초기 설정되어지지 않았다면 즉시 완료한다.
2. 원격 DMA 모듈 20 의 동작이 송신과 병행하는 경우, RD0, RD1, 및 RD2 는 바람직한 값으로 기록될 수 있으며 " 0 " 이 TXP 비트에 기록된다. 이러한 비트에 " 0 " 을 기록하는 것은 어떠한 영향도 주지않는다.
3. 원격 기록 DMA 는 원격 판독 동작과 병행할 수 없거나 이와는 반대일 수 있다. 이들 동작 중 어느 하나는 다른 동작이 개시될 수 있기 전에 완료되거나 중단되어야 한다.
DO STP -정지 ( stop ) : MAC 오프라인 커맨드 : 이더넷 매체 액세스 제어기모듈 2 오프라인을 취한다. 진행중인 수신 패킷은 중단되고 버퍼 자원은 요구된다. 현재 송신 중 ( TXE 하이 ) 인 송신 패킷은 정상 완료시까지 계속된다. 현재 지연된 ( TXP = 1, TXE 로우 )송신 패킷은 TXP 비트가 설정상태로 되면서 중단된다. 원격 DMA 기능은 STP 가 하이일 때 활성 상태로 된다. STP 는 하이로 전력 공급한다. 바람직한 시스템 실시예가 이전에 개시 모드에 있었으며 STP 가 설정되는 경우, STP 및 STA 비트는 설정상태로 된다.
D1 STA - 개시 ( start ) : 이러한 비트는 전력 공급후나, STP = 1 이나 에러를 설정함으로써 바람직한 실시예가 리세트 모드에 놓여지게 된 경우 바람직한 시스템 실시예를 활성화시키는 데 사용된다. STA 는 로우로 전력 공급된다.
D2 TXP - 송신 패킷 : 이러한 비트는 패킷의 송신을 개시하도록 설정되어야 한다. TXP는 송신이 완료되거나 중단된 후에 내부적으로 리세트된다. 이러한 비트는 송신 바이트 계수 및 송신 페이지 개시 레지스터가 프로그램되어진 후에만 설정되어야 한다.
D3 - D5 RD0 - RD2 - 원격 DMA 커맨드 : 이들 3개의 엔코딩된 비트는 원격 DMA 모듈 20 의 채널 동작을 제어한다. RD2 는 진행중인 어느 원격 DMA 커맨드라도 중단하도록 설정될 수 있다. 원격 바이트 계수 레지스터는 원격 DMA 가 중단되어졌을 때 클리어되어야 한다. 원격 개시 어드레스는 원격 DMA가 중단되는 경우 개시 어드레스에 재저장되지 않는다.
표 12 는 RD2, RD1, 및 RD0 의 관계를 요약한 것이다.
표 12
D6, D7 PS0, PS1 - 페이지 선택 : 이들 2 개의 엔코딩된 비트는 레지스터 페이지가 어드레스된 RA0 - 3 으로 액세스될지를 선택한다.
표 13 는 PS1 및 PS0 의 관계를 요약한 것이다.
표 13
인터럽트 상태 레지스터 ( ISR )
표 14 는 인터럽트 상태 레지스터 ( ISR ) 를 도시한 것이다.
표 14
이러한 레지스터는 호스트 프로세서에 의해 액세스되어 인터럽트의 원인을결정한다. 어떠한 인터럽트라도 인터럽트 마스크 레지스터 ( IMR ) 에서 마스크될 수 있다. 개별 인터럽트 비트는 ISR 의 해당 비트내에 " 1 " 을 기록함으로써 클리어된다. INT 신호는 마스크되지 않은 신호가 설정되는 동안에는 활성 상태이며, 이러한 레지스터 내의 모든 마스크되지 않은 비트가 클리어되어질 때까지는 로우로 되지 않는다. ISR 은 이를 모두 1 로 기록함으로써 전력 공급후에 클리어되어야 한다.
D0 PRX - 수신 패킷 : 어떠한 에러도 지니지 않고 수신된 패킷을 나타낸다.
D1 PTX - 송신 패킷 : 어떠한 에러도 지니지 않고 송신된 패킷을 나타낸다.
D2 RXE - 수신 에러 : 패킷이 CRC 에러, 프레임 정렬 에러, FIFO 오버런, 및/또는 빠진 패킷과 같은 하나이상의 에러를 지닌 수신기이었다는 것을 나타낸다.
D3 TXE - 송신 에러 : 과도 충돌 및/또는 FIFO 오버런과 같은 하나이상의 에러로 송신되었을 경우를 설정한다.
D4 OVW - 중복 기록 경고 : 수신 버퍼링 저장 자원이 고갈되었을 경우 ( 국부 DMA 가 경계 포인터에 도달되었을 경우 ) 를 설정한다.
D5 CNT - 카운터 오버플로우 : 하나이상의 네트웍 탤리 카운터의 MSB 가 설정되었을 경우를 설정한다.
D6 RDC - 원격 DMA 완료 : 원격 DMA 동작이 완료되었을 경우를 설정한다.
D7 RST - 리세트 상태 : 바람직한 시스템 실시예가 리세트 상태에 들어가는 경우를 설정하며 상태 커맨드가 CR 에 공급되는 경우에 클리어 된다. 이러한 비트에의 기록은 어떠한 영향도 주지 않는다.
이러한 비트는 인터럽트를 발생시키지 않으며, 다만 상태 표시기일 뿐이다.
인터럽트 마스크 레지스터 (IMR)
표 15 는 인터럽트 마스크 레지스터 ( IMR ) 를 도시한 것이다.
표 15
D0 PRXE - 패킷 수신 인터럽트 이네이블
0 : 인터럽트 디세이블됨.
1 : 패킷이 수신된 경우 인터럽트를 이네이블함.
D1 PTXE - 패킷 송신 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 패킷이 송신된 경우 인터럽트를 이네이블함.
D2 RXEE - 수신 에러 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 패킷이 에러를 지니면서 수신된 경우 인터럽트를 이네이블함
D3 TXEE - 송신 에러 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 패킷 송신이 에러를 초래시키는 경우 인터럽트를 이네이블함
D4 OVWE - 중복 기록 경고 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 버퍼 관리 로직이 착신 패킷을 저장할 충분한 버퍼를 지니고 있지 않을 경우 인터럽트를 이네이블함
D5 CNTE - 카운터 오버플로우 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 하나이상의 네트웍 통계 카운터가 설정되었음 경우 인터럽트를 이네이블함
D6 RDOE - DMA 완료 인터럽트 이네이블
0 : 인터럽트 디세이블됨
1 : 원격 DMA 전송이 완료되었을 경우 인터럽트를 이네이블함
D7 reserved : 예약됨. 하이로 전력 공급
데이타 구성 레지스터 ( DCR )
표 16 은 데이타 구성 레지스터 ( DCR ) 를 도시한 것이다.
표 16
이러한 레지스터 8 또는 16 - 비트 메모리 인터페이스용으로 바람직한 시스템 실시예를 프로그램하고, 16 - 비트 용도에서 바이트 순서를 선택하며, FIFO 한계를 확립하는데 사용된다. DCR 은 원격 바이트 계수 레지스터를 로딩하기에 앞서 초기 설정되어야 한다. LAS 는 전력 공급 상태로 설정된다.
DO WTS - 워드 전송 선택
0 : 바이트 폭 DMA 전송을 선택함
1 : 워드폭 DMA 전송을 선택함
WTS 는 원격 및 국부 DMA 전송 모두를 위해 바이트 또는 워드 전송을 확립한다.
워드폭 모드가 선택되는 경우, 32 k 이하의 워드는 어드레스 가능하다는 점에 유념하기 바란다. A0 은 로우도 유지된다.
D1 BOS - 바이트 순서 선택
0 : MS 바이트는 AD15 - AD18 상에 놓여지고 LS 바이트는 AD7 - AD8 상에 놓여진다 ( 32000, 8086 ).
1 : MS 바이트는 AD7 - AD0 상에 놓여지고 LS 바이트는 AD15 - AD8 상에 놓여진다 (6800).
WTS 가 로우일 경우 무시된다.
D2 사용되지 않음
1 또는 0 을 설정하는 것은 바람직한 시스템 실시예에는 영향을 주지 않는다.
D3 사용되지 않음
1 또는 0 을 설정하는 것은 바람직한 시스템 실시예에는 영향을 주지 않는다.
D4 AR - 원격 자동 초기 설정
0 : 실행되지 않은 커맨드를 전송한다. 모든 패킷은 프로그램 제어하에서 버퍼링으로 부터 제거된다.
1 : 실행된 커맨드를 전송한다. 원격 DMA 는 버퍼링으로 부터 패킷을 제거하도록 자동 초기 설정된다.
D5, D6 FT0, FT1 - FIFO 한계 선택
FIFO 한계의 엔코딩. FIFO 를 충전 또는 비우는 경우 버스가 요구되는 지점을 확립한다.
수신시, FIFO 한계는 버스 요구 ( BREQ ) 가 단정되기전에 FIFO 가 네트웍으로 부터 직렬로 충전되어진 바이트 ( 또는 워드 ) 의 갯수를 나타낸다.
FIFO 한계 설정은 DMA 버스트 길이를 결정한다는 점에 유념하기 바란다.
송신시, FIFO 한계는 BREQ 가 단정되기전에 FIFO 가 MAC 에 의해 제거되어진 바이트 ( 또는 워드 ) 의 갯수를 나타낸다. 따라서, 송신한계는 수신 한계 보다 작은 16 바이트이다.
표 17 은 수신 한계의 동작을 상세하게 제공한다.
수신 한계
표 17
D7 예약됨 - 0
송신 구성 레지스터 ( TCR )
표 18 은 송신 구성 레지스터 ( TCR ) ODH ( 기록 ) 를 도시한 것이다.
표 18
송신 구성 레지스터는 네트웍상에서의 패킷의 송신시 바람직한 시스템 실시예의 송신 섹션의 동작을 확립한다. 루프백 ( loopback ) 모드를 선택하는 LB1 및 LB0 은 0 으로서 전력 공급한다.
D0 CRC - 금지 CRC
0 : 송신기에 의해 부가된 CRC
1 : 송신기에 의해 금지된 CRC
루프백 모드에서 CRC는 CRC 로직을 테스트하도록 이네이블 또는 디세이블 될 수 있다.
D1, D2 LB0, LB1 - 이네이블된 루프백 제어 : 이들 엔코딩된 구성비트는 이행될 루프백의 형태를 설정한다. 모드 2 에서의 루프액은 LPBK 핀을 하이로 설정한다는 점에 유념하기 바란다. 이는 루프백 모드에 SNI 를 배치시키고 DCR 의 D3 는 루프백 동작을 위해 제로로 설정되어야 한다.
표 19 는 엔코딩된 루프백 제어를 요약한 다이어그램이다.
표 19
D3 ATD - 자동 송신 디세이블 : 이러한 비트는 또다른 스테이션이 특정 멀티캐스트 패킷의 송신에 의한 바람직한 시스템 실시예의 송신기를 디세이블시키는 것을 허용한다. 상기 송신기는 이러한 비트를 리세트시킴으로써 또는 제 2 의 특정 멀티캐스트 패킷의 수신에 의해 다시 이내이율될 수 있다.
0 : 정상 동작
1 : 비트 62 로 해싱한 멀티캐스트 어드레스의 수신은 송신기를 디세이블 시킨다. 비트 63 으로 해싱한 멀티캐스트 어드레스의 수신은 송신기를 이네이블 시킨다.
D4 OFST - 충돌 오프셋 이내이율 : 이러한 비트는 노드의 우선 순위 설정을 허용하도록 백오프 ( backoff ) 알고리즘을 수정한다.
0 : 백오프 로직은 정상 알고리즘을 구현한다.
1 : 맨처음 3 번 충돌에 대해 백오프 알고리즘 수정을 0 - 2mim(3+n.10)슬롯 시간으로 강제시키는데, 이는 표준 백오프 이후에 행해진다 ( 맨처음 3번 충돌에 대해, 상기 스테이션은 낮은 우선 순위 모드를 형성하는 보다 높은 평균 백오프 지연을 지닌다. ).
D5 사용되지 않음
1 또는 0 을 설정하는 것은 바람직한 시스템 실시예에 영향을 주지 않는다.
D6 예약됨 : 0
D7 예약됨 : 1
송신 상태 레지스터 ( TSR )
표 20 은 송신 상태 레지스터 ( TSR ) ODH ( 판독 ) 를 도시한 것이다.
표 20
이러한 레지스터는 패킷이 송신시 매체상에서 일어나는 이벤트 ( event ) 를 기록한다. 이는 다음 송신이 호스트에 의해 개시되는 경우에 클리어된다. 모든 비트는 특정 비트에 해당하는 이벤트가 송신시에 일어나지 않는 한 로우로 된다. 각각의 송신 이후에는 이러한 레지스터가 판독되어야 한다. 이러한 레지스터의 내용은 맨처음 송신 이후때까지 특정지워지지 않는다.
D0 PTX -송신 패킷 : 에러를 지니지 않는 ( 과도 충돌이나 언더런이 없음 ) ( ABT = " 0 ", FU = " 0 " ) 송신을 나타낸다.
D1 DFR - 네트웍의 지연
송신 커맨드가 공급되어진 경우 네트웍이 활성상태이었다는 것을 나타낸다. 바람직한 시스템 실시예는 송신에 앞서 네트웍을 지연시켜야 한다.
D2 COL - 송신 충돌 : 송신이 네트웍상의 또다른 스테이션과 적어도 한번 충돌하였다는 것을 나타낸다. 충돌 횟수는 충돌 레지스터의 갯수 ( NCR ) 로 기록된다.
D3 ABT - 송신 중단 : 바람직한 시스템 실시예가 과도 충돌 때문에 송신을 중단시킨것을 나타낸다 ( 본래의 송신 시도를 포함한 송신의 총 횟수는 16 과 동일함 ).
D4 CRS - 캐리어 감지 손실 : 이러한 비트는 캐리어가 패킷의 송신시 손실되는 경우에 설정된다. 캐리어 감지는 TXEN 이 강하될때까지 프리앰블/Synch 의 종료로 부터 감시된다. 패킷의 송신은 중단되지 않는다.
D5 FU - FIFO 언더런 : FIFO 가 비기전에 바람직한 시스템 실시예가 버스의 액세스를 이룰 수 없는 경우, 이러한 비트는 설정된다. 패킷의 송신은 중단된다.
D6 CDH - CD 하트비트 : 패킷의 송신 후 충돌 신호를 송신하기 위한 트랜시버 ( transceiver ) 의 고장은 이러한 비트를 설정시킨다. 충돌 검출 ( CD ) 하트비트 신호는 송신 다음에 오는 프레임간 갭인 맨처음의 6.4 ㎲ 동안 개시되어야 한다. 어떤 충돌에 있어서, CD 하트비트는 비록 트랜시버가 CD 하트비트 테스트를 이행하지 않을지라도 설정된다.
D7 OWC - 윈도우 충돌이탈 : 충돌이 슬롯 시간 ( 51.2 ㎲ ) 후에 일어났다는 것을 나타낸다. 송신은 정상 충돌에서와 같이 다시 계획된다.
수신 구성 레지스터 ( RCR )
표 21 은 수신 구성 레지스터 ( RCR ) OCH ( 기록 ) 를 도시한 것이다.
표 21
D0 SEP - 에러 패킷의 세이브 ( save )
0 : 수신 에러를 지닌 패킷이 제거됨.
1 : 수신 에러를 지닌 패킷이 채택됨.
D1 AR - Runt 패킷의 채택 : 이러한 비트는 수신기가 64 바이트보다 작은 패킷을 채택하는 것을 허용한다. 상기 패킷은 runt 로서 채택되도록 적어도 8 바이트 길이이여야 한다.
0 : 64 바이트 보다 적은 바이트를 지닌 패킷이 재거됨.
1 : 64 바이트 보다 적은 바이트를 지닌 패킷이 채택됨.
D2 AB - 브로드캐스트 채택 : 모두 1 인 종착 어드레스를 지닌 패킷을 채택하도록 수신기를 이네이블시킨다.
0 : 브로드캐스트 종착 어드레스를 지닌 패킷이 제거됨.
1 : 브로드캐스트 종착 어드레스를 지닌 패킷이 채택됨.
D3 AM - 멀티캐스트 채택 : 멀티캐스트 어드레스를 지닌 패킷을 채택하도록 수신기를 이네이블시킨다. 모든 멀티캐스트 어드레스는 해싱 어레이를 통과시켜야 한다.
0 : 멀티캐스트 종착 어드레스를 지닌 패킷이 검사되지 않음.
1 : 멀티캐스트 종착 어드레스를 지닌 패킷이 검사됨.
D4 PR0 - 물리적 무차별 : 물리적 어드레스를 지닌 모든 패킷을 채택하도록 수신기를 이네이블시킨다.
0 : 노드의 물리적 어드레스는 PAE0 - PAR5 에서 프로그램된 스테이션 어드레와 정합하여야 함
1 : 물리적 어드레스를 지닌 모든 패킷은 채택됨
D5 MON - 감시 모드 : 메모리로의 버퍼링없이 착신 패킷상에서 CRC 및 어드레스를 검사하도록 수신기를 이네이블시킨다. 빠진 패킷 탤리 카운터는 각각의 인식된 패킷에 대해 증분되어야 한다.
0 : 메모리로 버퍼링되는 패킷
1 : 어드레스 정합, 양호한 CRC및 프레임 정렬에 대해 검사되지만, 메모리로 버퍼링되지 않는 패킷
D6 예약됨 : 0
D7 예약됨 : 1
D2 및 D3 은 서로 OR 연산된다. 즉, D2 및 D3 이 설정되는 경우, 바람직한 시스템 실시예는 브로드캐스트를 채택하고 멀티캐스트 어드레스는 그 자체의 물리적 어드레스로서 양호하다. 완전 무차별 모드를 확립하기 위하여, 비트( D2, D3, D4 ) 는 설정되어야 한다. 그 이외에도, 멀티캐스트 해싱 어레이는 모든 멀티캐스트 어드레스를 채택하도록 모두 1 로 설정되어야 한다.
수신 상태 레지스터 ( RSR )
표 22 는 수신 상태 레지스터 ( RSR ) OCH ( 판독 ) 를 도시한 것이다.
표 22
이러한 레지스터는 어드레스 정합, 물리적 또는 멀티캐스트와 같은 어드레스 정합의 형태 및 에러에 관한 정보를 포함하는 수신 패킷의 상태를 기록한다. 이러한 레지스터의 내용은 양호한 패킷의 수신후 DMA 에 의해 버퍼 메모리에 기록된다. 에러를 지닌 패킷이 세이브될 경우, 수신상태는 잘못된 패킷의 헤드부분으로 메모리에 기록된다. 에러를 지닌 패킷이 제거되는 경우, RSR 은 메모리에 기록되지 않는다. 상기 내용은 다음 패킷이 도달될 경우 클리어된다. CRC 에러, 프레임 정렬 에러, 및 빠진 패킷은, 네트웍 관리 기능에 대한 에러를 기록하도록 호스트가 실시간에 RSR 을 판독하는 것을 중단시키는 바람직한 시스템 실시예에 의해 국제적으로 계수된다. 이러한 레지스터의 내용은 맨처음 수신후까지 특정되어지지 않는다.
D0 PRX - 수신 패킷 비손상 : 에러를 지니지 않고서 수신된 패킷을 나타낸다 ( 비트 ( CRC, FAE, FO, MPA ) 는 수신 패킷에 대해 제로이다 ).
D1 CRC - CRC에러 ; CRC 에러를 지니고서 수신된 패킷을 나타낸다. 탤리 카운터 ( CNTR1 ) 를 증분시킨다. 이러한 비트는 또한 프레임 정렬에러용으로 설정된다.
D2 FAE - 프레임 정렬 에러 : 착신 패킷이 바이트 경계상에서 종료하지 않았으며 CRC가 최종 바이트 경계에서 정합하지 않았다는 것을 나타낸다. 탤리 카운터( TCNTRO ) 를 증분시킨다.
D3 FO - FIFO 오버런 : 이러한 비트는 FIFO 가 서비스되지 않은 경우 설정되어, 수신시 오버런을 야기시킨다. 패킷의 수신이 중단된다.
D4 MPA - 빠진 패킷 : 수신 버퍼가 부족하기 때문이거나 제어기가 감시모드에 있으며 메모리에 대한패킷을 버퍼링하지 않았을 경우 바람직한 시스템 실시예에 의해 노드용으로 의도된 패킷이 채택될 수 없는 경우에 설정한다. 탤리 카운터 ( CNTR2 ) 를 증분시킨다.
D5 PHY - 물리적/멀티캐스트 어드레스 : 수신 패킷이 물리적 어드레스 형태를 지녔는지 아니면 멀티캐스트 어드레스 형태를 지녔는지의 여부를 나타낸다.
0 : 물리적 어드레스 정합
1 : 멀티캐스트/브로드캐스트 어드레스 정합
D6 DIS - 수신기 디세이블 ; 수신기가 감시 모드에 들어감으로써 디세이블되는 경우 설정한다. 감시 모드가 존재할때 수신기가 다시 이네이블되는 경우 리세트한다.
D7 DFR -지연 : CRS 또는 COL 입력이 활성 상태일 경우 설정한다. 트랜시버가 자버 ( jabber ) 의 결과로서 CD 라인을 단정한 경우, 이러한 비트는 자버 조건을 나타내는 세트를 억제시킨다.
주 : 이하의 엔코딩은 CRC 및 FAE 비트에 사용한다.
페이지 2 양립 가능성 모드 선택 레지스터 ( CMSR )
표 23 은 페이지 2 양립 가능성 모드 선택 레지스터 ( CMSR ) O8H ( 판독/기록 ) 를 도시한 것이다.
표 23
전력 공급 조건 = 00h, 8390D 충분히 양립가능한 모드. 이러한 레지스터는 단지 DMA 제어기가 활성 상태이지 않은 경우에만 기록되어야 한다. 이러한 레지스터는 단지 초기설정시 또는 정지 커맨드의 공급 및 완료후에만 프로그램되어야 한다.
D0 EXBst - 정확한 버스트 모드
0 : 양립 가능 ; 모든 사후 패킷 처리가 완료될 때까지 최종 수신 패킷상에 BREQ 를 유지한다.
1 : 정확한 버스트 모드 ; 정상 버스트 후에 BREQ 를 해제하고, FIFO 를 비우도록 버스를 복귀시키며, 다음 페이지 위치를 계산하고, 패킷 헤더를 기록한다.
D1 E/F - FIFO 공백/충전 모드
0 : 양립 가능 ; FIFO 를 전후로 한 단지 한계 사이즈의 테스트가 수신/송신 동작용으로 사용된다.
1 : FIFO 공백/충전 모드 : 각각의 DMA 버스트는 FIFO 를 비우거나 ( 수신하거나 ) 충전 ( 송신 ) 시키지만, 가변 사이즈의 국부 메모리 버스트를 허용한다.
D2, 3 예약됨
D3 예약됨
D4, 5 국부 DMA 메모리 액세스 타이밍에 대한 대기 상태 선택
표 24 는 국부 DMA 메모리에 대한 대기상태 선택의 관계를 도시한 것이다.
표 24
D6, 7 유지됨
DMA 레지스터
DMA 레지스터는 송신, 수신 및 원격 DMA 레지스터와 같은 3 가지 그룹으로 분할된다. 송신 레지스터는 패킷의 송신동안 국부 DMA 채널을 초기설정하는데 사용되지만, 수신 레지스터는 패킷 수신 동안 국부 DMA 채널을 초기 설정하는 데 사용된다. 페이지 정지, 페이지 개시, 현재 및 경계 레지스터는 수신 버퍼링을 감독하도록 버퍼 관리 로직에 의해 사용된다. 원격 DMA 레지스터는 원격 DMA 를 초기설정하는데 사용된다.
제 7B 도는 8 또는 16 비트폭인 레지스터를 도시한 것이다. 비록 몇몇 레지스터가 16 - 비트 내부 레지스터이지만, 모든 레지스터는 8 - 비트 레지스터로서 액세스된다. 따라서, 16 -비트 송신 바이트 계수 레지스터는 2 개의 8 - 비트 레지스터 ( TBCR0, TBCR1 ) 로 분할된다. 또한, TPSK, PSTART, PSTOP, CURR 및 BNDRY 는 단지 버스상의 어드레스 정보의 상부 8 비트를 검사 또는 제어한다. 따라서, 그러한 것들은 도면에서 위치 ( 15 - 8 ) 로 이동된다.
송신 DMA 레지스터
표 25 는 송신 페이지 개시 레지스터 ( TPSR ) 를 도시한 것이다.
(A7 - A0 는 항상 제로이다 )
표 25
이러한 레지스터는 송신될 어셈블링된 패킷을 지적한다. 상기 어드레스의 단지 상부 8 비트만이 특정지워 지므로, 모든 송신 패킷은 256 - 바이트 페이지 경계상에 어셈블링되어야 한다. 비트 할당은 상기에 도시되어 있다. 비트 ( D7 - D0 ) 에 놓인 값은 송신을 위해 국부 DMA 의 상위 어드레스 ( A8 - A15 ) 를 초기설정하는데 사용된다. 하위 비트 ( A7 - A0 ) 는 제로로 초기 설정된다.
표 26 은 송신 바이트 계수 레지스터 ( TBCR0, 1 ) 를 도시한 것이다.
표 26
이들 2 개의 레지스터는 바이트 단위로 송신될 패킷의 길이를 나타낸다. 계수는 소스, 종착, 길이 및 데이타 필드의 바이트 전수를 포함하여야 한다. 허용된 송신 바이트의 최대 갯수는 64 k 바이트이다. 바람직한 시스템 실시예는 1500 바이트보다 긴 송신을 절단하지 않는다. 비트할당은 상기에 도시되어 있다.
국부 DMA 수신 레지스터
표 27 은 페이지 개시, 정지 레지스터 ( PSTART, PSTOP ) 를 도시한 것이다.
표 27
페이지 개시 및 페이지 정지 레지스터는 수신 버퍼링의 개시 및 정지 어드레스를 프로그램시킨다. 바람직한 시스템 실시예가 페이지 경계상에 정렬된 고정 256 - 바이트 버퍼를 사용하기 때문에, 개시 및 정지 어드레스의 단지 상부 8 비트만이 특정지워진다.
표 28 은 현재 페이지 레지스터 ( CURR ) 를 도시한 것이다.
표 28
이러한 레지스터는 수신용 백업 ( backup ) 레지스터로서 버퍼 관리 로직에 의해 내부적으로 사용된다. CURR 은 패킷 수신용으로 사용될 맨 처음 버퍼의 어드레스를 포함하고 수신 에러의 경우에 DMA 포인터를 재저장하는데 사용된다. 이러한 레지스터는 RSTART 와 동일한 값으로 초기 설정되고 제어기가 리세트되지 않는 한 다시 기록되어선 안된다.
표 29 는 경계 레지스터 ( BNDRY ) 를 도시한 것이다.
표 29
이러한 레지스터는 수신 버퍼링의 오버플로우를 방지하는데 사용된다. 버퍼 관리는 버퍼를 서로 연결시킬 경우 이러한 레지스터의 내용을 다음 버퍼 어드레스에 비교한다. 이러한 레지스터의 내용이 다음 버퍼 어드레스와 정합하는 경우, 국부 DMA 동작은 중단된다.
표 30 은 현재 국부 DMA 레지스터 0, 1 ( CLBA0, 1 ) 을 도시한 것이다. 이들 2개의 레지스터는 현재 국부 DMA 어드레스를 결정하도록 액세스될 수 있다.
표 30
원격 DMA 레지스터
표 31 은 원격 개시 어드레스 레지스터 ( RSAR0, 1 ) 를 도시한 것이다.
표 31
원격 DMA 동작은 원격 캐시 어드레스 ( RSAR0, 1 ) 및 원격 바이트 계수 ( RBCR0, 1 ) 레지스터를 거쳐 프로그램된다. 원격 개시 어드레스는 전송될 데이타 블록의 개시를 지적하는데 사용되고 원격 바이트 계수는 블록의 길이 ( 바이트 단위 ) 를 나타내는데 사용된다.
표 32 는 원격 바이트 계수 레지스터 ( RBCR0, 1 ) 를 도시한 것이다.
표 32
RSAR0 은 개시 어드레스 비트 ( A0 - A7 ) 를 프로그램한다. RSAR1 은 개시 어드레스 비트( A8 - A15 ) 를 프로그램한다. 상기 어드레스는 워드 전송에 대하여 2 씩, 그리고 바이트 전송에 대하여 1 씩 증분된다. 바이트 계수는 워드 전송에 대하여 2 씩, 그리고 바이트 전송에 대하여 1 씩 감분된다. RSCRO 은 LSB 바이트 계수를 프로그램한다. RBCR1 은 MSB 바이트 계수를 프로그램한다.
표 33 현재 원격 DMA 어드레스 ( CRDA0, 1 )
표 33
현재 원격 DMA 레지스터는 원격 DMA 의 현재 어드레스를 포함한다. 비트 할당은 상기에 도시되어 있다. RSAR0 및 CRDA0 은 물리적으로는 동일한 레지스터이라는 점에 유념하기 바란다. RSAR1 및 CRDA1 도 마찬가지이다.
물리적 어드레스 레지스터
표 34 에 도시된 바와같이, 물리적 어드레스 레지스터는 패킷을 제거 또는 채택하기 위해 착신 패킷의 종착 어드레스를 비교하는 데 사용된다. 하기 도시된 비트 할당은 PAR0 - PAR5 의 시퀀스를 수신 패킷의 비트 시퀀스에 관련시킨다.
표 34
멀티캐스트 어드레스 레지스터 ( MAR0 - MAR7 )
제 7C 도는 CRC 로직에 의해 해싱된 멀티캐스트 어드레스의 필터린을 제공하는, 멀티 캐스트 어드레스 레지스터의 동작을 보여주는 다이어그램이다. 모든 착신 어드레스는 CRC 에 들어가고, CRC 발생기의 6 개의 최상위 비트는 래치된다. 이들 6 개의 비트는 그후 1 : 64 데코드에 의해 데코딩되어 멀티캐스트 어드레스 레지스터에서 단일 필터 비트( FB0 - 63 ) 를 색인한다. 선택된 필터 비트가 설정되는 경우, 멀티 캐스트는 채택된다. 시스템 설계자는 어느 필터 비트를 멀티 캐스트 레지스터에 설정해야하는 지를 결정하는 프로그램을 사용한다. 노드에 의해 채택된 멀티캐스트 어드레스에 해당하는 모든 멀티캐스트 필터 비트는 그 후 1 로 설정된다. 모든 멀티캐스트 패킷을 채택하기 위하여 모든 레지스터는 모두 1 로 설정된다.
비록 해싱 알고리즘이 멀티캐스트 어드레스의 완전한 필터링을 보장하지만, 이는 이들 어드레스가 멀티어드레스 필터내의 단일 위치들로 매핑하도록 선택되는 경우 64 이하의 멀티캐스트 어드레스를 완전하게 필터링한다는 점에 유념하기 바란다.
표 35 에 도시된 바와같이, 어드레스 (Y) 가 32 ( 20H ) 의 값으로, 해싱하는 것으로 마련되는 경우, MAR4 내의 FB32 는 " 1 " 로 초기설정되어야 한다. 이는 바람직한 시스템 실시예가 어드레스 ( Y ) 를 지닌 어느 멀티 캐스트 패킨을 채택하게 한다.
네트웍 탤리 카운터
3 개의 8 - 비트 카운터는 CRC 에러, 프레임 정렬 에러 및 빠진 패킷의 갯수를 감시하기 위해 제공된다. 어느 한 카운터에 의해 도달된 최대 계수는 192 ( COH ) 이다. 이들 레지스터는 CPU에 의해 판독되는 경우 클리어된다. 상기 계수는 각각의 탤리 레지스터의 CT0 - CT7 내에 2 진수로 기록된다. 이들 레지스터는 FEh 를 초기설정한다.
표 36 은 프레임 정렬 에러 탤리를 도표작성한 레지스터 ( CNTR0 ) 를 도시한 것이다.
표 36
이러한 카운터는 패킷이 프레임 정렬 에러를 지니면서 수신될 때마다 증분된다. 상기 패킷은 어드레스 인식 로직에 의해 인식되어져야 한다. 상기 카운터는 프로세서에 의해 판독된 후에는 클리어된다.
표 37 은 CRC 에러 탤리를 도표 작성한 레지스터 ( CNTR1 ) 를 도시한 것이다.
표 37
이러한 카운터는 패킷이 CRC 에러를 지니면서 수신될 때마다 증분된다. 상기 패킷은 우선 어드레스 인식 로직에 의해 인식되어야 한다. 상기 카운터는 프로세서에 의해 판독된 후에는 클리어된다.
표 38 은 프레임 손실 탤리 레지스터 ( CNTR2 ) 를 도시한 것이다.
표 38
이러한 카운터는 패킷이 버퍼 자원의 부족에 기인하여 수신될 수 없는 경우에 증분된다. 감시 모드시, 이러한 카운터는 어드레스 인식 로직을 통과하는 패킷의 갯수률 계수한다.
FIFO 레지스터 ( FIFO )
표 39 는 FIFO 레지스터를 도시한 것이다.
표 39
이는 CPU 가 루프백 후에 FIFO 의 내용을 조사하는 것을 허용하는 8 비트 레지스터이다. 상기 FIFO 는 루프백 패킷으로 송신된 최종 8 데이타 바이트를 포함한다. FIFO 로 부터의 순차적 판독은 FIFO 에서 한 포인터씩 전진하여 모두 8 바이트의 판독을 허용한다. 바람직한 시스템 실시예가 루프백을 이루고 있지 않은 경우 FIFO 레지스터의 판독은 무시되며 데이타 버스는 3 - 상태로 유지한다는 점에 유념하기 바란다.
충돌 레지스터의 갯수 ( NCR )
표 40 은 NCR 레지스터를 도시한 것이다.
표 40
이러한 레지스터는 노드가 패킷을 송신하려고 시도할 경우에 직면하는 충돌의 갯수를 포함한다. 어떠한 충돌도 송신 시도시에 직면되지 않는 경우, TSR 의 COL 비트가 설정되지 않으며 NCR 의 내용은 제로가 된다. 과도한 충돌이 존재하는 경우, TSR 내의 ABT 비트는 설정되고 NCR 의 내용은 제로가 된다. 상기 NCR 은 CR 내의 TXP 비트가 설정된 후에는 클리어된다.
초기 설정 절차
바람직한 시스템 실시예는 네트웍으로 부터 패킷의 송신 또는 수신이전에 초기 설정되어야 한다. 리세트시 전력은 바람직한 시스템 실시예의 리세트 핀에 인가된다. 이는 표 41 에 도시된 이하의 비트를 클리어/설정한다.
표 41
바람직한 시스템 실시예는 개시 커맨드가 공급될 때까지 오프라인 ( offline ) 상태로 유지한다. 이는 어떠한 패킷이라도 송신 또는 수신되지 않으며 모든 적합한 내부 레지스터가 프로그램되어질 때까지 버스 슬레이브 상태로 유지되는 것을 보장한다. 초기 설정후, 커맨드 레지스터의 STP 비트가 리세트되고 STA 비트가 설정되어, 패킷은 수신 및 송신될 수 있다.
초기 설정 시퀀스
이하의 초기 설정 절차는 필수적이다.
1. 페이지 0 에 대한 프로그램 커맨드 레지스터 ( 커맨드 레지스터 = 21H )
2. 데이타 구성 레지스터 ( DCR ) 의 초기 설정
3. 수신 구성 레지스터 ( RCR ) 의 초기 설정
4. 루브백 모드 1 또 2 에 바람직한 실시예의 배치 ( 송신 구성 레지스터 = O2H 또는 04H0 )
5. 수신 버퍼링 : 경계 포인터 ( BNDRY ), 페이지 개시 ( PSTART ), 및 페이지 정지 ( PSTOP ) 의 초기화
6. 인터럽트 상태 레지스터 ( ISR ) 에 OFFh 를 기록함으로써 ISR 의 클리어
7. 인터럽트 마스크 레지스터 ( IMR ) 의 초기 설정
8. 페이지 1 에 대한 프로그램 커맨드 레지스터 (커맨드 레지스터 = 61H )
a. 물리적 어드레스 레지스터 ( PAR0 - 5 )의 초기 설정
b. 멀티캐스트 어드레스 레지스터 ( MAR0 - 7 )의 초기 설정
C. 현재 포인터의 초기 설정
9. 바람직한 시스템 실시예를 개시 모드에 배치시킴 ( 커맨드 레지스터 = 22H ). 국부 수신 DMA 는 바람직한 실시예가 루프백을 이루고 있기 때문에 여전히 활성상태이지 않음.
10. 의도된 값에 대한송신 구성의 초기 설정. 바람직한 실시예는 현재 송/수신 할 준비가 되어 있음.
패킷을 수신하기 전에, 사용자는 수신 버퍼링의 위치를 특정화하여야 한다. 이는 페이지 개시 및 페이지 정지 레지스터에 프로그램된다. 그 이외에도, 경계 및 현재 페이지 개시 레지스터는 페이지 개시 레지스터의 값으로 초기설정되어야 한다. 이들 레지스터는 패킷의 수신시 수정된다.
루프백 진단
3 가지 형태의 국부 루프백은 바람직한 시스템 실시예 상에 제공된다. 사용자는 바람직한 시스템 실시예상의 병직렬 교환회로 ( deserializer ) 를 통해, SNI 를 통해, 그리고 동축 ( coax ) 으로 루프백하여 트랜시버 회로를 통해 링크를 검사할 수 있는 능력을 지닌다. 바람직한 실시예의 절반 듀플렉스 구조 때문에, 루프백 테스트는 이하의 제한을 갖는 특정 동작 모드이다.
루프백시 제한
FIFO 는 2 부분으로 분할되는 데, 한 부분은 송신용으로 사용되며 타부분은 수신용으로 사용된다. 단지 8 - 비트 필드만이 메모리로 부터 인출될 수 있어서 2번의 테스트는 16 - 비트 시스템이 전체적인 데이타 경로의 완전성을 검증하는데 필요하다. 루프백시 BREQ - BACK 단정으로 부터의 최대 대기시간은 2.0 ㎲ 이다.루프백 테스트를 사용하기를 바라지만 이러한 대기시간을 만족시키지 못하는 시스템은 언더플로우에 직면하지 않고서도 루프백 패킷을 7 바이트로 제한할 수 있다. 루프백 패킷의 단지 최종 8 바이트만이 FIFO 에 유지된다. 최종 8 바이트는 FIFO 레지스터를 통해 판독될 수 있는데, 이는 수신 패킷의 판독은 순차적으로 허용하도록 FIFO 를 통해 전진된다. 표 42 는 이러한 동작을 보다 상세하게 도시한 것이다.
표 42
표 43 을 참조하면, 바이트 순서 선택이 설정되는 워드폭 워드에서의 경우, 루프백 패킷은 하기에 도시된 바와같이 우수 바이트 위치에서 어셈블링되어야 한다 ( 루프백은 단지 바이트 폭 전송으로 동작한다 ).
표 43
바이트 순서 선택이 로우로 되는 워드폭 모드에서의 경우, 이하의 포맷이 루프백 패킷용으로 사용되어야 한다.
표 44
워드 모드에서 루프백을 사용할 때, n = 우수 또는 기수 위치에서 어셈블링된 실제 바이트 갯수인 경우 2 n 바이트가 TBCR0, 1 에서 프로그램되어야 한다는 점에 유념하기 바란다. 루프백을 개시하기 위하여, 사용자는 우선 루프백 패킷을 어셈블링시키고, 그후 송신 구성 레지스터 ( LB0, LB1 ) 를 사용하여 루프백의 형태를 선택한다. 송신 구성 레지스터는 또한 송신시 CRC 발생을 이네이블 또는 디세이블시키도록 설정되어야 한다. 그리고나서, 사용자는 패킷을 전송하도록 정상 송신 커맨드를 공급한다. 루프백시, 수신기는 어드레스 정합을 위해 검사하며 TCR 내의 CRC 비트가 설정되는 경우, 수신기는 또한 CRC 를 검사한다. 루프백 패킷의 최종 8 바이트는 버퍼링되고 FIF0 판독 포트를 사용하여 FIF0 로 부터 판독될 수 있다.
루프백 모드
모드 1 : 제어기를 통한 루프백 ( LB1 = 0, LB0 = 1 ). 루프백이 바람직한 시스템 실시예를 통해 있는 경우, 병직렬 변환회로 ( serializer ) 는 단순히 병직렬 교환 회로에 연결되고 수신 클록은 송신 클록으로 부터 유도된다.
모드 2 : SNI 를 통한 루프백 ( LB = 1, LBO = 0 ). 루프백이 SNI 를 통해 이행되는 경우, 바람직한 시스템 실시예는 SNI 로 하여금 강제로 모든 신호를 루프백시키게 하는 제어부 ( LPBK ) 를 제공한다.
모드 3 : 동축으로의 루프백 ( LB1 = 1, LB0 = 1 ), 패킷은 송/수신 경로 및 동축 그 자체 모두를 검사하도록 루프백 모드에서 동축에 송신될 수 있다.
모드 1 에서, CRS 및 COL 라인은 어느 한 상태 레지스터에서 표시되지 않지만, 바람직한 실시예는 이들 라인이 활성상태인 경우에는 여전히 지연한다는 점에 유념하기 바란다. 모드 2 에서, COL 은 마스크되며 모드 3 에서 CRS 및 COL 은 마스크되어 있지 않다.
루프백 패킷의 판독
수신 패킷의 최종 8 바이트는 FIFO 레지스터의 8 번 연속 판독에 의해 조사될 수 있다. FIFO 포인터는 CPU 판독 스트로브의 상승 구간후에 증분된다.
FIFO 에서의 수신 패킷의 정렬
FIFO 에서의 패킷의 수신은 위치 0 에서 시작한다. FIFO 포인터가 FIFO 의 최종 위치에 도달되는 경우, 포인터는 FIFO 의 상부로 순환하여, 이전에 수신된 데이타를 중복기록한다. 바람직한 시스템 실시예는 그후 FIFO 의 다음 2 개의 위치에 수신 계수를 부가시킨다. 상부 바이트 계수의 내용은 또한 다음 FIFO 위치에 복사된다. 루프백 패킷에 사용되는 바이트의 갯수는 판독 포인터가 위치 0 에 유지되어있기 때문에 FIFO 에서의 패킷 정렬을 결정한다. 64 - 바이트 패킷에 대한 정렬은하기 표 45 에 도시되어 있다.
표 45
표 46 을 참조하면, FIFO 에서의 하기 정렬에 대하여, 패킷 길이는 ( N × 8) + 5 바이트이여야 한다. TCR 내의 CRC 비트가 설정되어 있는 경우, CRC 가 송신기에 의해 부가되지 않는다는 점에 유념하기 바란다. CRC 가 송신기에 의해 부가되는 경우, N - 3 내지 N 은 CRC 에 해당한다.
표 46
루프백 테스트
루프백 성능은 라이브 ( live ) 네트웍 상에서 패킷을 송/수신하기 전에 이행될 테스트가 바람직한 시스템 실시예의 동작을 유효화시키는 것을 허용하도록 제공된다. 전형적으로 이들 테스트는 노드의 전력 공급시에 이행될 수 있다. 그러한 진단은 다음과 같은 사항을 검증하도록 지원된다.
1. 데이타 경로의 완전성 검증. 수신 경로가 송신 데이타에 대해 검사된다.
2. 송신시 양호한 CRC 를 발생시키기 위한 CRC 로직 성능의 검증. 수신시 CRC 의 검증 ( 양호한 CRC 인지 불량한 CRC 인지의 여부 ).
3. 어드레스 인식 로직이
a. 어드레스 정합 패킷을 인식할 수 있는지
b. 한 어드레스와 정합할 수 없는 패킷을 제거할 수 있는지의 검증
바람직한 실시예에서의 루프백 동작
루프백은 FIFO 의 절반만을 사용한 수정된 송신 형태이다. 이는 루프백 테스트의 사용에 관한 몇가지 제한을 둔다. 루프백 모드가 TCR 에서 선택되는 경우, FIFO 는 분할된다. 패킷은 메모리에서 어셈블링되어야 하며, TPSR 및 TBCR0, TBCR1 레지스터는 패킷 송신용으로 프로그램되어야 한다. 송신 커맨드가 공급되는 경우 다음과 같은 동작이 일어난다.
송신기 동작
1. 데이타는 FIFO 가 충전될 때까지 DMA 에 의해 메모리로 부터 전송된다.각각의 전송에 대해, TBCR0 및 TBCR1 은 감분된다 ( 차후 버스트 전송은 FIFO 에서의 바이트의 갯수가 프로그램된 한계이하로 강하하는 경우에 개시된다 ).
2. 바람직한 실시예는 62 비트의 프리앰블 다음에 2 - 비트 Synch 패턴을 발생시킨다.
3. 데이타는 FIFO 로 부터 병직렬 변환 회로로 전송된다.
4. TCR 에서 CRC = 1 인 경우, 어떠한 CRC 도 바람직한 시스템 실시예에 의해 계산되지 않으며, 송신된 최종 바이트는 FIFO 로 부터의 최종 바이트이다 ( 소프트웨어 CRC 가 부가되는 것을 허용함 ). CRC = 0 인 경우, 바람직한 시스템 실시예는 계산하여 CRC 의 4 바이트를 부가시킨다.
5. 송신 종료시 PTX 비트는 ISR 에서 설정된다.
수신기 동작
1. Synch 를 대기함. 모든 프리앰블이 스트립됨.
2. FIF0 에 패킷의 저장. 각각의 착신 바이트에 대해 수신 바이트 계수를 증분시킴.
3. TCR 에서 CRC = 1인 경우, 수신기는 CRC 에러에 대해 착신 데이타를 검사한다.
TCR 에서 CRC = 0 인 경우, 수신기는 CRC 에러를 검사하지 않는다.
4. 수신 종료시, 수신 바이트 계수는 FIF0 내에 기록되며 수신 상태 레지스터는 갱신된다.
다음과 같은 예들은 루프백동안 적합하게 동작된 바람직한 실시예로 부터 어떤 결과가 예기되는 지를 보여준다. 각각의 루프백 형태의 제한 및 결과는 참고용으로 기재되어 있다. 루프백 테스트는 2가지 테스트 세트로 분할된다. 한 테스트 세트는 3 개 모두의 경로를 통해 바이트 계수, CRC 발생, 및 데이타 경로를 검증한다. 제 2 테스트 세트는 수신기의 CRC 검사 및 어드레스 인식을 검증하도록 내부 루프백을 사용한다. 상기 테스트 모두를 위해 40h 로 프로그램 되었다. 표 47 은 이들 상황을 요약한 것이다.
표 47
캐리어 감지 및 충돌 검출 입력이 내부 루프백 동안 블록킹 ( blocking ) 되어 있기 때문에, 캐리어 및 CD 하트비트가 보여지지 않으며 CRS 및 CDH 비트가 설정된다는 점에 유념하기 바란다. 또한, CRC 가 송신기에 부가되는 경우 CRC 에러가 항상 수신기에 의해 표시된다는 점에 유념하기 바란다. 그 이외에도, ISR 내의 단지 PTX 비트만이 설정된다는 점에 유념하기 바란다. PRX 비트는 단지 상태가 메모리에 기록되는 경우에만 설정된다. 루프백에서, 이러한 동작은 일어나지 않으며 PRX 비트는 모든 루프백 모드에 대해 0 으로 유지되며 그러한 모든 값은 16 진수 (hex ) 이다. 표 48 은 이들 상황을 요약한 것이다.
표 48
CDH 가 설정되며 CRS 가 설정되지 않는데, 그 이유는 이러한 것이 외부 엔코더/데코더에 의해 발생되기 때문이라는 점에 유념하기 바란다.
표 49 는 이들 상황을 요약한 것이다.
표 49
CDH 및 CRS 가 설정되어선 안된다는 점에 유념하기 바란다. 그러나, TSR 은 또한, 충돌에 직면되었는지 아니면 패킷이 지연되었는지의 여부에 따라, 01h, 03h, 07h 및 여러 다른 값을 포함할 수 있다. 이들 레지스터는 패킷이 송신될 수 없는 경우 08h 를 포함한다는 점에 유념하기 바란다. 외부 루프백동안, 바람직한 시스템 실시예는 현재 네트웍 교통량에 노출되어 있다. 그러므로 RSR 및 FIF0 의 수신 부분 모두의 내용이 네트웍상의 어느 다른 패킷에 의해 변조될 수 있다. 바람직한 시스템 실시예는 여전히 외부 루프백 모드에서 표준 CSMA/CD 프로토콜을 따른다 ( 즉, 상기 네트웍은 루프백 패킷에 의해 교란되지 않는다 ). 모든 값은 16 진수 이다.
CRC 및 어드레스 인식
다음 3 가지 테스트는 어드레스 인식 로직 및 CRC 를 사용한다. 이들 테스트는 바람직한 실시예가 네트웍으로 부터의 방해로 부터 격리되도록 내부 루프백만을 사용하여 이행되어야 한다. 이들 테스트는 또한 소프트웨어로 CRC를 발생시킬 수 있는 능력을 필요로 한다.
RSR 내의 CRC 및 FAE 비트는 단지 패킷의 어드레스가 어드레스 필터와 정합하는 경우에만 설정된다. 이하의 패킷 시퀀스는 어드레스 인식 로직을 테스트한다. 소프트웨어로 발생된 CRC 를 지니면서 TCR 은 03h 로 설정되어야 하며 DCR 은 40h 로 설정되어야 한다. 표 50 은 패킷 내용 및 결과 사이의 관계를 대략적으로 나타낸것이다.
표 50
멀티캐스트 어드레스가 사용되는 경우 상태가 21h 를 판독하며 멀티캐스트 어드레스가 사용되는 경우 상태가 22h 를 판독한다는 점에 유념하기 바란다. 테스트 A 에서, RSR 이 준비 ( set up ) 된다. 테스트 B 에서, 상기 어드레스는 CRC 가 불량으로서 플래그 ( flag ) 되기 때문에 정합하도록 제공된다. 테스트 C 는 어드레스 인식 로직이 불량 어드레스를 구별할 수 있도록 제공하며 불량 CRC 의 RSR 에통보하지 않는다. 수신 CRC 는 테스트 A 및 테스트 B 에서 작용하는 것으로 입증된다. 마지막으로, 모든 값은 16 진수이라는 점에 유념하기 바란다.
네트웍 관리 기능
네트웍 관리 성능은 국부지역 네트웍의 유지 및 계획용으로 필요하다. 바람직한 시스템 실시예는 하드웨어로 네트웍 관리에 대한 최소 요건을 지원한다. 나머지 요건은 소프트웨어 계수로 만족될 수 있다. 소프트웨어만이 패킷의 수신시 트래킹 ( tracking ) 할 수 없는 3 가지 이벤트, CRC 에러, 프레임 정렬 에러, 및 빠진 패킷이 있다.
에러난 패킷이 제거될 수 있기 때문에, 이들 패킷과 관련된 상태는 다음 패킷이 도달되기 전에 CPU 가 수신 상태 레지스터를 액세스할 수 없는 한 손실된다. 또다른 패킷이 매우 신속하게 도달되는 상황에 있어서, CPU는 이를 행할 기회를 지닐 수 있다. 바람직한 시스템 실시예는 CRC 에러 및 프레임 정렬 에러를 지닌 패킷의 갯수를 계수한다. 8 - 비트 카운터는 오버헤드를 감소시키도록 선택되었다. 상기 카운터는 소프트웨어 루틴이 네트웍 통계를 누적시켜 오버플로우가 일어나기 전에 상기 카운터를 리세트시킬 수 있도록 MSB 가 설정될 때 마다 인터럽트를 발생시킨다. 상기 카운터는 보유성이 있기 때문에 그의 작동시 한 카운터는 바람직한 시스템 실시예가 버퍼 오버플로우 때문에나 감시 상태에 있기 때문에 빠뜨린 패킷의 갯수를 계수하도록 제공된다. 제 8 도는 바람직한 시스템 실시예의 네트웍 관리 기능을 보여주는 다이어그램이다.
네트웍 관리용으로 필요한 부가적인 정보는 수신 상태 및 송신 상태 레지스터에 사용될 수 있다. 송신 상태는 송신시 이벤트에 관한 정보에 대한 각각의 송신후에 사용될수 있다. 전형적으로, 이하의 통계는 소프트웨어로 수집될수 있다.
교통량 : 프레임 전송 OK
프레임 수신 OK
멀티 캐스트 프레임 수신
자원부족으로 인한 패킷 손실
재시행/패킷
에 러 : CRC 에러
정렬 에러
과도 충돌
길이 에러를 지닌 패킷
하트비트 고장
버스 조정 타이밍
하드웨어 리세트를 수신한 후, 바람직한 시스템 실시예는 오프라인 상태에서 슬레이브로 된다. 수신기 및 송신기는 이러한 상태에서 모두 디세이블된다. 오프라인 상태는 소프트 리세트 ( 정지 커맨드 ), 하드 리세트 ( 리세트 입력 ), 또는 수신기 또는 송신기를 정지시키는 에러 ( FIFO 언더 플로우 또는 오버 플로우 ) 와 같은 3 가지 조건하에서 재입력될 수 있다. 레지스터의 초기 설정후, 바람직한 시스템 실시예는 개시 커맨드로 공급되며 바람직한 시스템 실시예는 유휴 ( idle ) 상태로 들어간다. DMA 가 필요할 때까지 바람직한 시스템 실시예는 유휴 상태로 유지된다. 유휴상태는 요구 모드에 의해 수신 또는 송신의 경우에는 FIFO 로부터, 또는 원격 DMA 동작의 경우에는 원격 DMA 로 부터 빠진다. BREQ/BACK 핸드셰이크에서 버스를 포착한 후에는, 원격 또는 국부 DMA 전송이 완료되며 바람직한 시스템 실시예는 유휴상태로 다시들어간다.
DMA 전송 타이밍
DMA 는 아래와 같은 전송형태용으로 프로그램될 수 있다.
16 - 비트 어드레스, 8 - 비트 데이타 전송
16 - 비트 어드레스, 16 - 비트 데이타 전송
모든 DMA 전송은 타이밍용으로 BSCK 를 사용한다. 16 - 비트 어드레스 모드는 제 10A 도에 도시된 바와같은 4 BSCK 사이클을 필요로 한다.
FIFO 버스트 제어
모든 국부 DMA 전송은 버스트 전송이다. 일단 DMA 가 버스를 요구하고 상기 버스가 인식되는 경우, DMA 는 데이타 구성 레지스터 ( DCR ) 에서 프로그램된 정확한 바이트 버스트를 전송하고, 그 다음에 상기 버스를 포기한다. FIFO 에 남아있는 바이트가 존재하는 경우, 다음 버스트는 FIFO 한계가 초과될 때까지 개시되지 않는다. 바람직하다면, DMA 는 버스를 포착한 경우 FIFO 를 공백/충전시킬 수 있다. 비록 BACK 가 전송시 제거될 지라도, 버스트 전송은 중단되지 않는다.
멀티플렉싱된 어드레스 데이타 버스 제어
바람직한 시스템 실시예는 어드레스 및 데이타 버스의 멀티플렉싱을 용이하게 하도록 2 개의 제어 신호를 제공한다. AD_MUX_H 및 AD_MUX_L 신호는 구동될 어드레스 또는 데이타 중 어느 하나를 선택한다. 그러한 신호가 " 1 " 인 경우 어드레스가 구동된다. 제 9C 도는 서로 다른 모드에서 이들 2개의 신호의 파형을 도시한 것이다.
원격 DMA - 양방향성 포트 제어
제 9D 도는 원격 DMA 전송용 버스 핸드셰이크 신호를 도시한 타이밍 다이어그램이다. 원격 DMA 는 국부 버퍼 메모리와 양방향성 포트 사이로 데이타를 전송한다 ( 메모리 - I/O 전송 ). 이러한 전송은 국부 DMA 전송용으로 사용된 버스트 전송에 대한 한 바이트씩 ( 또는 한 워드씩 ) 을 기초로한 아비터 ( arbiter ) 이다. 이러한 양방향성 포트는 또한 호스트에 의해 판독/기록된다. 이러한 포트를 통한 모든 전송은 비동기 방식이다. 항상, 전송은 포트로 부터 국부 버퍼 메모리로 ( 원격 기록 ) 나 국부 버퍼 메모리로 부터 포트로 ( 원격 판독 ), 일방향으로 국한된다.
원격 판독 타이밍
제 9E 도는 원격 DMA 판독 사이클을 도시한 타이밍 다이어그램이다.
1. DMA 가 국부 버퍼 메모리로 부터 바이트/워드를 판독하고 래치내로 바이트/워드를 기록하며, DMA 어드레스를 증분시키고 바이트 계수 ( RBCR0, 1 ) 를 감분시키는 단계.
2. 요구라인 ( PRQ ) 이 데이타가 사용가능하다는 것을 시스템에 통보하도록 단정되는 단계.
3. 시스템이 포트를 판독하고, 판독 스트로브 () 가 원격 DMA 에 의해인식으로 사용되며, 그러한 것이 단계 1 로 돌아가는 단계
와 같은 단계들이 있다.
단계 1 - 3 은 원격 DMA 가 완료될 때까지 반복된다. 원격 DMA 가 메모리로부터 래치로 바이트를 전송하기 위해, 이는 BREQ, BACK 핸드셰이크를 거쳐 국부 버스에 대한 액세스를 조정해야 한다. 각각의 바이트 또는 워드가 래치로 전송된 후에, BREQ 는 강하된다. 국부 DMA 가 진행중인 경우, 원격 DMA 는 국부 DMA 가 완료될 때까지 지연된다.
원격 기록 타이밍
제 9F 도는 원격 DMA 기록 사이클을 도시한 타이밍 다이어그램이다.
원격 기록 동작은 I/O 포트로 부터 국부 버퍼 RAM 으로 데이타를 전송한다. 바람직한 시스템 실시예는 PRQ 를 거쳐 바이트/워드를 요구함으로써 전송을 개시한다. 그러한 시스템은를 거쳐 바이트/워드를 래치에 전송한다. 이러한 기록 스트로브는 바람직한 시스템 실시예에 의해 검출되고 PRQ 는 제거된다. PRQ 를 제거함으로써, 원격 DMA 는 현재 바이트/워드가 래치로 부터 전송될 때까지 지연하고 래치내로 부가전송한다. PRQ 는 다시 단정되고 다음 전송은 개시될 수 있다.
1. 바람직한 시스템 실시예는 PRQ 를 단정한다. 시스템은 래치내로 바이트/워드를 기록한다. 바람직한 시스템 실시예는 PRQ 를 제거한다.
2. 원격 DMA 는 포트의 내용을 판독하고 국부 버퍼 메모리에 바이트/워드를 기록하며, 어드레스를 증분시키고 바이트 계수 ( RBCR0, 1 ) 를 감분시킨다.
3. 단계 1 로 되돌아 간다.
단계 1 - 3은 원격 DMA 가 완료될 때까지 반복된다.
슬레이브 모드 타이밍
가 로우일 경우 바람직한 시스템 실시예는 버스 슬레이브가 된다. CPU 는 그후 어느 내부 레지스터를 판독 또는 기록한다. 모든 레지스터 액세스는 바이트 폭이다. 레지스터 액세스에 대한 타이밍은 제 10 - 7 도에 도시되어 있다. 호스트 CPU 는 4 개의 어드레스 라인 ( RA0 - RA3), SRD - Z, SWR - Z 및, CSZ 스트로브를 지닌 내부 레지스터를 액세스 한다. 호스트 CPU 가 제어기에 대해 판독 또는 기록하려고 시도하는 경우 바람직한 시스템 실시예가 국부 버스 마스터일 수 있기 때문에,라인은 바람직한 시스템이 마스터 모드로 유지될 때까지 지연하고 배면 호스트 액세스의 경우에 내부동기를 허용하는 데 사용된다.
레지스터 판독 ( 비래치됨, ADS0 = 1 )
표 51
레지스터 기록 ( 비래치됨, ADS0 = 1 )
표 52
국부 DMA 판독 사이클
표 53
국부 DMA 기록 사이클
표 54
호스트 회복 시간
표 55
원격 DMA ( 판독, 전송 커맨드 )
표 56
원격 DMA ( 기록 사이클 )
표 57
대기 상태 삽입
표 58
직렬 타이밍 - 수신
직렬 타이밍 - 수신 ( 프레임 개시 )
11.9.2 직렬 타이밍 - 수신 ( 프레임 종료 )
표 59
AC 사양들이 표 60 에 상세히 나타나 있다. 제 19A 도는 직렬 타이밍 다이어그램 ... 송신 ( 프레임 개시 ) 이고 제 19B 도는 직렬 타이밍 다이어그램 ... 송신 ( 프레임 종료, CD 하트비트 ) 이다.
직렬 타이밍 - 송신
직렬 타이밍 - 송신 ( 프레임 개시 )
직렬 타이밍 - 수신 ( 프레임 종료, CD 하트비트 )
표 60
부록 A 는 상기에 기술되었던 여러 표 및 플로우챠트의 세부적인 설계 정보를 포함한다.
또 다른 변경
본 발명의 특정 실시예가 도시되고 설명되었지만, 당업자라면 본 발명의 사상 및 범위로 부터 이탈하지 않고 본 발명의 한가지이상의 특징을 보유하면서 여러방식으로 다양하게 변경 및 수정될 수 있다는 점을 알 수 있을 것이다. 예를들면, 당업자는 상기에 구성 요소의 기능성에 필적하는 소프트웨어 구성을 설계할 수 있다고 예견될 수 있다.

Claims (2)

  1. (a) 적어도 하나의 입력;
    (b) 적어도 하나의 출력;
    (c) 클록 조정 회로(120);
    (d) 상기 클록 조정 회로로부터 클록 출력을 수신하는 순환 여유 검사 회로(5);
    (e) 상기 입력으로부터 적어도 하나의 데이타 입력 신호를 수신하고, 에러를 찾기 위해 상기 데이타 입력 신호를 검사하도록 상기 순환 여유 검사 회로와 연관하여 작동하는 수신회로(7); 및
    (f) 상기 출력 상에 적어도 하나의 데이타 출력 신호를 송신하며, 에러를 찾기 위해 상기 데이타 출력 신호를 검사하도록 상기 순환 여유 검사 회로와 연관하여 작동하는 송신 회로(9)를 포함하며,
    (i) 상기 클록 조정 회로는, 복수의 입력들 및 하나의 출력, 및 하나의 스트로브 입력을 구비한 멀티플렉서(102)를 포함하며,
    상기 복수의 입력들은, 클록 신호 및 반전 클록 신호를 수신하도록 연결되어 있고,
    상기 스트로브 입력은, 상기 클록 신호와의 응답 및 상기 반전 클록 신호와의 응답 사이에 클록 출력 신호를 스위칭하기 위한 선택 신호를 수신하도록 결합되어 있으며,
    상기 클록 출력 신호는 상기 송신기 및 상기 수신기에 연결되어 있고,
    (ii) 상기 클록 조정 회로는, 스위치 신호, 리세트 신호, 및 클록 신호에 의하여 제어되는 두 개의 플립-플롭(110,108)을 포함하며, 클록 출력 신호의 스위칭이 발생하는 하나의 사이클의 기간 동안 상기 클록 출력 신호를 억제하는 단일 사이클 억제 회로(101)를 포함하는 것을 특징으로 하는 매체 액세스 제어기 시스템.
  2. 제 1 항에 있어서, 상기 사이크 억제 회로(101)는,
    (C1) 제 1 및 제 2 입력 및 하나의 출력을 지니는 OR 게이트로서, 상기 OR 게이트의 상기 제 2 입력이 선택 신호를 수신하도록 연결되어 있는, OR 게이트(116);
    (C2) 제 1 및 제 2 입력 및 하나의 출력을 지니는 제 1 AND 게이트로서, 상기 제 1 AND 게이트의 상기 제 1 입력이 리세트 신호를 수신하도록 전기적으로 연결되어 있는, 제 1 AND 게이트(114);
    (C3) 상기 OR 게이트의 출력에 연결된 입력, 상기 OR 게이트의 제 1 입력에 연결된 출력, 반전 출력, 상기 클록 신호를 수신하도록 연결된 클록 입력, 및 상기 제 1 AND 게이트의 출력에 연결된 클리어 입력을 지니는 제 1 플립플롭(110);
    (C4) 입력, 출력, 반전 출력, 클리어 입력, 및 클록 입력을 지니는 제 2 플립플롭(108)으로서, 상기 클록 입력이 지연된 클록 신호를 수신하도록 연결되어 있고, 상기 제 2 플립플롭의 상기 반전 출력이 상기 제 1 AND 게이트의 제 2 입력에연결되어 있고, 상기 제 2 플립플롭의 상기 클리어 입력이 리세트 신호를 수신하도록 연결되어 있는, 제 2 플립플롭 (108);
    (C5) 입력 및 출력을 지니는 인버터(106); 및
    (C6) 제 1 및 제 2 입력 및 하나의 출력을 지니는 제 2 AND 게이트(104)로서, 상기 제 1 입력이 상기 멀티플렉서로부터 상기 클록 출력 신호를 수신하도록 접속되어 있으며, 상기 제 2 입력이 상기 인버터의 출력에 연결되어 있고, 상기 인버터(106)의 상기 입력이 상기 제1 플립플롭의 상기 출력과 상기 제 2 플립플롭의 상기 입력에 연결되어 있는, 제 2 AND 게이트(104)를 포함하는 것을 특징으로 하는 매체 액세스 제어기 시스템.
KR1019960702913A 1993-12-03 1994-09-01 네트웍인터페이스제어기 KR100367138B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16252193A 1993-12-03 1993-12-03
US08/162521 1993-12-03
US08/162,521 1993-12-03

Publications (2)

Publication Number Publication Date
KR960706736A KR960706736A (ko) 1996-12-09
KR100367138B1 true KR100367138B1 (ko) 2003-03-15

Family

ID=22585982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960702913A KR100367138B1 (ko) 1993-12-03 1994-09-01 네트웍인터페이스제어기

Country Status (5)

Country Link
EP (1) EP0739564B1 (ko)
JP (1) JPH09506219A (ko)
KR (1) KR100367138B1 (ko)
DE (1) DE69422528T2 (ko)
WO (1) WO1995015641A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19810587A1 (de) 1998-03-11 1999-09-16 Siemens Ag Ethernet-Netzwerk mit Redundanzeigenschaften
JP6900690B2 (ja) 2017-02-07 2021-07-07 オムロン株式会社 制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0413325A (ja) * 1990-05-01 1992-01-17 Nippon Telegr & Teleph Corp <Ntt> ビット位相同期回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0413325A (ja) * 1990-05-01 1992-01-17 Nippon Telegr & Teleph Corp <Ntt> ビット位相同期回路

Also Published As

Publication number Publication date
WO1995015641A1 (en) 1995-06-08
DE69422528D1 (de) 2000-02-10
JPH09506219A (ja) 1997-06-17
KR960706736A (ko) 1996-12-09
EP0739564A1 (en) 1996-10-30
DE69422528T2 (de) 2000-09-21
EP0739564B1 (en) 2000-01-05

Similar Documents

Publication Publication Date Title
EP0459758B1 (en) Network adapter having memories configured as logical FIFOs to transmit and receive packet data
US5600799A (en) Status batching and filtering in a media access control/host system interface unit
US4590467A (en) Local area network interface controller
JP2584957B2 (ja) ホスト指示結合式の装置
US5367643A (en) Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
EP0577115B1 (en) Programmed I/O Ethernet adapter with early interrupts for accelerating data transfer
US5247626A (en) Fddi controller having flexible buffer management
US4914652A (en) Method for transfer of data between a media access controller and buffer memory in a token ring network
US5299195A (en) Repeater interface controller with multiple port node interfaces
EP0459757B1 (en) Network adapter
JP4554863B2 (ja) ハードウェアが削減されたネットワークアダプタ及び通信方法
US4780814A (en) Global serial channel for microcontroller
US5463762A (en) I/O subsystem with header and error detection code generation and checking
US5553302A (en) Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data
US4593281A (en) Local area network interframe delay controller
GB2282474A (en) Buffer memory management for a computer network.
JP2009502072A (ja) FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法
KR100367138B1 (ko) 네트웍인터페이스제어기
CN108427894B (zh) 一种数据通信方法及装置
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
Protogeros et al. Traffic analyser and generator Part 1: High-speed traffic capture for IEEE 802.3/Ethernet networks

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: 20081222

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee