KR930001791B1 - 컴퓨터 시스템용 주변 리피터 박스 - Google Patents
컴퓨터 시스템용 주변 리피터 박스 Download PDFInfo
- Publication number
- KR930001791B1 KR930001791B1 KR1019880010357A KR880010357A KR930001791B1 KR 930001791 B1 KR930001791 B1 KR 930001791B1 KR 1019880010357 A KR1019880010357 A KR 1019880010357A KR 880010357 A KR880010357 A KR 880010357A KR 930001791 B1 KR930001791 B1 KR 930001791B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- queue
- address
- transmitting
- transmission
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명의 PR 박스가 사용될 수 있는 컴퓨터 시스템의 블럭선도.
제2도는 본 발명의 PR 박스의 기본 블럭선도.
제3도는 보 발명의 DC 전원 모니터의 개략선도.
제4도는 본 발명의 기능 표시기 LED의 개략선도.
제5a도 내지 제5c도는 본 발명의 PR 박스에서 실행되는 펌웨어의 흐름도.
제6a도 내지 제6h도는 본 발명에 따른 원형 큐(circular queue) 및 원형 버퍼의 사용을 이용한 팩킷 전송도.
제7도는 본 발명의 적합한 실시예에서 사용된 상이한 주변장치에 대한 디폴트 보오 속도 테이블.
제8도는 본 발명에 따른 인터팩킷 타이밍에서 사용하기 위한 각 보오 속도에 연관된 문자 시간을 나타내는 테이블.
제9도는 인터팩킷 타이밍에서 이용된 기본 타이밍을 나타내는 흐름도.
제10도는 본 발명에서 사용된 헤더 바이트 필드의 구성을 나타내는 선도.
제11a도 내지 제11c도는 본 발명의 메시지 전송 프로토콜을 나타내는 선도.
제12도는 기능 LED 및 진단 LED의 여러 상태를 나타내는 챠트.
* 도면의 주요부분에 대한 부호의 설명
11 : 모니터 14 : 그래픽 엔진
21 : 주변 리피터(PR) 박스 55 : 진단 레지스터
59 : 기능 레지스터 63 : DC 전원 모니터
본 발명은 컴퓨터 시스템에 관한 것으로, 특히 다수의 주변 장치가 접속될 수 있는 컴퓨터 시스템에서 사용하기 위한 주변 리피터(repeater) 박스에 관한 것이다. 대형 컴퓨터 시스템 특히 그래픽 표시 장치를 제공하는 시스템에 있어서, 컴퓨터 시스템에 입력을 제공하기 위해 여러 종류의 주변 장치가 제공된다. 예를들어, 단일 시스템은 입력에서의 키보드, 마우스(mouse), 타블릿, 라이트펜, 다이얼 박스, 스위치 박스 등등을 갖을 수 있다. 이러한 다수의 주변 장치를 갖는 시스템에 있어서는 이들 주변 장치 각각으로부터 입력을 수신하여 단일 라인을 통해 여러 입력을 컴퓨터 시스템에 재전송할 수 있는 장치를 갖는 것이 유리하다. 이러한 장치는 각각의 주변 장치에 대해 중계기로서 작용한다는 점을 고려하여, 본원에서는 이 장치를 주변 리피터 박스로 언급한다.
종종, 상이한 주변 장치들이 동일 형태의 플러그를 갖는다. 종래 기술의 통상적인 시스템에 있어서, 각 주변 장치는 특정 접속부내로 플러그로 접속되어질 필요가 있었다. 만일 실수로 인하여 동일형의 플러그를 갖는 상이한 두 주변 장치를 혼동하면, 입력은 더이상 적절히 상호 작용하지 않는다. 따라서 주변 리피터 박스에서는 다른 형의 주변 장치가 동일 접속기내로 플러그 접속되어 주변 장치가 접속되었는가를 인식할 필요가 있다. 여러 주변 장치는 각기 다른 보오 속도로 동작할 수 있다. 때로는 보오 속도를 변경시킬 필요가 있다. 주변 리피터 박스를 사용하는 시스템에 있어서, 보오 속도의 리셋팅은 주변 장치 및 주변 리피터 박스에서 행해져야 한다. 따라서, 보오 속도가 세트될 수 있는 시스템을 제공할 필요가 있으면 이러한 보오 속도는 주변 장치 자체 및 주변 리피터 박스에서 자동적으로 세트된다. 적합하게, 자체 처리기를 포함한 주변 리피터 박스는 여러 레벨의 자체 시험을 실행할 수 있다. 주변 리피터 박스의 상태 즉, 시험 모드인지 동작 모드인지를 알기 위해 임의의 표시가 주어져야 한다. 또한, 주변 리피터 박스가 이 박스내의 전자 장치에 전원을 공급하기 위해 다수의 상이한 전원공급을 필요로 하므로, 이들 전원 공급의 적당한 동작 표시 또한 필요하다. 마지막으로 주변 장치 및 컴퓨터 시스템과 통신하기 위해 주변 박스에 대한 데이터 프로토콜을 설정할 필요가 있다. 이상적으로는, 이러한 것은 간단하고, 고장이 없으며 효율적이어야 한다.
본 발명의 주변 리피터 박스(PR.box)는 상술된 기능 이외에도 다른 기능을 제공한다.
본 발명의 PR 박스는 무엇보다도 먼저, 주변 장치가 모니터 위치에서 전원을 공급받을 수 있도록 하는데 사용된다. PR 박스는 종래의 RS-232-C 또는 RS-423 접속부를 사용하여 패킷 단위로 나누어진 주변 7개 채널로부터 나온 여러 주변신호를 수신하고 RS-232-C 신호를 사용하여 호스트, 예를들어 컴퓨터 및 그래픽 제어 처리기로 전송한다. 주변 장치로의 전송은 호스트로부터의 전송과 동일한 방법으로, 즉 호스트로부터 팩킷을 수신하고, 데이터를 언팩킹하여 이 데이터를 적당한 주변 직렬 라인 유닛(SLU)으로 채널링하여 처리한다.
본 발명의 주변 리피터 박스는 "그래픽 워크스테이션 및 고성능 워크스테이션에 대한 콘솔 경쟁"이라는 명칭의 계류중인 출원에 기술된 유형의 그래픽 시스템에서 사용하기에 특히 적합하며, 본원은 이 출원에 기술된 내용을 참조한다. PR 박스와 호스트간의 통신은 에러 없이 전송할 수 있는 새로운 프로토콜로 실행한다. PR 박스는 입력 및 출력 메시지는 주변 장치로, 또는 주변 장치로부터 버퍼하기 위해 원형큐 및 버퍼를 갖는 시스템을 사용한다. 메시지는 전송하기 위해 팩킷으로 배열된다. 주변 장치로부터 나온 메시지의 완료는 바이트를 계수함으로써 검출된다. 이와는 다르게, 만일 수신된 바이트간의 시간이 소정기간을 초과하면, 이것이 메시지의 종료를 감지하는데 사용되기도 한다. PR 박스와 시스템간에서 통신의 활성을 유지시키기 위하여, "활성 유지(keep alive)" 타이머가 사용된다. 이것으로 소정 시간내에 다른 통신이 존재하지 않으면 "활성 유지"메시지는 전송된다. 주변 장치에 멀티플렉싱/데이터 집중 기능을 제공하는 것 이외에도, PR 박스는 또한(파워업 및 지령 요청에 대해 수행된) 자체 논리에 대한 자체 시험 검사 및 제조 시험을 위한 외부 루프백 기능을 수행한다. 자기 시험의 확장 버전인 제조 시험 모드는 제조 점퍼가 회로내에서 검출될때 동작한다. 이러한 모드로 자체 시험이 연속 실행될때 이 시간에 에러가 검출되지 않는다면 실패 시험에 대해 루프한다. 이 모드는 특정의 루프백 모듈을 요구한다. 기능 LED 및 8개의 진단 LED 그룹은 PR 박스의 배면 패널상에 위치된다. 기능 LED는 기능을 수행하고 있는 PR 박스의 상태를 표시하는데 사용된다. 현재 에러 상태(만약 있다면)가 진단 LED에 반영한다. 진단 LED는 또한 그래픽 시스템이 자체의 비데오 표시 장치상에 메시지를 표시할 수 없는 경우에 있어서 부가 상태 정보를 제공하기 위해 호스트에서 이용할 수 있다. 진단 표시장치에 에러 코드를 기록하도록 시스템에서 지령이 사용된다.
본 발명에 의하면, 기능 LED는 동작 조건의 세가지 상태중 한 상태의 표시를 허용하는 3색 LED이다. DC 전원 모니터는 전원 공급을 모니터하도록 포함된 것으로 2색 LED로 전원 상태를 표시한다. 이 모니터는 대략 정 및 부의 12볼트의 전원 공급표시를 제공한다. 만일 정 및 부 공급이 규격 제한 값 10 내지 15퍼세트를 벗어나면, LED는 이것의 색을 변경시킴으로써 고장을 표시한다. DC 전원 모니터는 5볼트의 전원공급에 의해 자체에 동력이 공급된다. 만일 LED가 본래 상태를 벗어나면, 5볼트 전원 공급의 고장을 나타낸다. PR 박스에 대한 상술된 실시예로서 지지되는 주변장치는
키보드
마우스
타블릿 및
다이얼 박스
를 포함한다.
또한 상술된 실시예에 있어서, 버튼 박스 채널, 스페어 키보드 채널 및 일반적 스페어 RS-232-C의 채널을 제공하기 위해 다른 3채널이 미래 확장용으로 제공된다.
본 발명의 PR 박스는 상이한 주변 장치의 호환성을 허용한다. 즉, 동일형의 플러그를 갖는 주변 장치는 (오류)의 주변 장치 포트내로 플러그 접속될 수 있으며 특정의 주변 장치가 특정 포트내로 플러그 접속되는 것을 보장해줄 필요는 없다. 파워업되고 주변 장치가 플러그 접속되거나 제거될 때마다 호스트는 어떠한 형의 장치인가를 판단하기 위해 주변 장치를 검사하여 그 정보 트랙을 유지시킨다.
본 발명의 또 다른 특징을 서로 다른 보오 속도를 지지하는 이들 장치에 대해 보오 속도를 변경시킬 능력이 있다는 것이다. 본 발명에 의하면, 보오 속도를 변경하기 위해 호스트로부터 나온 지령은 특정 채널의 주변 장치 박스내의 수신기의 보오 속도를 자동적으로 리세트시키며 다른 지령은 주변 장치 자체의 보오 속도를 세트시킨다. 먼저, 메시지는 PR 박스를 통해 주변 장치로 전송된다. 다음에 이 주변 장치에 연결된 UART(범용 비동기식 수신기/전송기)의 보오 속도를 변경시키기 위해 지령이 PR 박스로 전송된다.
[시스템 개관]
제1도는 본 발명의 주변 리피터 박스가 시스템에 적합한 경우를 도시한 컴퓨터 시스템의 블럭선도이다. 도시된 시스템은 그래픽 시스템이다. 그러나 본 발명은 다른 컴퓨터 시스템에도 적용 가능하다. 따라서, 그래픽 계산을 하는 계산용 장치(14)에 결합된 RGB 콕스(coax, 13)로부터 비데오 입력을 수신하는 모니터(11)가 도시되어 있다. 도시된 바와 같이, 장치(14)내에는 그래픽 엔진 또는 그래픽 처리기(15), 예를들어, Vax 8250 시스템인 주 컴퓨터(17) 및 Microvax 컴퓨터일 수 있는 제어 처리기로서 동작하는 컴퓨터(19)가 포함된다. 컴퓨터(17)는 컴퓨터(19)의 호스트이며 컴퓨터(19)는 후술될 PR 박스(21)의 호스트이다. 따라서, 이후에 기준이 호스트로되는 경우, 기준은 컴퓨터(19)가 된다. 시스템의 이 부분에 대한 동작은 본원과 함께 출원된 "그래픽 워크스테이션 및 고성능 그래픽 워크스테이션에 대한 콘솔 경쟁"이라는 명칭의 출원에 상세히 기술되어져 있다. 제1도에는 주변 리피터 박스(21)와 이 박스내로 플러그 접속될 수 있는 여러 주변 장치가 함께 도시되어 있다. 이들 여러 주변 장치는 키보드(23), 마우스(25), 타블릿(27), 노브(29), 즉 다이얼 박스, 버튼(31), 스페어 RS 232 채널(33) 및 스페어 키보드 입력(35)을 포함한다.
이 주변 리피터 박스는 본 실시예에서는 모니터 아래에 위치된 내장 마이크로프로세서 시스템이다. 상기 리피터 박스는 호스트와 주변 장치간에 통하는 정보를 처리하는 책임을 지고 있다. 이것은 파워업시에 자체 내부 상태의 자체 검사를 수행하는 프리러닝(free running) 서브 시스템이다. 이러한 작업의 완료후에는 스스로 초기화되어 호스트 또는 주변 장치로부터의 활성을 위해 연속적으로 주사한다. 4개 주변 채널(키보드(23), 마우스(25), 타블릿(27) 및 노브(29)용) 및 한 지령 채널(호스트와의 통신용)이 지지된 모든 주변 장치를 접속하도록 제공된다. 또한 미래 확장 또는 특정 주변 장치용의 3개 스페어 채널, 예를들어, 제1도의 스페어 키보드(35), 버튼박스(31), 및 스페어(33)가 제공되어 있다. 서브 시스템은 제2도에서 도시된 바와같이 최소의 시스템으로 구성되어 있다.
따라서, 종래의 형과 연관된 12m㎐ 수정 발진기를 내장한 클럭/리세트 유닛(43)을 갖는 8031 마이크로 프로세서 CPU(41)가 도시되어 있다. 8031 CPU에는 CPU를 버스(47)에 연결시키는 종래의 제어 디코드블럭(45)이 결합되어 있다. 버스(47)는 16K RAM(51) 및 8K ROM(53)을 포함하는 메모리(49)에 CPU를 연결시킨다. 8031 CPU에는 온 칩 ROM이 없으며 온 칩 RAM은 불충분하다. 이러한 이유로서, 8031 CPU는 어드레스, 데이터 및 제어용의 4개의 이용 가능한 범용 포트중 세개를 사용하는 확장된 버스 구성에 사용된다. 이들은 블럭(45)을 통해 버스(47)에 연결된다. 확장된 버스 구성에 대한 외부 어드레싱의 능력 가능성은(점퍼를 통해) EA, 외부 액세스, 핀을 접지시킴으로써 달성된다. 하드 어드레스 및 데이터는 8031 CPU상에 멀티플렉스되며, 어드레스는 8031 CPU로부터 출력되는 ALE(어드레스 래치 인에이블) 신호에 의해 스트로브된 74 LS 373 8 진 래치에 어드레스 시간 동안 래치된다. 버스(47)는 또한 진단 레지스터(55)에도 접속된다. 진단 레지스터는 8개 LED를 구비한 표시 장치(57)에 출력을 공급한다.
또한 버스(47)에는 후술될 3색 LED(61)에 출력을 공급하는 기능 레지스터(59)가 연결된다. 제2도에서는 또한 이후 상술되는 바와같이 과전압 또는 미전압 상태를 표시하기 위해 2색 LED(64)에 출력을 공급하는 DC 전원 모니터(63)가 도시되어 있다. 버스(47)는 또한 블럭(62)에 포함된 모뎀 제어와 함께 직렬 라인 유닛(SLU) 0-7에 접속된다. 블럭(62)은 8진 비동기식 수신기/전송기 또는 OCTALART로서 공지된 것이다. 이러한 장치는 IC349로서 메사추세추주 메이나드에 소재하는 디지털 이큅먼트 코오포레이숀에서 제조된다. 기본적으로, OLTALART는 8개의 동일 통신 채널(사실상 8개의 UART) 및 수신 모뎀 제어 신호 및 인터럽트용의 인터럽팅 채널 한정에 대한 요약 정보를 제공하는 두 레지스터로 구성된다. 직렬 라인 유닛 0-6은 제1도에서 도시된 7개 주변 장치에 연결된다. SLU(7)는 제1도에서 도시된 호스트 링크이다. SLU의 출력은 송수신기(69)에 연결되며 이 송수신기의 출력은 여러 접속기가 플럭그 접속되어지는 분배 패널(71)에 접속된다. 블럭(69)은 +/- 12볼트의 바이폴라 전원 공급을 작동 중단시키는 9636형인 EIA 라인 구동기를 포함하며, 이 구동기는 TTL 레벨에서 약 +/- 10볼트의 바이폴라 RS-232-C 호환성 신호레벨로 신호를 변환시킨다. 호스트 채널(SLU 7), 키보드 채널 및 스페어 채널은 장치 검출 성능을 갖지 않고 있다. 다른 5개 채널은 OCTALART(62)의 대응하는 SLU의 DCD(데이터 캐리어 검출) 핀에 접속되는 입력 라인을 갖는다. 핀이 접지된 채널 접속기 측에 있으면, OCTALART의 입력측은 장치가 상기 채널상에 존재하는 것을 나타내는 하이로 된다.
블럭(62)내의 데이터 셋트 변경 요약 레지스터는 이들 핀중 한 핀의 상태가 변경 즉, 하이에서 로우로, 또는 로우에서 하이 레벨로 변경되면 인터럽트를 발생시킬 것이다. 이것은 시스템이 동작 모드로 된후에 부가 또는 제거되어지는 장치를 표시한다. 파워업시 8031 CPU는 이러한 능력을 갖는 장치가 접속되고 이 정보를 구성 바이트(소프트웨어의 기억 영역)내로 입력하는 것을 결정하도록 이 레지스터를 판독한다. 이러한 능력은 주변 장치가 어느 포트에 접속되는지를 인식하여 주변 장치의 호환성을 허용한다. 주변 장치가 플러그 접속 또는 언플러그될 때 마다. PR 박스는 호스트로 메시지를 전송하여 그 호스트가 주변 장치를 질의하며 그것이 보유하고 있는 테이블을 갱신하도록 한다. 프리러닝 동작 모드에서 PR 박스는 SLU 7를 통해 호스트로부터 데이터 팩킷을 수신하여 이 데이터의 보전성을 검증한다. 만일 데이터가 양호하면, PR 박스는 호스트로 ACK를 전송하고, 팩킷으로부터의 데이터 또는 지령을 완전히 스트립하여 이것을 이와 관련된 SLU를 통해 지정된 주변 장치로 채널 전송한다. 만일 데이터가 불량하면, 즉 합계 검사 에러이면, PR 박스는 재전송을 요청하기 위해 호스트로 NAK를 전송하여 수신되어진 팩킷을 버린다. 이들 통신은 제5c도 내지 제11c도를 참조하여 이후 상술될 것이다. PR 박스는 또한 자체 시험을 위해 지령을 수신할 수 있으며 진단 LED를 변경하고 동작 모드 동안의 보오 속도를 변경하기 위해 상태/구성을 통보할 수 있다. 자체시험 모드는 마이크로프로세서 서브 시스템의 보전성을 검증한다. OCTALART의 내부 루프백의 종료후에, 서브 시스템은 재초기화되어 동작 모드로 복귀한다. 자체 시험은 파워업시 또는 호스트로부터 실행된 자체 시험 지령을 수신하는 것에 의해 시작된다. 이것은 PR 박스 논리의 기능성을 검사한다.
내부 루프백 서브 시험이, 소프트 웨어 제어하에 시스템이 PR 박스 논리의 보전성을 검증하도록 자체 시험에 제공된다. 자체 시험이 동작중인 동안 호스트와 PR 박스간에는 어떠한 논리 접속도 없다. OCTALART(67)내 UART 라인의 전송핀에 어떠한 데이터도 출력되지 않으므로 PR 박스가 자체 시험의 내부 루프백 부분을 실행할 때 주변 장치에는 아무런 영향을 미치지 않는다. 또한 주변 장치로부터 들어오는 데이터는 OCTALART(67)의 UART 수신핀에서 모든 데이터가 무시되기 때문에 루프백 시험 동안 PR 박스상에 아무런 영향을 미치지 않는다. 외부 루프백 시험은 시험되어지는 채널상에서 적당한 루프백을 사용하여 개개의 주변 채널에 대해 수행될 수 있다. 이것은 호스트 펌웨어로부터 행해진다. 주변 리피터는 이러한 동작으로부터 명백해진다. 이것은 이하에서 보다 상세히 기술될 주변 장치의 호환성을 허용하는 시험이다. 제조시험 모드는 호스트 채널 루프백 접속기내 점퍼에 의해 제공된다. 이 점퍼는 파워업시 8031 CPU상에서 감지된다. 이러한 모드에서 모듈은 모든 채널에 대한(자체 시험으로서) 모든 시험, 장치 존재 시험 및 외부 주변 채널 루프백 시험을 연속 실행한다. 에러 기능성에 대한 루프는 정정에 도움을 주기 위해 수행되어진다. 부착된 8개 LED(57)를 갖는 8비트 진단 레지스터(55)는 (주 시스템의 임의 기본 기능성을 가정하여) PR 박스 상태 및 임의 시스템 상태를 제공한다. 이 레지스터는 자체 시험 또는 제조 시험 동안 동적 상태를 표시하는 위해, 그리고 동작 모드로 시작시에 발생할 수 있는 임의 소프트 또는 하드 에러를 표시하기 위해 PR 박스에 의해 사용된다. MSB(비트 7)는 PR 박스 에러가 발생되는 것을 표시하는데 사용되며, 비트 6은 시스템 에러가 표시되어지는 것을 표시하는데 사용된다. 만일 비트 6이 점등되면, 표시된 에러 코드는 비트 7과는 무관한 시스템 에러이다. 이것은 엔코드된 에러 응답을 제공하기 위해 6비트를 남겨놓는다(LED 에러 코드 목록은 아래와 같다).
[전원 모니터 회로]
+ 및 -12볼트 전원 공급을 모니터하기 위한 회로(63)는 +5볼트 공급으로부터 동작된다. 단일 적/녹 2색 LED(64)는 전원 모티터 회로(63)의 출력에 접속된다. 출력 표시기는 다음과 같다.
LED 표시 설명
녹색 존재하는 범위냉서의모든 전압
적색 +, - 또는 +/-12볼트 전원 공급이 규격 제한값의 약 15%를 벗어났거나 완전히 드롭 아웃된 경우
없음 +5볼트 전원 공급, 드롭 아웃되거나 또는 AC가 없는 모든 전원 전압
DC 전원 모니터는 + 및 - 12볼트 전원 전압에 대해 정격 약 15% 범위를 벗어난 미전압 또는 과전압을 검사하기 위한 4개의 비교기 세트이다. 회로는 +5볼트로부터 실행하여 각 비교기의 적절한 기준 입력에 인가된 +2볼트 정밀 기준을 사용한다. 출력은 2색 LED(64)에 접속된다. 각 비교기의 다른 입력에 접속된 정밀 저항 분할기는 기준 입력으로서 시험 전압을 동일 범위로 줄인다. 제3도는 주변 리피터의 전원 모니터에 대한 개략도이다. +5볼트 전원 전압이 저항(104) 및 제너 다이오드(103)의 직렬 회로 양단간에 연결된다. 제너 다이오드(103)는 1.25볼트의 제너 다이오드이다. 저항(104) 및 제너 다이오드(103)간의 접합점은 증폭기(105)의 비반전 입력에 연결된다. 증폭기(105)는 저항(109)을 통해 반전 입력에 연결된 라인(107)상에 출력을 갖는다. 또한 저항(111)은 반전 입력을 접지에 연결시킨다. 적합한 실시예에 있어서, 저항(109)은 15K 저항 값을 가지며 저항(111)은 24.3K 저항값을 갖는다. 이것은 라인(107) 상에 2볼트 출력을 발생시키는 증폭기(105)에 이득을 제공한다.
-12볼트 전원은 -5볼트 전원에 연결된 다른 단을 갖는 저항(115)과 직렬인 저항(113)에 연결된다. 캐패시터(117)는 저항(113) 양단간에 병렬로 접속된다. 적합한 실시예에 있어서, 저항(113)은 15.8K 저항값을, 저항(115)은 3.01K 저항값을 갖는다. 만일 -12볼트 전원 공급이 정확히 -12볼트이며, +5볼트 전원 공급이 정확히 +5볼트이면, 두 저항간의 접합점에서, 즉 라인(119)상에서 나타난 전압은 약 2.8볼트가 된다. 이 2.8볼트 전압은 비교기(121)의 라인(107)상의 2볼트 전압과 비교된다. +12볼트 전원은 접지에 접속된 저항(125)과 직렬로 저항(123)에 접속된다. 또한, 캐패시터(127)는 저항(125) 양단간에 연결된다. 적합한 실시예에서 저항(123)의 값은 8.25K이며 저항(125)의 값은 2.2K 이다. 캐패시터(117 및 127)는 각각 적합하게 0.01㎌ 이다. 만일 +12볼트 전원이 이 분할기에서 정확히 12볼트이면, 접합점, 즉 라인(129)상에서의 전압은 2볼트 이상이 된다. 이 전압은 비교기(131)에서 라인(107)의 출력과 비교된다. 비교기(121)의 경우에 있어서, 전압 분할기로부터 비반전 입력으로의 전압이, 만일 전체 -12볼트가 존재한다면, 라인(107)상에 2볼트 이상으로 된다. 이것으로 각 비교기로부터 하이 또는 논리 "1" 출력이 나타난다. 그러나 만일 -12볼트 전압이 임의점에서 소정량이상, 예를들어, 15% 증가하면, 라인(119)상의 전압은 2볼트 이하로 떨어지며 비교기(121)의 출력은 논리 "1"에서 논리"0"로 변경된다. 따라서, 비교기(121)는 -12볼트 전원에 대한 과전압 상태를 검출한다.
동일하게, +12볼트 전원 전압이 예를들어, 15% 만큼 강하되면, 라인(129)상의 전압은 2볼트 이하로 떨어지며 비교기(131)의 출력은 "1"에서 "0"으로 변경되고 +12볼트 전원이 미전압 상태를 표시한다. -12볼트 전원에 대한 미전압을 검출하기 위해, 저항(133 및 135)으로 구성된 부가 전압 분할기가 제공된다. 저항(133)은 -12볼트 전원에 접속된 개방단을 가지며, 저항(135)은 +5볼트 전원에 접속된 개방단을 갖는다. 일단 다시 한번, 캐패시터(137)가 제공된다. +12볼트 전원 과전압 검출에 대해, +12볼트는 접지에 접속된 저항(145)의 다른측을 갖는 저항(143 및 145)으로 구성된 전압 분할기를 통해 접속된다. 다시 캐패시터(147)가 저항(145) 양단간에 제공된다. 적합하게도 캐패시터(137 및 147)은 0.01㎌ 값을 갖는다. 저항(133)은 12.1K 값, 저항(135)은 3.01값, 저항(143)은 11.8K값 및 저항(145)은 2K값을 갖는다. 이들 저항 분할기의 비는 만일 + 및 -12볼트 전원이 이들의 정격 레벨이면 라인(139 및 149)상의 전압이 라인(107)상의 2볼트 기준 이하로 되도록 선택된다. 결과적으로, 각 비교기(141 및 151)의 출력은, 이 경우에 있어서 기준 전압이 비반전 입력에 공급되므로 전압 레벨이 소정량 이상으로 증가되지 않는 한은 정 또는 논리 "1"로 된다. 만일 한 12볼트 전원이 소정 레벨 이상으로 되면, 이 비교기의 반전 입력상의 전압은 비반전 입력상의 전압을 초과하여 비교기의 상태는 논리 "1"에서 논리 "0"로 변경된다. -12볼트 비교기에 대하여 +5볼트 전원으로 전압이 완전히 바이어스되는 것에 주목하면, 이것은 부전압이 비교기의 입력상에 존재하지 못하도록 실행한다.
비교기(131 및 151)의 출력은 AND 게이트(153)에 연결된다. 동일하게, 비교기(121 및 141)의 출력은 AND 게이트(155)에 연결된다. 이들 AND 게이트(153 및 155)의 각 출력은 AND 게이트(157)로의 입력이다. AND 게이트(157)는 D형 플립플롭(159)의 프리세트 입력에 연결된다. 이 플립플롭의 입력은 라인(161)에 의해 접지에 연결되며 클리어 입력은 라인(163)상의 "파워업"신호에 연결되어 플립플롭은 파워업에 의해 클리어된다. 또한 클럭킹 입력은 AND 게이트(165)의 출력에 연결되며 이 게이트(165)는 한 입력으로서 약 30㎑의 주파수를 갖는 제4도와 관련하여 기술된 16클럭으로 분할함으로써 얻어진 클럭 신호 및 다른 입력으로서 게이트(157)의 출력을 갖는다.
플립플롭(159)의 논리 "1"출력은 입력으로서 NAND 게이트(167)에 공급되고 논리 "0"출력은 NAND 게이트(169)에 공급된다. 이들 NAND의 제2입력은 3볼트 신호이다. NAND 게이트(167 및 169)의 출력은 +5볼트 전원에 접속된 풀-업 저항(171 및 173)에 연결된다. 이들 출력은 또한 2색 LED(175)의 적색 및 녹색 음극에도 연결된다.
만일 전압 레벨이 이들 전압 레벨로 되면, 게이트(157)로부터의 출력은 없다. 이 경우에 있어서, 플립플롭(159)은 리세트 상태로되며 출력은 "0"출력을 게이트(169)에 공급하며, 이 게이트(169)는 적당한 동작을 표시하기 위해 녹색 음극을 턴온하는 녹색 음극에 "0" 또는 접지 레벨을 공급한다. 만일 미전압 또는 과전압이 발생하면, 게이트(157)의 출력은 플립플롭(159)을 이의 접속부를 통하여 프리세트 입력으로 세트시킨다. 결과적으로, 라인(177)상의 출력은 전원에 문제가 있다는 것을 표시하는 적색 음극에 공급된다. 4개 비교기의 출력은 명목상 하이레벨이며 검출된 임의 고장은 이 출력이 플립플롭(159)을 로우 레벨로 세팅하게 된다. 전원 문제는 어느 비교기가 허용치내에 없는 전압을 표시하는 신호를 공급하는가를 알아내기 위해 시험점(181, 183, 185 및 187)을 검사함으로서 진단할 수 있다. 결점의 정정의 의하여, 프리세트 신호는 제거되고 접지에 접속된 D입력에서의 "0"출력은 "1"출력으로 변경된다. "0"출력은 하이로되며 LED(125)의 녹색 음극은 점등된다.
따라서, 고장상태가 존재하는 한은 클럭은 차단되며 플립플롭(159)은 세트상태가 된다. 그러나, 고장 상태가 사라지자 마자 클럭은 제로 입력을 로딩가능하게 하여 플립플롭(157)을 클리어한다. 이것으로 인해 과도 상태는 표시기를 완전히 래치하지 않고 오히려 표시기는 어려운 고장 상태를 표시하게 된다.
[기능 모니터]
제2도에서 도시된 바와같이, 3상태 LED(61)는 2비트 기능 레지스터(59)의 출력에 접속된다. 이것은 어느 모드 또는 기능의 PR 박스가 그 시간에 수행하는지를 볼 수 있도록 표시하는데 사용된다.
기능 표시기 LED(61)를 구동하기 위한 회로가 제4도에서 도시된다. 레지스터(59)는 PR 박스의 어떤 기능 즉, 자체 시험, 동작 또는 제조 모드가 현재 수행하는지를 표시한다. 이것은 역 판독을 위한 74LS244 분할기의 2비트를 사용하여 74LS74 이중 D형 플립플롭으로 구성된 2비트 레지스터이다. 레지스터내의 각 플립플롭은 비반전 및 반전 입력을 갖는다. 따라서, 비트 0 플립플롭은 모드 00L 신호 및 모드 00H 신호를, 비트 1 플립플롭은 모드 01L 신호 및 모드 01H 신호를 공급한다. 역판독 기능은 LED를 제외한 레지스터 하드웨어의 정확한 동작이 자체 시험 소프트웨어로 자동 검사되도록 부가된다. 기능은 3개의 분리된 색을 나타내기 위해 3상태 모드에서 동작되는 단일 2색 LED(61)로 표시된다.
출력 라인(203)상에 분할 16클럭 출력을 공급하기 위해 클럭 신호가 4비트 2진 카운터(201)에 입력으로서 공급된다. 이것은 제3도에서 이미 기술된 전원 모니터 회로에 입력으로서 공급된 클럭이다. 라인(203)상의 출력은 약 19㎑의 클럭을 얻기 위해 신호가 16으로 다시 분할되어지는 제2의 4비트 2진 카운터(205)에 입력으로서 공급된다. 카운터(202 및 205)는 라인(207)상의 파워업 신호에 의해 클리어된다.
기능 레지스터(59)로부터의 신호 모드 00 로우 및 모드 01 로우는 NAND 게이트(209)에 입력으로서 공급된다. 모드 00는 2비트 레지스터(59)의 비트 1에, 모드 01은 비트 2에 대응한다. 이와 마찬가지로, 동일하게, 신호 모드 01 로우 및 모드 00 하이는 NAND 게이트(211)에 공급된다. 모드 01 하이는 NAND 게이트(213)에 입력으로서 공급되며 게이트(213)는 제2입력으로서 2진 카운터(205)의 출력을 갖는다. 이 게이트의 출력은 D형 플립플롭(215)으로의 클럭 입력이다. 라인(217)상의 플립플롭(215)의 "1"출력은 NAND 게이트(219)에 한 입력으로서 연결된다. 이들 게이트는 75452 이중 주변 구동기로 구성된다. NAND 게이트(219 및 221)로의 제2입력은 3볼트 신호이다. 라인(223)상의 NAND 게이트(219)의 출력은 2색 LED(225)의 적색 음극에 연결된다. 동일하게, 라인(227)상의 출력은 녹색 음극에 연결된다. 각각의 음극은 저항(229 및 231) 각각을 통해 +5볼트로 전원이 공급된다. 이들은 개방 콜렉터 장치로서 LED용 전원은 동일한 광 루미네센스로 두 LED부를 동작하도록 제작된 두 저항(229 및 231)을 통해 공급된다. 보다 무거운 주변 구동기가 필요하는 것에 주목되는데, 이것은 어느 LED가 인에이블되는가에는 무관하게 전류가 언제든지 두 저항을 통해 흐르기 때문이다.
동작중, 만일 두 모드 00 및 모드 01이 로우 레벨이면, 게이트(209)의 출력은 논리"1"로되며 플립플롭(215)은 프리세트되어 다이오드(225)의 적색 음극을 활성화시키기 위해 NAND 게이트(219)를 통해 연결된 라인(217)상에 출력을 공급하게 된다. 만일 모드 01이 로우 레벨이고, 모드 00이 하이 레벨이면 게이트(211)로부터의 출력은 플립플롭(215)을 클리어시키며 라인(211)상의 출력은 녹색 음극을 활성화시키게 된다.
만일 모드 01이 하이 레벨이면 클럭킹 신호는 게이트(213)의 출력에서 공급된다. 모드 01이 하이이므로 NAND 게이트(209 또는 211) 모두는 출력을 공급하지 않아 플립플롭(215)은 프리세트되거나 클리어된다. D형 플립플롭에 있어서, 클럭 신호는 D입력에 있는 무엇이든지 "1"출력으로 변경된다. D입력은 라인(221)상의 "0"출력과 연결된다. 따라서, 만일, 예를들어, 라인(221)이 "0"이면 "0"는 라인(221)이 논리 "1"레벨로 되는 점에서 라인(217)상에 "1"출력으로 변경된다. 그 다음 클럭 사이클에 의해, 논리 "1"은 라인(217)상에서 "1"출력으로 변경된다. 결과적으로 적색 및 녹색 음극은 교대로 활성화되며, 클럭 속도 때문에, 관찰자에게는 황색으로 나타나 보이게 된다.
[PR 박스 동작 개관]
PR 박스 ROM(53)은 자기 시험 및 동작 펌웨어를 포함한다. 이 펌웨어는 비록 이것을 위해 8K 바이트가 비축되어져 있더라도 4K 바이트 ROM내에 포함된다. 펌웨어의 목록은 부록 A에 설정된다. 펌웨어에 대한 흐름도는 제5a도 내지 제5c도에서 나타나 있다.
블럭(301)에 의해 표시된 파워업시, 온-보드 진단은 블럭(303)에서 도시된 바와같이 PR 박스의 제어를 갖는다. 진단은 PR 박스 논리에 대한 시험을 수행하며 만일 8031 포트 1상의 핀 7이(제조 모드 의미) 접지되면 외부 루프백 및 시험을 행한다. 제조 모드시 진단은 루프(305)를 통해 영원히 루프하여 동작 모드로 진행하지 않게 된다. 이것은 파워업시 루프백 접속기(핀 7)의 검출을 통해 행해진다. 만일 에러가 제조 모드중에 발생되면, 진단은 에러를 발생한 시험에 대해 영원히 루프한다.
부착된 LED(57 및 61)(제2도 참조)를 갖는 레지스터(55 및 59)는 시스템 박스의 외부로부터 볼 수 있다. 상기와 같은 진단 레지스터(55)는 적색 LED를 갖는 8비트 폭이다. 이들 LED는 PR 박스 및 시스템에 대한 에러를 보고한다. 기술된 바와같이, 기능 레지스터(59)는 단일 적/황/녹색 LED를 갖는 2비트 폭이다. 제조 모드중에서는 기능 LED가 블럭(303)에서 표시된 바와같이 적색이다. 파워업시, 다른 제조 모드동안 기능 LED는 황색이다. 동작 모드시에는 녹색이다.
파워업시 수행된 여러 시험이 블럭(307 내지 314)에 의해 표시된다. 만일 제5b도의 블럭(315)에서 검사된 바와같이 제조 모드이면, 블럭(316 및317)의 시험은 또한 블럭(318)이 루프(305)로 들어가기전에 수행된다.
만일 파워업시, PR 박스가 PR 시스템을 사용 불가능 즉, 인터럽트, 8031 에러로 만드는 에러를 갖으면, 기능 LED는 황색으로 유지되며, 진단 레지스터내에 에러 코드를 기입하기 위한 시도가 행해져, PR 박스는 동작 모드로 진행되지 않는다.
만일 시스템을 사용 불가능으로 만드는 에러가 없으며 시스템이 제조 모드가 아니면, 경로(320)는 제5c도의 블럭(401)으로 후속되며 기능 LED는 녹색을 턴시켜 호스트와 PR 박스간에 링크를 설정하기 위해 진단 기록을 ACK/NAK로의 호스트에서 대기한다. 만일 링크가 결코 설정되지 않으면, NO 호스트의 에러 코드는 진단 LED내로 위치되며 PR 박스는 동작 모드로 진행한다. 만일 통신 링크가 후에 설정되면, 에러 코드는 클리어된다.
만일 소프트 에러(진단 레지스터 또는 기능 레지스터)가 존재하면 PR 박스는 제5c도의 동작 모드로 진행하여 배경 처리를 실행한다. 그러나, 임의 LED 표시는 부정확할 수 있다. 비활성 시스템, 즉 8031 고장을 제외하고, PR 박스는 가능하다면 자체 시험이 실패되어진 점(시험 번호)을 표시하는 동작 모드로 진행하려고 시도한다.
파워업 진단이 완료된 후에, 제어는 동작 펌웨어로 통과된다. 이 모드시, 펌웨어는 호스트와 PR 박스간의 링크의 활성을 유지하며 주변 장치와 호스트간의 지령/데이터를 멀티플렉스/디멀티플렉스 한다. 이러한 동작은 이하에서 상술되어 있다.
본 시스템의 진단/동작 시스템은 ROM에 기초를 두고 8031 마이크로 프로세서에서 실행된다. PR 박스 펌웨어는 현존하는 주변 장치와 호환성이 있으며 후술될 호스트 PR 박스 링크용으로 개발된 통신 프로토콜에 부착된다.
진단은 PR 박스의 파워업시 실행하기 위한 펌웨어의 제1부분이다. 진단은 제어가 동작 펌웨어로 통과되기 전에 시스템을 공지된 상태로 되게 한다. PR 박스의 시험 완료에 의하여, 시스템 RAM(51)은 초기화되며, 큐는 클리어되며, OCTALART(67)내의 UART는 디폴트 속도 및 데이터 포맷으로 세트되며, 진단 및 모드 레지스터(55 및 57)는 적정값으로 세트되며, PR 박스의 상태를 포함하는 시스템 상태 영역이 설정된다.
일단 진단이 완료되면, 진단 기록은 호스트로 전송되며, PR 박스는 동작 모드로 진행한다. 만일 전송할 다른 메시지가 없다면, PR 박스는 "무통신 링크"에 대한 에러 코드를 진단 레지스터(55)내로 기입하기 전에 ACK/NAK를 10초 동안 대기한다. ACK/NAK 타이머는 다른 모든 팩킷에 제공되며 20mSec 동안 타임 아웃된다. 일단 동작되면, UART는 주변 장치와 호스트간에서의 통신을 허용하도록 인에이블된다. "활성 유지"타이머 또한 호스트 링크의 활성을 유지하기 위하여 인에이블 된다.
[동작 모드]
이러한 모드시에, PR 박스(21)는 주변 장치와 호스트(19)간에 위치하는 중앙 통신 장치이다(제1도 블럭도를 참조). 이 모드를 상술하기 전에, PR 박스에서 사용된 임의 기본적 용어 및 메모리 할당에 대해 기술해야만 한다.
메모리의 페이지는 256바이트 길이이다. 메모리의 시작 페이지의 하위 어드레스는 0이며 상위 바이트는 0에서 255이다. 이러한 기술에 있어서, "포트"란 "채널"과 함께 상호 호환성 있게 사용되며 주변 포트로 언급된다.
8031은 온칩 RAM의 128바이트를 갖는다. 128바이트중 36바이트는 정면, 배면, 수신 및 전송큐 포인터에 사용된다. 각 수신 및 전송큐를 위한 정면 및 배면큐 포인터가 있다. 수신 및 전송큐는 각 SLU 포트에 할당되며 지령큐는 PR 박스에 할당된다. 8개의 포트 및 하나의 지령 채널이 존재하여, 18개 큐 및 36개 포인터가 있다. 하기의 목록은 각 큐 포인터에 주어진 명칭이다.
REAR_RX_QUE_PTR 포트 0 내지 7 및 지령 큐 8에 대한 배면 수신큐 포인터를 포함한 테이블
FRONT_RX_QUE_PTR 포트 0 내지 7 및 지령 큐 8에 대한 정면 수신큐 포인터를 포함한 테이블
REAR_TX_QUE_PTR 포트 0 내지 7 및 지령 큐 8에 대한 배면 전송큐 포인터를 포함한 테이블
FRONT_TX_QUE_PTR 포트 0 내지 7 및 지령 큐 8에 대한 정면 전송큐 포인터를 포함한 테이블
수신 및 송신큐는 오프칩 RAM내에 보유된다. 각각의 큐 엔트리는 수신된 버퍼 또는 전송할 준비가 된 버퍼의 어드레스이다. 각각의 엔트리는 워드 길이이며, 워드는 16비트이다. 제1바이트는 하위 어드레스이며, 제2바이트는 상위 어드레스이다. 버퍼는 이동되지 않고 단지 버퍼 어드레스가 이동된다. 아래의 목록은 중요 메모리 영역에 할당된 명칭이다.
RX_i_큐 i=0에서 7 및, 지령 큐 -1페이지의 경우
(256바이트 -128msg ptrs)
TX_i_큐 i=0에서 7 및, 지령 큐 -1페이지의 경우
(256바이트 -128msg ptrs)
채널_i_버퍼 i=0에서 7인 경우 각 포트에 대한 버퍼 공간, 포트 0 내지 7의 크기는 각각 3/4k, 2k, 2k, 1.5k, 3/4k, 3/4k, 3/4k, 2/75k임.
RX_버퍼 16바이트(8개 어드레스, 각 SLU에 대해 1개, 지령큐에 관련된 버퍼는 존재치 않음)_ 각 포트 버퍼에서 다음 자유 바이트를 포함
TX_버퍼 16바이트(8개 어드레스, 각 SLU에 대해 1개, 지령큐에 관련된 버퍼는 존재치 않음)_ 각 포트에 전송하기 위한 자유 바이트를 포함(전송기 인터럽트는 이것을 셋업함)
TX_크기_TBL 각 채널에 전송하기 위해 남겨진 바이트 수(8개 영역)
RX_타임_아웃 각 수신기 채널에 대한 타이머 바이트·결합-문자 타이밍용(8개 영역)
포트_타임_아웃 각 채널용 타이머·큐가 오버플로우될때 10㎳로 세트
(포트는 10㎳ 동안 턴 오프됨)(8개 영역)
KA_타이머 활성 유지 타이머. 패킷이 호스트로 전송될 때 마다 10으로 리세트되는 10초 타이머. 이 타이머가 타임 아웃되면, 활성 유지 팩킷이 호스트로 전송됨
ACK_NACK_타이머 팩킷이 호스트로 전송되었을때 합계 검사 완료후 20㎳로 세트되는 타이머.(이 타이머는 이 시간 주간 동안 ACK 또는 NACK를 수신하지 않은 경우, 에러 LED가 PR 박스에서 세트됨)
모든 포인터, 큐, 버퍼 및 테이블이 억세스되는 방법은 베이스 어드레스(또는 베이스 페이지)를 취득하며 현재의 채널 번호(또는 다수의 채널 번호)에 가산하는 것이다. 예를들어, 채널3수신큐를 억세스하기 위하여, 수신큐의 베이스 페이지가 얻어진다. 모든 수신큐에 대해 베이스인 상위 어드레스 예를들어 BASE_Rx PAGE가 얻어지며, 채널 번호가 이것에(본 경우에 있어서는 3) 가산된다. 일단 이것이 행해지면, 오프셋3에 플러스된 FRONT_RX_QUE_PTR로 포인터된 값은 채널3의 정면 포인터에 대해 하위 어드레스로서 사용된다. 채널 번호는, OCTALATR 인터럽트 동안, 인터럽트를 발생하는 채널의 번호를 기억하는 OCTALART내 레지스터로부터 판독함으로서 쉽사리 획득된다. 따라서, 예를들어, 만일 데이터가 채널3에서 부터 입력되면, OCTALART 인터럽트를 발생한다. 채널(3)은 OCTALART 레지스터내에 기억된다. PR 박스는 이 레지스터를 판독하여 이 값(3)을 베이스 값에 가산시키며 이러한 방법은 포인터 등등, 예를들어 채널3에 필요한 어드레스를 빠르고 쉽게 획득한다. 따라서, 모든 큐, 버퍼 등등은 호스트가 접속되어지는 채널이므로 약간 다르게 처리되는 채널7을 제외한 공통 서브 루틴 및 인터럽트 루틴으로 일반적으로 처리될 수 있다.
모든 큐 및 버퍼는 순환식이다. 큐는 이것이 단지 한페이지 길이라는 사실에 의하여 순환식이다. 상위 페이지 어드레스는 8031의 P2 레지스터내로 직접 로드된다. 정면 배면 수신기/전송큐 포인터는 외부 억세스에서 사용될 수 있는 8031의 레지스터 R0 또는 R1내로 직접 로드된다. 포인터가 1바이트, (R0/R1)이므로, 이들 포인터가 FE16로부터(2씩) 증가될 때 자동적으로 0으로 세트된다(FE16+2=10016, 그러나 1바이트 값이므로 1이 버려진다). 데이터 검사는, P2 및 R0/R1이 독립 레지스터이며, 한 레지스터가 상위 어드레스바이트(P2)로 이동되지 않으므로 할 필요가 없다.
일단 동작 모드이면, PR 박스는 주변 장치에 대한 디폴트 보오 속도로 모든 채널을 초기화시키며 특정채널에 대해 예기한다. 디폴트 보오 속도는 제7도의 테이블에서 설정된다. 이러한 예기에 의하여 PR 박스는 또한 각 주변장치로 전송되며 또한 이 장치로부터 수신된 데이터의 최대 거리는 달성하기 위해 버퍼크기를 할당한다. 버퍼 크기는 버퍼 공간은 중복 기재하지 않고 최대 256 팩킷 기억 영역을 제공하도록 선택된다. 이것은 호스트로 전송하기 위해 준비된 큐에서 128 팩킷 및, 호스트 전송큐로 이동되기를 대기하는 주변 수신큐내에 다른 128 팩킷으로 구성된다. 예를들어, 채널 0 버퍼는 768바이트(3/4K)로 초기화되어 단일 문자 장치인 키보드에 적합하다. 키보드로부터 수신된 버퍼에 기억된 각 팩킷은 3바이트 즉 채널 번호, 크기 바이트 및 데이터 바이트로 구성된다. 256 팩킷을 기억하기 위해, 할당된 버퍼는 256×3=768바이트(3/4K)길이이다. 일단 호스트와 PR 박스간에 통신이 설정되면, 호스트는 각 주변 장치를 질의하여 무슨형의 주변 장치가 접속되었으며 필요하다면 보오속도로 조정할 수 있는지를 확인한다.
PR 박스를 실행하는 주 루틴은 상기 배경 처리이다. 제5c도는 배경처리를 기술하는 흐름도이다. 먼저, 블럭(401)에서, 펌웨어의 이 부분을 기입함에 의해 기능 레지스터 출력은 녹색으로 턴된다.
다음에, 블럭(403)에서 도시된 바와같이, 이러한 처리는 수신 및 전송큐가 비워져 있는지를 알기 위해 이 큐를 조사한다. 이것은 각 큐에 대해 정면큐 포인터와 배면큐 포인터를 비교함으로써 행해진다. 만일 정면이 배면과 동일하면, 큐는 공백이며, 동일하지 않으면, 임의 작용이 취해져야 한다. 배경 루틴에서 사용된 값 1은 물론 채널 번호이다. 이러한 경우에 있어서, i는 베이스 값에 가산되어 정면 및 배면 포인터를 검사하는데 필요한 어드레스를 얻게 된다.
제6a도 내지 제6e도는 데이터가 주변 장치로부터 수신큐내에서 수신될 때 발생되는 것을 도시하며 또한 본 발명에 따른 순환큐 또는 순환 버퍼의 사용을 도시한다. 제6a도는 큐의 상태를 도시하며, 버퍼는 팩킷이 수신되기 전에 초기화된다. 채널2의 큐(410)가 도시되며, 채널2의 버퍼(415) 및 테이블(417)은 수신 채널 Rx0-Rx7 및 송신 채널 Tx0-Tx7 각각에 대한 다음 이용 가능한 메모리 영역의 포인터를 포함한다. 상술된 바와같이, 데이터는 버퍼에서 버퍼로는 이동되지 않으나 어드레스만은 큐에서 큐로 이동된다. 따라서, 채널2에 대해 버퍼2는 데이터를 수신하며 또한 이 버퍼로부터 데이터가 호스트로 전송된다. 이 팩킷에 대해 수신 시작시에, 큐(410)는 공백, 즉 정면 포인터(411)는 배면 포인터(412)와 동일하다. 정면 및 배면 포인터(410 및 411)가 수신큐(410)(Rx_2_큐)의 상단에 있기 전에 수신된 많은 팩킷이 존재할 수 있다. 테이블(417)의 Rx2에 대한 포인터(416)는 16진 44FD인 버퍼(415)내의 그 다음 자유 버퍼 공간으로 지정된다.
제6b도는 채널2에 대한 제1수신 인터럽트가 발생한 후에 무엇이 발생하는 가를 도시한다. 어드레스는 상기와 같은 방법으로 채널 번호(2)를 베이스 어드레스에 가산시킴으로써 얻어진다. 문자, 본 실시예에서는, "A"가 판독된다. Rx_Buffer 포인터(416)의 어드레스는 Rx_2_큐(410)내로 이동된다. 팩킷은 채널 번호(418), 팩킷(419)의 크기와 함께 1로 초기화된 채널_2_버퍼(415)내로 로드되며 문자는 블럭(420)에서 표시된 바와같이 "A"로 판독된다. 이러한 작용은 이후 상술된 채널2의 결합 문자 타이머를 개시시킨다.
다음 자유 버퍼 공간이 포인터(416)의 테이블(417)에 저장된다. 그 다음 자유 버퍼 공간 포인터는 16진의 3D00이다. 최종 자유 버퍼 공간 포인터는 버퍼의 종료 영역인 16진의 44FF이었다. 16진의 4500으로 자유 버퍼 공간 포인터를 범핑하여 그 다음 SLU 데이터 공간으로 진행하여 데이터를 잃어버리는 것 대신에, 자유 버퍼 공간은 채널_2_버퍼의 개시로 랩 된다. 후술된 팩킷의 번호 및 팩킷의 크기 때문에 과실행은 발생하지 않게 된다. 이것으로 PR 박스 소프트 웨어로 순환 버퍼의 사용이 입증된다.
상술되고, 제6b도에서 도시된 바와같이 동일한 이벤트 순차가 제6c도 및 제6d도에서 도시된 바와같이 반복된다. 문자(B 및 C)가 판독되어 채널2의 버퍼(415)의 개시시에 기억되며 팩킷 크기(419)는 따라서 증가된다. 각 문자는 테이블(417)의 포인터(146)(자유 버퍼 공간 포인터)가 표시하는 채널_2_버퍼(415)의 어드레스로 이동된다,. 포인터(416)는 증가되며 결합 문자 타이머는 재개시 된다. 이러한 이벤트 순서는 결합문자 타이머가 완료될 때까지 계속된다.
제6a도 내지 제6e도는 동시에 각 큐내의 한 팩킷만을 도시하는 것으로 간략화된다. 사실상, 각 큐는 다수의 엔트리를 갖을 수 있으며, 각 포트는 팩킷을 동시에 송수신할 수 있다. 전송큐를 가지면 수신큐, 버퍼 및 PR 박스내 각 채널에 전송된 관련 포인터가 이러한 동작을 가능하게 한다.
제6e도는 일단 결합 문자 타이머가 완료되면, 배면 포인터(412)가 그 다음 자유 영역(16진의 FF+2=00)으로 범프되는 것을 도시한다. 이러한 것으로 배면 포인터는 큐를 개시시켜 P2 및 R0/R1 레지스터의 사용 결과로써 PR 박스 소프트 웨어로 원형 큐의 사용을 다시 입증하게 된다.
PR 박스로부터 송수신된 모든 데이터는 인터럽트 루틴으로 처리된다. 예를들어, 제6a도 내지 제6e도의 단계 동안 주변 장치에서 호스트로 전송되어질 데이터 팩킷을 설정하도록 발생하는 루틴이 존재한다. 이들 팩킷은 상기 주변 장치에서 수신된 문자수가 6바이트인 허용된 최대 팩킷 크기와 동일하거나, 또는 상기 주변 장치에 대해 결합 문자 타이머가 타임 아웃이면 완료되는 것으로 간주된다. 예를들어, 타블릿 기록 크기는 5바이트로 제5바이트후에는 타임 아웃되면 팩킷이 완료된다. 결합 문자 타임 아웃은 약 2문자 타임이 바이트의 수신없이 통과하면 발생한다.
주변 장치 타입 아웃은 초기화 코드가 개시되기 전에 초기화 되어지는 결합 문자 타이머에 의해 처리된다. 타이머내로 로드된 값을 보호 속도에 관련된다. 각 채널에 타이머 영역이 존재한다. 제8도의 테이블은 상이한 보오 속도로 사용된 타이머 값의 목록을 포함한다. 타이머 값은 제9도에 관해 후술될 타이머 0 인터럽트 루틴에서 감소된다. 예를들어, 타블릿이 4800 보오로 5바이트 길이인 기록을 전송하는 경우를 고려해 보자. 4800 보오 및 문자당 11바이트에서는 전송용으로 문자당 약 2.3msec가 걸린다. 다음에 이 기록이 전송되는 경우에 있어서, 타이머는 약 5msec후에 완료되며 버퍼는 완료된 것으로 표시된다.
제6b도에 관하여 상술된 바와같이, 제1문자가 포트 0 내지 6(주변 포트)상에서 수신될 때, 상기 포트의 버퍼(415)내의 제1자유 공간의 어드레스는 큐(410)에 기억된다. 현재의 포트 번호는 블럭(418)에서 상기 영역에 기억된다. 그 다음 버퍼 영역(419)은 1로 초기화되는 크기이다. 최종적으로, 예를들어 A로 판독되어진 문자는 버퍼내에 기억된다. 후속 바이트는 버퍼(415)에 기억되며, 크기 바이트(419)는 증가된다.
따라서, 각 바이트가 판독된후, 이 포트에 대한 타이머는 단일 문자의 전송시간을 약 두배로 초기화시킨다. 이 결합 문자 타이머 값은 호스트가 임의 채널에서 보오 속도를 변경하면 조정된다. 팩킷은 완료되며, 제6a도 내지 제6e도의 i번째 배면 포인터(412)는 타이머가 0(타임 아웃)로 계수되거나, 크기가 6과 동일하면 2만큼 범프되며, 여기서 i는 제6e도에서 도시된 바와같이 채널 번호이다.
배경 처리가 제6e도에서와 같이 비공백 Rx 큐를 검사한 후에, 수신큐의 정면(411)에서의 버퍼 어드레스는 Tx_7_큐(호스트)(420)의 배면(422)으로 이동된다. Rx 큐의 정면 수신기 포인터(411)는 (전송되어질 더 이상의 데이터 버퍼를 갖을 수도 갖지 않을 수도 있는) 그 다음 영역으로 범프되며, Tx_7_큐의 배면(422)은 그 다음 자유 영역으로 범프된다. 이것은 제6f도에서 도시된다.
일반적으로, 전송기는 이미 온되지 않았거나 ACK/NAK 또는 활성 유지가 전송되어질 필요가 있으며, 큐로 공백이 아니면 포트 7에 턴온된다. 만일 지령큐가 공백이 아니면, 지령 파서(parser)가 실행된다. 전송기 인터럽트는 최종 문자가 전송될 때 스스로 턴오프된다. 배경 루틴, 전송, 수신 및 시간 인터럽트 모두는 서로 비동기식으로 실행된다.
따라서, 수신큐가 공백이 아니며 큐가 포트 0 내지 6 또는 지령큐이면, 이 큐의 정면에 있는 큐 엔트리는 포트7의 전송큐(420)의 배면(422)상으로 푸쉬된다. 엔트리가 방금 중단된 수신큐의 정면(411)은 제6f도에 관하여 상술된 바와같이 2씩 증가된다. 기술된 것은 정보가 주변 장치로부터 어떻게 버퍼 및 수신(Rx)큐에 기억된 버퍼 영역내로 수신되어 호스트로 전송되어질 Tx_7_Que로 전송되는가에 대해 기술하고 있다.
주변 장치(0 내지 6) 또는 PR 박스(지령 채널)의 호스트로부터 나온 팩킷은 먼저 Rx_7_Que에 기억된 영역에서와 동일한 방식으로 처리되어 각각의 Tx_큐로 전송된다.
만일 포트 7의 수신큐, Rx_7_Que (호스트)가 공백이 아니면, (큐엔트리에서) 버퍼의 제1바이트는 엔트리가 전달되는 포트를 포함한다. 이 포트 값은 적절한 전송큐를 선택하는데 사용되며, 버퍼 어드레스+1은 이 전송큐상으로 푸쉬되어지는 값이다. 만일 수신지가 포트 7(즉, PR박스로의 지령)이면, 이것은 지령 큐상으로 푸쉬되어진다.
포트 7에서 수신된 제1문자는 ACK, NACK 또는 SOH이어야 한다. 만일 SOH이면, PR박스는 팩킷을 수신하도록 예기된다. 후속되는 모든 문자는 채널 7의 버퍼에 기억된다. 최종 데이터 문자가 판독된 후, 수신된 합계 검사는 계산된 합계 검사와 비교된다. 만일 이들이 동일하면, 호스트로 ACK가 전송되며 채널 7의 배면 포인터는 2만큼 범프된다. 만일 합계 검사가 일치하지 않거나, 또는 결합 문자타이머가 완료(호스트에 대해 10msec)되면, 호스트로 NACK가 전송되며, 채널 7의 배면 포인터는 증가하지 않는다(PR박스는 기억된 데이터를 무시한다).
일단 엔트리가 포트 0 내지 6에 대한 전송큐상으로 푸쉬되어 공백이 아니면, 전송기 인터럽트가 이미 턴온되지 않았으면, 이 채널에 대해 턴온된다.
포트 0 내지 6상의 전송 인터럽트는 전송하기 위한 버퍼의 i번째 전송기 큐 정면 포인터에서 어드레스를 취한다. 제1바이트는 전송되어지지 않는 크기이지만, 후속 바이트는 크기가 0이 될 때까지 전송된다. 인터럽트가 모든 데이터 바이트를 전송하는 것을 끝낼 때, i번째 전송기의 정면 포인터는 2만큼 범프되고, 이 포트에 대한 인터럽트는 턴오프된다.
포트 7에 대한 전송 인터럽트는 ACK, NACK 또는 팩킷을 호스트로 전송하기 위한 것과 같은 여러 이유가 있을 수 있다. 포트 7(호스트 포트)에 대한 전송 인터럽트는 활성 유지 타이머를 10초로 다시 초기화시킨다.
만일 PR 박스가 팩킷을 호스트로 전송하기로 한다면, 인터럽트의 제1시간은 SOH를 전송한다. 인터럽트 루틴의 제2시간은 제6g도에서 도시된 바와 같이 채널 7의 전송기큐(420)의 정면 포인터(421)에 의해 지정된 팩킷 어드레스를 얻게 된다. 이 어드레스에서 제1바이트는 팩킷의 출처인 채널이다. PR박스는 이 바이트를 택해, 전송하여 채널 7의 영역에서 Tx_버퍼 테이블(417)에 전송하도록 다음 바이트의 어드레스를 기억한다. 예를 들어, 제6g도는 제6a도 내지 제6e도에서 도시된 바와 같이 얻어진 채널 2에 대한 정보를 전송하는 것을 도시하고 있다. 다음 시간에서 팩킷의 크기를 전송하며, 크기가 0이 될 때까지 후속 데이터 바이트를 전송하기 위해 크기를 사용한다. 각 바이트가 전송될 때, Tx 버퍼(7)는 다음 바이트를 지정하기 위해 증가된다. 각 바이트가 전송될때, 또한 합계 검사 계산되어, 합계 검사는 크기가 0일때 전송된다. 합계 검사가 전송된 후, 타이머는 ACK 또는 NACK를 대기하기 위해 20msec로 초기화되어, 인터럽트는 턴오프된다. 만일 ACK가 수신되면, 채널 7의 정면 포인터는 제6h도에서 도시된 바와 같이 2만큼 범프된다. 만일 타이머가 완료되면, 이 포인터는 2만큼 범프되며, LED는 호스트가 응답하지 않는 것을 표시하도록 에로 코드를 갖는다. 다른 팩킷은 ACK/NACK가 수신되거나 또는 타이머가 완료될때까지는 호스트로 전송될 수 없다.
상기와 같이, 호스트는 물리적 채널 어드레스로 데이터를 전송한다. 호스트는 특정 채널대로 플러그 접속되는 장치를 나타내는 테이블을 보유한다. 호스트는 자체 시험 기록을 전송하기 위해 장치를 요청함으로써 특정 채널에 대한 장치를 나타낼 수 있다. 이것은 상호 교환될 수 있는 공통 접속기(즉 마우스 및 타블릿, 타이얼 박스 및 디지트 박스, 등등)을 갖는 장치에 대해 행해진다. PR박스는 장치가 장치 존재 비트를 찾음으로써 채널에 접속되는지 여부를 판단하고자 한다. 마우스, 타블릿, 버튼 박스, 다이얼 박스 및 스페어 키보드 채널은 장치 존재 비트를 갖는다. 이들을 사용함으로써, PR박스는 장치가 그 외부에 있는지는 알 수 있지만 현재 어떠한 형의 장치인지는 알 수 없다.
PR박스가 자체 시험 기록을 전송할 때 시스템(장치 존재 비트를 갖는 이들 장치만)의 현재 구성은 1바이트이다. 스페어 채널, 호스트 채널 또는 키보드 채널에 장치가 존재하는지를 확인하려는 시도는 행해지지 않는다.
수신 인터럽트는 장치가 플러그/언플러그되면 채널 1 내지 4 및 6상에서 발생한다. 만일 이러한 인터럽트가 발생하면, 메시지는 호스트로 전송된다. 다음에 호스트는 주변 장치가 있다면, 존재하는 것을 알기 위해 상기 포트를 질의하여 테이블내에 이 정보를 기록한다. 지령을 주변 장치로 전송하므로써 보오 속도를 세트하고 다음은 지령을 PR박스로 전송하여 당해 포트에 대한 UART보오 속도를 세트한다. 보오 속도는 예를들어, 과다 전송 에러를 만나게되는 경우 데이터의 전송을 천천히 줄이기 위해 호스트에 의해 다른 시간으로 리세트될 수 있다.
타이머 0인터럽트는 결합 문자 타이머용 카운터, 사전에 턴오프되어진 포트용 카운터 및 ACK/NACK카운터를 포함한다. 제9도는 타이머 0을 도시하는 흐름도이다.
제9도에서 표시된 바와 같이, 타이머 인터럽트는 거의 매 1.38msec마다 발생한다. 인터럽트의 발생시, 블럭(501)에서 표시된 바와 같이, 레지스터는 세이브되고 레지스터 뱅크는 변경된다. 그 다음 인터럽트로의 시간은 블럭(503)에서 표시된 바와 같이 1.38msec로서 로드된다. 다음 단계에서는 결합 문자 타이머의 수신기 타임 아웃 테이블의 베이스 어드레스를 얻게된다. 이 테이블을 제7도 및 제8도에 포함된 동일한 정보를 포함하여, 즉 각 채널에 대해 결합 문자 타이밍 값을 제공한다. 그 다음 블럭에서는 i가 0와 등가인 경우의 처리를 개시하는 것을 나타낸다. 즉, 블럭(507)에서 표시된 바와 같이, 채널 0에서 시작한다. 판단블럭(509)은 수신기의 타임 아웃 i가 0와 동일한지를 알기 위해 행해지는 검사를 통해 제1시간에 시작된다. 만일 0과 동일하지 않으면, 블럭(511)이 시작되며 타임 아웃은 1씩 감소된다. 또 다시 판단 블럭(513)에서 타임 아웃이 0에 도달되었는지를 알기 위한 검사가 행해진다. 만일 응답이 예이면 블럭(515)에서 표시된 바와 같이 메시지의 종료이며, 상기와 같이, 배면큐 i가 범프된다. 판단 블럭(509)에서 타임 아웃이 0과 동일하면 이것은 이 채널에서는 아무 것도 행해지지 않는다는 것을 의미한다. 만일 판단 블럭(513)에서의 응답이 아니오 이면, 이것은 타임 아웃이 발생되지 않았다는 것을 의미한다. 상기 두 경우에 있어서, 블럭(517)이 개시되어 i는 그 다음 채널로 증가된다. 이 다음에 판독 블럭(519)은 i가 7과 동일한지를 알기 위해 시작된다. 만일 그렇지 않으면, 프로그램은 루프(520)에 의해 다음 채널에 대한 타임 아웃을 검사하기 위해 판단 블럭(509)으로 다시 루프한다. 채널 7이 도달되면, 블럭(519)으로부터 "예" 응답으로 표시된 바와 같이 판단 블럭(519)이 시작된다. 여기서 PR박스가 호스트 채널상에 수신되는가를 알기 위해 검사가 행해진다. 만일 그렇다면, 블럭(521)에 따라 타임 아웃이 1만큼 감소된다. 블럭(523)에서는 타임 아웃이 0과 동일한지를 알기 위해 검사가 행해진다. 만일 그렇다면, 호스트 채널상에 타임 아웃이 존재하며 블럭(525)에서 표시된 바와 같이 여러 단계가 택해진다. 만일 타임 아웃이 발생되지 않으면, 프로그램은 블럭(527)으로 직접 속행한다. 여기서 표시된 바와 같이, 턴오프된 포트상의 타임 아웃에 대한 검사가 행해진다. 이것은 방금 기술된 동일한 일련의 단계를 사용하여 행해진다.
블럭(527)을 통과한 후에, PR박스가 ACK 또는 NACK를 대기하는지 아닌지를 알기 위해 판단 블럭이 시작된다. 만일 판단 블럭(529)에서의 응답이 "아니오"이면, 블럭(531)이 즉시 시작되며 레지스터가 재기억되고 인터럽트로부터 주프로그램으로의 복귀를 나타낸다. 만일 PR박스가 대기중이면 블럭(533)이 시작되어 ACK/NACK 타이머가 감소된다. 다음에, 타이머가 0인지를 알기 위해 블럭(535)에서 검사가 행해진다. 만일 그렇지 않다면, 블럭(531)이 시작된다. 만일 0이면 ACK/NACK 및 전송기 7플래그의 대기는 클리어되며 전송기 7큐의 정면 포인터는 블럭(537)에 의해 나타낸 바와 같이 범프된다. 다음에, 블럭(539)이 시작되어 만일 시스템이 개시되지 않으면 호스트 진행 에러가 제2도의 LED(52)에서 점등된다. 이후에, 블럭(531)은 다시 시작된다. 제9c도에서 도시된 바와 같이, 블럭(541)에서 도시된 바와 같이 종료 메시지(515)가 발생될 때, 메시지가 종료된 i번째 채널에 연관된 수신기의 배면 포인터는 2만큼 증가된다. 다음에, 블럭(543)에서 표시된 바와 같이, 수신된 진행 플래그는 블럭(545)에서 나타난 바와 같이 수신 타임 아웃의 클리어링에 의해 클리어된다. 다음에, i가 호스트 채널과 동일한지를 알기 위해 판단 블럭(547)에서 검사가 행해진다. 만일 그렇다면, 블럭(549)에서 취해진 작용은 실행된다. 이것이 실행되거나 또는 만일 블럭(547)의 응답이 아니오이면, 프로그램은 제9a도의 블럭(517)으로 복귀된다. (END_MSG는 펌웨어의 어느 곳에서나 사용된다)
타이머는 이것이 "0"이 아니면, 단지 감소된다. 만일 "0"이 아니면, "0"이 전이되고 임의 작용을 취한다. 만일 결합 문자 타이머가 완료되면, i번째 수신기의 배면 포인터(412)는 2만큼 범프된다. 만일 사전에 오프된 포트의 타이머가 완료되면, 이 포트는 턴온된다. 포트는 너무 많은 데이터를 얻어 큐가 오버플로우되면, 턴오프된다. 포트는 10msec동안 턴오프된다. 만일 ACK/NACK타이머가 완료되면, 채널 7전송기의 정면포인터(421)는 2만큼 범프되며, 응답하지 않는 호스트에 대한 에러는 LED(57)에 위치된다.
타이머 1인터럽트는 "활성 유지" 타이머에 대한 카운터를 포함한다. 이것은 각 엔트리에 대해 1씩 감소된다. 만일 0로 전이되면, 플래그는 세트되어 제5c도의 배경 처리는 "활성 유지" 메시지를 호스트로 전송시킨다.
따라서, 호스트로부터 팩킷을 수신하기 위한 인터럽트 루틴은 번역하기 위해 제5c도의 배경 처리를 메모리에서 설정한다. 또한 이러한 배경 처리는 호스트 및 주변 장치로 데이터 팩킷을 전송하기 위해 인터럽트 루틴에 대한 처리를 설정한다.
[팩킷 한정]
상기와 같이, 주변 장치로부터 PR박스에 의해 수신된 바이트는 호스트로 전송되어질 팩킷으로 그룹화된다. 팩킷 한정은 다음과 같다.
SOH 1바이트 : 10진 1
Header 1바이트 : 제10도 참조
바이트 계수 1바이트 : 메시지 번호
메시지/데이터
텍스트 데이터 바이트
주변장치에 따른 메시지/보고서/데이터
바이트들의 길이
합계 검사 1바이트 : 총전송에 대한 합계 검사
전술한 팩킷에 대한 응답 : ACK/NAK 1바이트 : 10진 6/21
헤테 바이트 피일드는 제10도에 예시되어 있다.
3비트 장치 코드는 이용 가능한 모든 비트를 이용한다. 키보드, 마우스, 타블릿, 다이얼 박스, 버튼 박스, PR 박스 시스템 및 2개의 스페어 포트를 위한 장치 코드가 존재한다. 호스트 채널은 PR박스 시스템의 부분이라고 생각되며 즉 호스트 채널은 111의 DEV ID를 사용한다.
제10도의 수령 에러 비트는 장치 코드에 의해 식별된 연관 장치를 갖는 문제점을 나타내는데 사용된다. 이 비트는 상기 PR박스가 패리티, 프래밍 혹은 상기 장치에 관련된 UART에서의 하드웨어 오버런 에러를 확인할 때, 세트된다.
수령 에러 비트=논리 1은 에러가 발생되었음을 지시함.
응답 비트는 상기 PR박스가 상기 호스트에 의해 행해진 요청에 응답하고, 수반되는 보고서 또는 데이터가 상기 PR 박스 또는 주변 장치에 의해 발생되지 않는 상기 호스트를 나타내기 위해 사용된다. 이 비트는 이하에서 "자체 시험 지령" 및 "상태 보고 지령"으로 각기 논의될 지령들(T, R)에 대한 응답을 위해 사용된다.
응답 비트=논리 1은 호스트로부터의 사전 요청에 대한 응답 임을 지시함. PR박스 지령에만 사용된다.
"활성 유지 비트"는 소정 시간 주기(예. 10초)내에 트랜잭션이 존재하지 않는 경우에, 상기 시간내에 호스트에 널 전송(null transmission)을 보내는데 사용된다. 호스트 감시 장치 타이머는 10초로 세트된다. 이것의 기능은 상기 PR박스가 계속 접속되어 있지만 데이터를 전송하지 않고 있음을 호스트에게 알려주는 것이다. 상기 호스트는 그 감시 장치 타이머를 리세트시키고, 사이클을 다시 재개한다.
활성 유지-논리 1은 활성 유지 기능판을 지시함.
장치 변경 비트는 장치 존재 비트를 가진 장치가 PR박스에 접속되었는지의 여부를 지시하기 위해 세트된다. 이 비트가 세트되었을때 팩킷은 1메시지 바이트를 포함한다. 이것은 구성 바이트이다. 이 구성 바이트는 시스템에 플러그 접속될 장치 존재핀을 갖는 모든 장치를 위해 1비트 세트를 갖게 된다.
장치 변경 비트-논리 1은 장치의 상태가 변경되었음을 나타냄.
시스템 에러 비트는 에러 보고를 상기 호스트에 보내는데 사용된다. 이 비트가 세트되었을 때 팩킷에는 1데이터 바이트가 존재한다. 이 데이터 바이트는 에러 코드이다. 현재 존재하는 에러 코드는 다음과 같다.
1. 01H-호스트로부터 나쁜 지령이 전송되는 경우
2. 02H-장치 큐가 오버플로우를 발생하는 경우
이 에러 검출을 위해 두 방법이 이용된다.
1. 전송에 대한 합계 검사(자리 올림수를 가산함)
2. 각 바이트에 대한 기수 패리티 검사
만약 활성 유지 비트가 세트되면 응답 비트와 에러 비트는 호스트에 의해 무시된다. DEV ID와 활성 유지는 PR박스 장치가 된다.
[전송 프로토콜]
전송 프로토콜은 다음과 같다. 오리지네이팅 장치는 자체 데이터를 전송하고 ACK(모두 OK) 또는 NAK(일부는 트랙되지 않고 재전송됨)을 위해 대기한다. 상태 정보는 오리지네이팅 장치 즉 호스트가 ASCII ACK/NAK 문자 백과는 다른 어떤 것을 기대한다는 점에서 조금 다른 비트이다. 이것은 응답 비트가 사용된 경우이다.
만약 NAK가 PR박스 또는 호스트에 의해 수신된 경우, 상기 소스 장치는 이전 전송을 재개한다. NAK를 보낼 장치는 이전 전송을 플러쉬하게 되고, 새로운 요청으로서 재전송에 응답한다.
제11a도 내지 제11c도는 호스트 원점 데이터; PR박스 원점 데이터 및 상기 호스트에 의한 보고 요청을 각기 도시한 것이다.
자체 시험 지령이 정규 데이터로서 주변 장치에 직접 전송되었을 때, 되돌아 오는 응답은 상기와 동일한 방식 즉 데이터로서 처리되며, 응답 비트는 세트되지 않으며, DEV ID는 주변 장치의 DEV ID가 된다. DR박스는 개별적으로 개개의 주변 장치를 테스트하기 위해 특별한 지령을 갖지 않는다
장치 오버런 에러가 발생했을때, 데이터는 손실될 수도 있다. PR박스가 오버런 에러를 갖고, 자신의 큐가 비워지기도 전에 상기 장치로부터 데이터가 계속 수신할 때, 상기 장치의 수신 동작은 10msec 동안 턴오프된다.
10msec가 경과한 후, 이 수신은 다시 턴온되고, 입력될 데이터는 호스트로 전송될 수 있도록 큐에 놓여진다. 상기 10msec 동안 수신 동작은 중지되고 데이터는 손실된다.
주변 장치로부터 나온 데이터는 PR박스에 의해 1팩킷당 최고 6바이트로 제한된다. 만약 주변 장치가 바이트간에 어떤 널 시간 주기를 두지 않고 6개의 연속 데이터 바이트 보다 많이 전송하게 되면, 상기 PR박스는 상기 팩킷을 최고 6데이터 바이트로 분리시킨다. 호스트에서 PR박스로의 팩킷은 데이터 제한 검사를 받지 않는다. 그러나 호스트는 안전을 위해 1팩킷의 데이터 크기를 9데이터 바이트로 제한해야 한다. 이 PR박스는 9데이터 바이트로 구성된 팩킷을 256개까지 안전하게 기억할 수 있고 큐 오버플로우 조건에 따라 상기 호스트에 경고한다. 만약 상기 호스트가 대규모 팩킷을 전송하면, 팩킷간의 장시간의 간격을 두고 18데이터 바이트로 구성된 128개의 팩킷을 전송함으로서, 덜 빈번하게 팩킷을 전송한다.
이상 설명한 바와 같이, 장치로부터 출력된 데이터의 팩킹 처리는 타이머에 의해 처리된다. PR박스가 주변 장치의 문자 길이의 2배가 되는 "널"시간 주기를 찾아냈을 때, 이 팩킷은 종결되고 호스트로 전송될 수 있도록 큐에 놓여진다. 호스트로부터의 전송에 대한 디폴트 즉, 1팩킷의 2바이트간에 10msec의 널 시간이 존재한다. 이 타이머가 완료되면 NAK는 호스트로 전송될 것이다. 이 호스트의 디폴트 속도가 변경되면 타이머는 문자 길이의 2배가 되는 시간 주기로 복귀할 것이다.
이미 전술한 바와 같이, "활성 유지"(약 10SEC)와 ACK/NAK(약 20msec)를 위한 타이머들도 존재한다.
[PR박스에 대한 지령]
[자체 시험 지령]
T-PR시스템을 검사하고 자체 시험 보고서(구성을 포함함)를 전송한다.
주의-시험 T는 10초 보다 적은 시간 동안 상기 PR박스를 상기 호스트로부터 일시적으로 분리시킨다.
[상태 보고 지령]
R-주변 장치의 구성을 포함한 PR시스템의 상태를 보고함.
[보오 속도 변경 지령]
°Cnx-여기서 "n"은 채널 번호(0-키보드…7-PR-호스트 링크)이고, "x"는 보오 속도이다.
°Cnxyz-여기서 "n"은 스페어 채널(5)이고, "x"는 보오 속도이고, "y"는 패리티(ASCII 0(16진 4F)-기수의 경우, ASCII E(16진 45)-우수의 경우 또는 ASCII N(16진 4E)-아무것도 없는 경우)이고, "z"는 비트/문자(16진 5, 6, 7 또는 8)이다.
주의 : 패리티와 비트/문자는 스페어 포트에 대해서만 변경될 수 있지만, 스페어 채널에서의 보오 속도는 패리티 및 비트/문자의 변경없이 변경 가능하다. 타 포트들은 보오 속도만을 변경시킬 수 있다.
보오 속도(x)표는 다음과 같다.
[LED 점등 지령]
Lx-여기서 "x"는 진단 레지스터 LED에서 표시될 비트 패턴(비트 0는 최하위 비트임)이다.
주의 : 비트들(0-6)만 유저에 의해 변경 가능하다. 비트(7)는 PR박스에 의해서만 변경된다. 이 비트는 에러 표시용으로 사용될 수 있다. 비트(6)은 유저에 의해 변경 가능하지만 이 비트는 시스템 레벨 에러를 나타내기 때문에 경고가 유발될 수도 있다.
[LED 디스플레이]
제12도는 여러 단계에서 어떤 LED 레지스터가 작동중인 PR박스인지에 대해 도시한 것이다. 6개의 시나리오가 존재한다.
[진단 보고 포맷]
진단 보고 포맷은 다음과 같다.
1 17 4 x x y z 합계 검사
여기서, 1은 SOH이고, 16진 17은 응답 비트 세트를 가진 PR박스용 장치 ID이고, 4는 데이터 바이트의 갯수이고, X'은 에러 코드 또는 0(에러 없음에 대한)이며, Y는 구성 바이트이고, z는 펌웨어 수정을 의미한다.
[진단 에러 코드]
상기 LED와 기능 적색 LED로 기록된 PR박스 에러 코드의 정의
○ 081H-8031에서 접하는 에러
○ 083H-진단 레지스터에서의 에러
○ 083H-기능 레지스터에서의 에러
○ 084H-외부 RAM에서의 에러
○ 085H-ROM의 합계 검사에서의 에러
○ 086H-불필요한 인터럽트 수신
○ 088H-088FH-인터럽트의 생성 또는 수신시에 발생된 에러
○ 090H-097H-DC349 레지스터에서의 에러
○ 098H-09FH-DC349의 로컬 루프백에서의 에러
○ 0A0H-0A7H-DC349의 외부 루프백에서의 에러
○ 0A8H-0AFH-DC349(현존하는 장치에 대해 사용되는)의 DSR 또는 DCD핀들에서의 에러
상기 호스트와 PR박스간의 통신 링크가 상태가 좋지 않으면, PR박스는 하기 코드를 보고하게 된다.
○ 040H-상기 호스트가 적절한 시간내의 팩킷의 ACK/NAK가 아닌 경우 연산 모드에서 보고됨(비트 7을 포함하지 않음).
Claims (26)
- 데이타 송신 장치(23, 25, 27, 29, 31, 33, 35), 리피터(21) 및 데이타 수신 장치(19)를 포함하고, 상기 리피터(21)는 상기 데이타 송신 장치(23, 25, 27, 29, 31, 33, 35)로부터 패킷 형태의 입력 데이타를 축적하며, 상기 수신 장치(19)에 상기 팩킷을 재전송하는 시스템에 있어서, 상기 리피터(21)에 상기 데이타를 기억시키기 위한 메모리(51, 53)는 (a) 데이타 버퍼(415)와; (b) 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)로부터 수신된 상기 데이타 버퍼(415)내의 상기 팩킷에 대한 개시 어드레스를 기억시킬 수 있는 다수의 엔트리를 갖는 수신큐(410)와; (c) 상기 수신 장치(19)에 전송하기 위한 팩킷의 개시 어드레스를 기억하는 송신큐(420)와; (d) 상기 어드레스를 수신큐(410)에서 송신큐(420)로 전송하기 위한 수단을 구비하고, 상기 각 버퍼(415)와 상기 큐(410, 420)들은 순환성인 것을 특징으로 하는 시스템.
- 제1항에 있어서, 각 큐 엔트리는 상위 큐부와 하위 큐부에 대한 어드레스를 갖고, 자리 올림을 발생시키기 위해 상기 큐(410, 420)의 상기 복수의 최종 엔트리에 증분이 가산되었을 때 상기 큐 부분의 엔트리 번호는 최대값에서 0값으로 가변하며, 상기 시스템은 상기 큐(410, 420)내의 어드레스를 지적하기 위한 포인터(411, 412)를 포함하고, 이 포인터(411, 412)를 생성하기 위한 수단(41)을 아울러 포함하며, 이 포인터(411, 412)는 상위 어드레스를 기억하는 제1레지스터(41)와 하위 어드레스를 기억하는 제2레지스터(41)를 포함하고, 상기 제2레지스터(41)로부터 발생된 자리 올림을 상기 제1레지스터(41)에 결합되지 않게 함으로써 상기 최대값이 제2레지스터(41)에서 최과될 때 그 어드레스는 순환 방식으로 그 최소값에 복귀하는 것을 특징으로 하는 시스템.
- 제2항에 있어서, 다수의 송신 장치(23, 25, 27, 29, 31, 33, 35)와, 버퍼(415)와 상기 송신 장치(23, 25, 27, 39, 31, 33, 35)의 각각에 관련된 수신 큐(410)를 구비하고, 상기 수단은 데이타가 수신되었을 때 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)의 각각에 결합된 상기 수신큐(410)의 각각으로부터의 전송 어드레스를 상기 송신큐(420)에 전송하고, 베이스 수신큐 어드레스를 설정하기 위한 수단과, 해당 송신 장치(23, 25, 27, 29, 31, 33, 35)에 대한 수신큐(410)의 상위 어드레스를 결정하기 위해 상기 베이스 수신큐 어드레스에 각 송신장치(23, 25, 27, 29, 31, 33, 35)에 관련된 번호를 가산하기 위한 수단을 아울러 구비하는 것을 특징으로 하는 시스템.
- 제3항에 있어서, 상기 송신 장치들(23, 25, 27, 29, 31, 33, 35)중 어느 한 장치로부터 데이타가 수신되었음을 감지하기 위한 수단(62)을 아울러 포함하고, 상기 수단(62)은 상기 데이타를 보내는 송신 장치(23, 25, 27, 29, 31, 33, 35)의 번호를 기억하기 위한 레지스터(62)를 포함하는 것을 특징으로 하는 시스템.
- 제4항에 있어서, 상기 데이타 수신 장치(19)는 상기 리피터(21)를 거쳐 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)에 데이타를 송신하는 수단을 포함하고, 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)는 데이타를 수신하는 수단을 포함하고 상기 수신장치(19)에 관련된 수신큐(410)와 상기 송신 장치(23, 25, 27, 29, 31, 33, 35) 각각에 관련된 송신큐(420)를 아울러 포함하는 것을 특징으로 하는 시스템.
- 제5항에 있어서, 상기 수신 장치(19)는 호스트(19)를 구비하고, 상기 송신 장치는 (23, 25, 27, 29, 30, 33, 35)는 데이타 입력을 상기 호스트(19)에 제공하는 주변 장치(23, 25, 27, 29, 31, 33, 35)를 구비하는 것을 특징으로 하는 시스템.
- 제6항에 있어서, 상기 리피터(21)는 상기 주변 장치(23, 25, 27, 29, 31, 33, 35)와 상기 호스트(19) 각각의 수신기/송신기(69)를 포함하는 것을 특징으로 하는 시스템.
- 제7항에 있어서, 상기 리피터(21)는 처리기(41)를 포함하고, 상기 감지 수단(62)은 상기 처리기(41)에 대해 인터럽트를 발생시키는 수단을 포함하는 것을 특징으로 하는 시스템.
- 제6항에 있어서, 상기 큐 어드레스는 제1엔트리를 지시하는 정면 포인터 어드레스와 엔트리를 위한 다음 자유 공간을 지시하는 배면 포인터(412)를 포함하고, 새로운 엔트리가 이루어질 때 마다 상기 배면 포인터(412)를 증가시키고 버퍼 어드레스가 한 큐에서 다른 큐로 전송될 때 마다 상기 정면 포인터(411)를 증가시키기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
- 제9항에 있어서, 상기 버퍼(415) 각각에 대한 수신 엔트리(416)와 상기 버퍼(415) 각각에 대한 송신 엔트리를 갖는 테이블(417)을 아울러 포함하고, 상기 수신 엔트리(416)는 수신된 데이타가 기억될 수 있는 상기 버퍼(415)내의 다음 자유 위치의 어드레스를 기억하며, 상기 송신 엔트리는 상기 버퍼(415)로부터 송신될 데이타의 다른 바이트의 어드레스를 기억하는 것을 특징으로 하는 시스템.
- 데이타 송신 장치(23, 25, 27, 29, 31, 33, 35), 리피터(21) 및 데이타 수신 장치(19)를 포함하는 시스템에서, 상기 데이타 송신 장치(23, 25, 27, 29, 31, 33, 35) 및 상기 데이타 수신 장치(19)간의 통신 방법은, (a) 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)로부터의 입력 데이타를 상기 리피터(21)의 데이타 버퍼(415)에 축적하는 단계와, (b) 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)로부터 수신된 상기 데이타 버퍼(415)내의 팩킷의 개시 어드레스를 다수의 엔트리를 갖는 수신큐(410)에 공급하는 단계와, (c) 상기 수신 장치(19)에 전송하기 위한 팩킷의 개시 어드레스를 기억하기 위해, 상기 어드레스를 상기 수신큐(410)에서 송신큐(420)로 전송하는 단계와, (d) 상기 팩킷을 상기 수신 장치(19)에 재전송하는 단계를 포함하고, 상기 각 버퍼(415)와 상기 큐(410, 420)는 순환성인 것을 특징으로 하는 방법.
- 제11항에 있어서, 각 큐 엔트리는 상위 큐부와 하위 큐부에 대한 어드레스를 갖고, 자리올림을 발생시키기 위해 상기 큐(410, 420)의 상기 복수의 최종 엔트리에 증분이 가산될 때 상기 큐부분의 엔트리 번호는 최대값에서부터 0으로 가변하며 상기 큐(410, 420)내의 어드레스를 지적하기 위한 포인터(411, 412)가 제공되고, 상기 상위 어드레스를 제1레지스터(41)에 기억시키고 상기 하위 어드레스를 제2레지스터(41)에 기억시키므로써 상기 포인트(411, 412)를 생성하는 단계를 아울러 포함하며, 상기 제2레지스터(41)로부터 발생된 자리 올림이 상기 제1레지스터(41)에 결합되지 않게하므로써 상기 최대값이 제2레지스터(41)에서 초과될 때 그 어드레스는 순환 방식으로 그 최초값에 복귀하게 하는 것을 특징으로 하는 방법.
- 제12항에 있어서, 다수의 송신 장치(23, 25, 27, 29, 31, 33, 35)들의 제공되고, 상기 송신 장치(23, 25, 27, 29, 31, 33, 35) 각각에 버퍼(415) 및 수신큐(410)를 결합시키는 단계와, 데이타가 수신되었을 때 어드레스를 상기 수신큐(410)들 각각에서 상기 송신큐(420)로 전송하는 단계와, 베이스 수신큐 어드레스를 설정하는 단계와, 해당 송신 장치(23, 25, 27, 29, 31, 33, 35)에 대한 수신큐(410)의 상위 어드레스를 결정하기 위해 상기 베이스 수신큐 어드레스에 각 송신 장치(23, 25, 27, 29, 31, 33, 35)에 관련된 번호를 가산하는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제13항에 있어서, 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)중 어떠한 장치로부터 데이타가 수신되었음을 감지하고 단계와, 상기 데이타를 보내는 송신 장치(23, 25, 27, 29, 31, 33, 35)의 번호를 기억하는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제14항에 있어서, 상기 데이타 수신 장치(19)는 상기 리피터(21)를 거쳐 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)에 데이타를 송신하는 수단을 포함하고, 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)는 데이타를 수신하기 위한 수단을 포함하며 수신큐(410)를 상기 수신 장치(19)에 결합시키고 송신큐(420)를 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)의 각각에 결합시키는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제15항에 있어서, 상기 수신 장치(19)는 호스트(19)를 포함하고 상기 송신 장치(23, 25, 27, 29, 31, 33, 35)는 상기 호스트(19)에 데이타 입력을 제공하는 주변 장치(23, 25, 27, 29, 31, 33, 35)를 포함하는 것을 특징으로 하는 방법.
- 제16항에 있어서, 상기 리피터(21)는 처리기(41)를 포함하고, 데이타 수신이 감지되었을 때 상기 처리기(41)에 대해 인터럽트를 생성하는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제17항에 있어서, 상기 큐 어드레스는 제1엔트리를 지시하는 정면 포인터 어드레스와 엔트리에 대한 다음 자유 공간을 지시하는 배면 포인터 어드레스를 포함하고, 새로운 엔트리가 이루어질 때 마다 상기 배면 포인터(412)를 증가시키는 단계와, 버퍼 어드레스가 한 큐(410, 420)에서 다른 큐로 전송될 때 마다 상기 정면 포인터(411)를 증가시키는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제18항에 있어서, 상기 버퍼(415) 각각에 대한 수신 엔트리(416)와 상기 버퍼(415) 각각에 대한 송신 엔트리를 테이블(417)에 기억시키는 단계를 아울러 포함하고, 상기 수신 엔트리(416)는 수신된 데이타가 기억될 수 있는 상기 버퍼(415)내의 다음 자유 위치 어드레스를 기억하며, 상기 송신 엔트리는 상기 버퍼(415)로부터 송신될 데이타의 다음 바이트의 어드레스를 기억하는 것을 특징으로 하는 방법.
- 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)와 중앙 처리 장치(41)와 관련하여 유한총량의 물리적 메모리 공간을 갖는 메모리 장치(53)를 동작시키는 방법에 있어서, (a) 상기 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)에 대해 시작과 끝을 갖는 물리적 메모리 공간의 유한총량중 선택된 용량을 할당하는 단계와, (b) 상기 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)로부터 상기 중앙 처리 장치(41)로 데이타를 선택적으로 송신하는 단계와, (c) 상기 중앙 처리 장치(41)가 물리적 메모리 공간의 상기 선택된 용량중 한쪽 극한 값에 이를 때까지, 상기 중앙 처리 장치(41)가 상기 송신된 데이타를 상기 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)로부터 상기 적어도 한 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)에 할당된 물리적 공간의 선택된 용량 범위내로 전송하게 하도록 동작시키는 단계와, (d) 물리적 메모리 공간의 상기 선택된 용량중 한쪽 극한 값에 도달했을 때, 상기 송신된 데이타의 전송을 방해하는 일없이 물리적 메모리 공간의 상기 선택된 용량이 시작되는 곳에 상기 송신된 데이타를 전송함으로써 물리적 메모리 공간의 상기 선택된 용량중 한쪽 극한 값이 시작점에 연결되게 하여, 상기 물리적 메모리 공간의 선택된 용량이 순환성을 갖게끔, 상기 중앙 처리 장치(41)가 상기 송신된 데이타를 계속 전송하게하도록 동작시키는 단계를 포함하는 것을 특징으로 하는 방법.
- 제20항에 있어서, (a) 적어도 한개의 출력 장치(19)를 제공하는 단계와; (b) 상기 중앙 처리 장치(41)가 물리적 메모리 공간의 상기 선택된 용량의 한쪽 극한 값에 도달할 때까지, 상기 송신된 데이타를 물리적 메모리 공간의 상기 선택된 용량값에서부터 적어도 한개의 출력 장치(19)에 전송하게끔, 상기 중앙 처리 장치(41)를 동작시키는 단계와, (c) 물리적 메모리 공간의 상기 선택된 용량중 한쪽 극한 값에 도달했을 때, 상기 송신된 데이타의 전송을 방해하는 일없이 물리적 메모리 공간의 상기 선택된 용량이 시작하는 곳에서부터 상기 송신된 데이타를 전송하므로써 상기 중앙 처리 장치(41)가 상기 송신된 데이타를 계속 전송하게 하도록 동작하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제20항 또는 21항에 있어서, 상기 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)는 적어도 한개의 주변 장치(23, 25, 27, 29, 31, 33, 35)를 포함하는 것을 특징으로 하는 방법.
- 제21항에 있어서, 상기 적어도 한개의 출력 장치(19)는 제2중앙 처리 장치를 포함하는 것을 특징으로 하는 방법.
- 제23항에 있어서, (a) 범용의 비동기성 수신기/송신기(62)를 제공하는 단계와, (b) 상기 적어도 한개의 오퍼레이팅 장치(23, 25, 27, 29, 31, 33, 35)로부터 송신된 데이타를 수신하게끔 상기 범용의 비동기성 수신기/송신기(62)를 동작시키는 단계와, (c) 상기 송신된 데이타를 수신했을 때, 상기 중앙 처리 장치(41)를 인터럽트하게끔 상기 범용의 비동기성 수신기/송신기를 동작시키는 단계와, (d) 상기 중앙 처리 장치(41)의 인터럽트가 발생했을 때, 상기 수신 장치(19)에 전송하기 위해 상기 송신된 데이타에 대한 개시 어드레스를 송신큐(420)에 기억하게끔 상기 중앙 처리 장치(41)를 동작시키는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제24항에 있어서, (a) 상기 송신된 데이타를 물리적 메모리의 선택된 용량 범위내에서 상기 범용의 비동기성 수신기/송신기(62)로 전송하게끔 상기 중앙 처리 장치(41)를 동작시키는 단계와; (b) 상기 송신된 데이타가 상기 적어도 한 출력 장치(19)에 전송되게끔 상기 범용의 비동기성 수신기/송신기(62)를 동작시키는 단계를 아울러 포함하는 것을 특징으로 하는 방법.
- 제25항에 있어서, 상기 제2중앙 처리 장치(19)는 컴퓨터 그래픽 시스템에 동작 가능하게 결합되는 것을 특징으로 하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US085097 | 1987-08-13 | ||
US07/085,097 US4905232A (en) | 1987-08-13 | 1987-08-13 | Peripheral repeater box |
US085,097 | 1987-08-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR890004226A KR890004226A (ko) | 1989-04-20 |
KR930001791B1 true KR930001791B1 (ko) | 1993-03-13 |
Family
ID=22189448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019880010357A KR930001791B1 (ko) | 1987-08-13 | 1988-08-13 | 컴퓨터 시스템용 주변 리피터 박스 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4905232A (ko) |
EP (1) | EP0303288B1 (ko) |
JP (1) | JPH0638610B2 (ko) |
KR (1) | KR930001791B1 (ko) |
AU (1) | AU599260B2 (ko) |
CA (1) | CA1311313C (ko) |
DE (1) | DE3856051T2 (ko) |
IL (1) | IL87399A (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862355A (en) | 1987-08-13 | 1989-08-29 | Digital Equipment Corporation | System permitting peripheral interchangeability during system operation |
EP0489504B1 (en) * | 1990-11-30 | 1997-03-05 | International Business Machines Corporation | Bidirectional FIFO buffer for interfacing between two buses |
US5321695A (en) * | 1991-05-01 | 1994-06-14 | Hewlett-Packard Company | Port arrival identification for computer network packets |
US5582712A (en) * | 1994-04-29 | 1996-12-10 | Uop | Downflow FCC reaction arrangement with upflow regeneration |
US5586121A (en) * | 1995-04-21 | 1996-12-17 | Hybrid Networks, Inc. | Asymmetric hybrid access system and method |
US8786457B2 (en) | 2011-04-06 | 2014-07-22 | International Business Machines Corporation | Identification display method and system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4135156A (en) * | 1974-06-20 | 1979-01-16 | Sanders Associates, Inc. | Satellite communications system incorporating ground relay station through which messages between terminal stations are routed |
US4272809A (en) * | 1977-11-16 | 1981-06-09 | Hitachi, Ltd. | Channel device |
JPS5846899B2 (ja) * | 1979-07-31 | 1983-10-19 | 富士通株式会社 | パケット伝送方式 |
JPS5730448A (en) * | 1980-07-30 | 1982-02-18 | Nippon Telegr & Teleph Corp <Ntt> | Packet transmission system |
FR2496314A1 (fr) * | 1980-12-12 | 1982-06-18 | Texas Instruments France | Procede et dispositif pour permettre l'echange d'information entre des systemes de traitement d'information a vitesses de traitement differentes |
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
IT1144965B (it) * | 1981-10-20 | 1986-10-29 | Cselt Centro Studi Lab Telecom | Sistema a controllo distribuito per l accesso multiplo casuale alla linea di trasmissione di una rete locale per voce e dati |
US4499576A (en) * | 1982-08-13 | 1985-02-12 | At&T Bell Laboratories | Multiplexed first-in, first-out queues |
US4543654A (en) * | 1983-02-03 | 1985-09-24 | Wang Laboratories, Inc. | Interfacing a communication network |
GB8328396D0 (en) * | 1983-10-24 | 1983-11-23 | British Telecomm | Multiprocessor system |
JPS60247347A (ja) * | 1984-05-23 | 1985-12-07 | Hitachi Ltd | 計測情報伝送方式 |
JPS6220041A (ja) * | 1985-07-19 | 1987-01-28 | Nec Corp | デ−タ処理装置の非同期デ−タ転送回路 |
JPS6240562A (ja) * | 1985-08-17 | 1987-02-21 | Casio Comput Co Ltd | フアイル転送装置 |
-
1987
- 1987-08-13 US US07/085,097 patent/US4905232A/en not_active Expired - Lifetime
-
1988
- 1988-08-10 IL IL87399A patent/IL87399A/xx not_active IP Right Cessation
- 1988-08-11 CA CA000574394A patent/CA1311313C/en not_active Expired - Fee Related
- 1988-08-12 AU AU20903/88A patent/AU599260B2/en not_active Ceased
- 1988-08-12 DE DE3856051T patent/DE3856051T2/de not_active Expired - Fee Related
- 1988-08-12 JP JP20178988A patent/JPH0638610B2/ja not_active Expired - Lifetime
- 1988-08-12 EP EP88113161A patent/EP0303288B1/en not_active Expired - Lifetime
- 1988-08-13 KR KR1019880010357A patent/KR930001791B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU2090388A (en) | 1989-02-16 |
IL87399A (en) | 1992-11-15 |
AU599260B2 (en) | 1990-07-12 |
DE3856051T2 (de) | 1998-05-07 |
JPH0638610B2 (ja) | 1994-05-18 |
EP0303288B1 (en) | 1997-10-22 |
US4905232A (en) | 1990-02-27 |
DE3856051D1 (de) | 1997-11-27 |
EP0303288A3 (en) | 1991-10-30 |
CA1311313C (en) | 1992-12-08 |
KR890004226A (ko) | 1989-04-20 |
IL87399A0 (en) | 1989-01-31 |
EP0303288A2 (en) | 1989-02-15 |
JPH01144751A (ja) | 1989-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0310788B1 (en) | System permitting peripheral interchangeability | |
KR920005287B1 (ko) | 데이타 팩킷화 방법 | |
US4860292A (en) | Communication protocol | |
US6266721B1 (en) | System architecture for remote access and control of environmental management | |
US5230071A (en) | Method for controlling the variable baud rate of peripheral devices | |
GB1494841A (en) | Data communications system | |
US5297277A (en) | Apparatus for monitoring data transfers of an oemi channel interface | |
US6269412B1 (en) | Apparatus for recording information system events | |
AU599534B2 (en) | A diagnostic system in a data processing system | |
KR930001791B1 (ko) | 컴퓨터 시스템용 주변 리피터 박스 | |
US6016309A (en) | Apparatus for an automatic speed and data length selection of an asychronous data link | |
CN113377701A (zh) | 基于复杂可编程逻辑器件cpld的串口控制系统及其通信方法 | |
GB2062419A (en) | Improvements in or relating to information retrieval | |
US3778767A (en) | Dynamic debug aid for computer data communication networks | |
US6944176B1 (en) | Method and apparatus for bit level network data multiplexing | |
Brittain et al. | Unique applications of custom MIL-STD-1553 ASIC | |
SU662928A1 (ru) | Устройство дл сопр жени каналов св зи с цифровой вычислительной машиной | |
JPS6059838A (ja) | ネツトワ−ク監視装置 | |
JPS62254545A (ja) | サイクリツク伝送装置 | |
JPH06268708A (ja) | 資源監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070312 Year of fee payment: 15 |
|
LAPS | Lapse due to unpaid annual fee |