KR930002329B1 - 주변 장치의 상호 교환을 허락하는 방법 및 장치 - Google Patents

주변 장치의 상호 교환을 허락하는 방법 및 장치 Download PDF

Info

Publication number
KR930002329B1
KR930002329B1 KR1019880010358A KR880010358A KR930002329B1 KR 930002329 B1 KR930002329 B1 KR 930002329B1 KR 1019880010358 A KR1019880010358 A KR 1019880010358A KR 880010358 A KR880010358 A KR 880010358A KR 930002329 B1 KR930002329 B1 KR 930002329B1
Authority
KR
South Korea
Prior art keywords
peripheral
host
connector
box
processor
Prior art date
Application number
KR1019880010358A
Other languages
English (en)
Other versions
KR890004239A (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 KR890004239A publication Critical patent/KR890004239A/ko
Application granted granted Critical
Publication of KR930002329B1 publication Critical patent/KR930002329B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

내용 없음.

Description

주변 장치의 상호 교환을 허락하는 방법 및 장치
제1도는 본 발명의 PR 박스가 사용될 수 있는 컴퓨터 시스템의 블럭선도
제2도는 본 발명의 PR 박스의 기본 블럭선도.
제3a도 내지 제3c도는 본 발명의 PR박스에시 실행되는 펌웨어의 흐름도.
제4a도 내지 제4h도는 본 발명에 따른 순환큐(CIRcULAR QUEUE) 및 순환버퍼의 이용을 통한 패킷전송도.
제5도는 본 발명의 바람직한 실시예에서 사용된 각종 주변 장치에 대한 디폴트 보율의 표.
제6도는 본 발명에 따른 인터패킷 타이밍에서 사용하기 위한 각 보율에 연관된 문자 시간을 도시한 표
제7도는 인터패킷 타이밍에서 이용된 기본 타이밍을 도시한 흐름도.
제8도는 본 발명에 사용된 헤더 바이트 필드의 구성을 도시한 선도.
제9a도 내지 제9c도는 본 발명의 메시지 전송 프로토콜을 도시한 선도.
* 도면의 주요부분에 대한 부호의 설명
11 : 모니터 14 : 그래픽 엔진
21 : 주변리피터(PR)박스 55 : 진단 레지스터
59 : 기능 레지스터 63 : DC 전원 모니터
본 발명은 컴퓨터 시스템에 관한 것으로, 특히 다수의 주변 장치가 접속될 수 있는 주변 리피터 박스(peripheral repeater box ; PR 박스)에 호환성을 가진 주변 장치를 접속시킬 수 있는 시스템에 관한 것이다.
대형 컴퓨터 시스템, 특히 그래픽 표시 장치를 제공하는 시스템에 있어서 컴퓨터 시스템에 입력을 제공하기 위해 여러 종류의 주변 장치가 제공된다. 예를들어 단일 시스템은 입력 장치로서 키보드, 마우스(mouse) 타블렛, 광펜, 다이얼 박스, 스위치 박스 등을 구비할 수 있다.
이러한 다수의 주변 장치를 갖는 시스템에 있어서는 이들 주변 장치 각각으로부터 입력을 수신하여 단일라인을 통해 여러 입력을 컴퓨터 시스템에 재전송할 수 있는 장치를 갖는 것이 유리하다. 이러한 장치는 각각의 주변 장치에 대해 중계기로서 작용한다는 점을 고려하여 본원에서는 이 장치를 주변 리피터 박스로 언급한다.
종종 각종 주변 장치들이 동일 형태의 플러그를 구비하는 경우가 있다. 종래 기술의 통상적인 시스템에 있어서 각 주변 장치는 특정 접속부내에 플러그 접속될 필요가 있었다. 만일 실수로 동일 형태의 플러그를 갖는 상이한 두 주변 장치를 혼동하면 입력은 더이상 적절히 반응하지 않는다. 따라서 주변 리피터 박스는 각종 주변 장치를 동일 접속기에 플러그 접속하고, 어느 주변 장치가 접속되는 지를 인식할 수 있는 능력을 가질 필요가 있다.
여러 주변 장치는 각기 다른 보율(baud rate)에서 동작할 수 있다. 때로는 보율을 변경시킬 필요가 있다. 주변 리피터 박스를 사용하는 시스템에 있어서 보율의 리세팅은 주변 장치 및 주변 리피터 박스에서 행해져야 한다. 특히 주변 장치가 교환될 때 보율이 리세트될 수 있는 시스템을 제공할 필요가 있다.
본 발명의 제1목적은 상이한 보율에서 동작하는 주변 장치를 상이한 플러그 형상을 사용하지 않고도 주변 리피터 박스에 접속되도록 허용하는, 송신장치와 수신 장치 사이에 배치된 주변 리피터 박스를 제공하기 위한 것이다.
본 발명의 제2목적은 주변 리피터 박스와 주변 장치의 보율을 자동 설정하는, 송신 장치와 수신 장치 사이에 배치된 주변 리피터 박스를 제공하기 위한 것이다.
본 발명의 시스템은 주변 장치의 상호 교환을 허용한다.
본 발명의 주변 리피터 박스(PR 박스)는 무엇보다도 먼저 주변 장치가 모니터 위치에서 전원을 공급받을수 있도록 하기 위하여 사용된다. PR 박스는 종래의 RS-232-c 또는 RS-423 접속부를 사용하여 7개의 주변 장치 채널로 부터 나온 여러 주변 장치의 신호를 수집하고, 이 신호들은 조작 단위로 분할되어 RS-232-c 신호를 사용하는 호스트, 예를들어 컴퓨터 몇/또는 그래픽 제어 프로세서로 전송된다. 주변 장치로의 전송은 호스트로 부터의 전송과 동일한 방법으로 행해진다. 즉, 호스트로부터 패킷을 수신하고 데이타를 언팩킹(unpACKing)하여 이 데이타를 적당한 주변 직렬라인 유닛(SLU)으로 전한다.
본 발명의 주변 리피터 박스는 "그래픽 워크스테이션" 및 "고성능 그래픽 워크스테이션에 대한 콘솔 에물레이션"이라는 명칭의 계류중인 출원에 기술된 유형의 그래픽 시스템에서 사용하기에 특히 적합하며 본원은 상기 출원에 기술된 내용을 참조한다.
PR 박스와 호스트간의 통신은 에러없이 전송할 수 있는 새로운 프로토콜로 실행된다.
PR 박스는 순환큐 및 버퍼를 갖는 시스템을 사용하여 입력 및 출력 메시지를 주변 장치로 또는 주변 장치로 부터 버퍼한다. 메시지는 전송을 하기 위한 패킷으로 배열된다. 주변 장치로부터 나온 메시지의 완료는 바이트를 계수함으로써 검출된다. 이와는 다르게 만일 수신된 바이트간의 시간이 소정 기간을 초과하면, 이것이 메시지의 종료를 감지하는데 사용되기도 한다. PR 박스와 시스템간의 통신의 활성을 유지시키기 위하여 "활성 유지(keep alive)"타이머가 사용된다. 이것은 소정시간내에 다른 통신이 존재하지 않으면 "활성유지"메시지를 전송한다. PR 박스의 개시된 실시예로서 사용된 주변 장치는 키보드, 마우스, 타블렛 및 다이얼 박스를 포함한다.
또한 상기 실시예에 있어서 버튼 박스 채널, 스페어 키보드 채널 및 일반적 스페어 RS-232-c 채널을 제공하기 위해 다른 3채널이 미래 화장용으로 제공된다.
본 발명의 PR 박스는 각종 주변 장치의 상호 교환을 허용한다. 즉, 동일형의 플러그를 갖는 주변 장치는 어떠한 주변 장치 포트와도 플러그 접속될 수 있으며, 특정 주변 장치는 특정 포트내로 플러그 접속된다는것을 보증해 줄 필요는 없다. 파워업되고 주변 장치가 플러그 접속되거나 제거될 때마다 호스트는 어떠한 형의 장치인가를 판단하기 위해 주변 장치를 검사하여 그 정보트랙을 유지시킨다.
본 발명의 또다른 특징은 주변 장치가 교환되는 경우 보율을 변경시킬 능력이 있다는 것이다. 본 발명에 의하면 보율을 변경하기 위해 호스트로부터 나온 명령은 특정 채널의 주변 장치 박스내의 수신기의 보율을 자동으로 리세트하며, 다른 명령은 주변 장치 자체의 보율을 세트시킨다. 먼저 메시지는 PR 박스를 통해 주변 장치로 전송된다. 다음에 명령이 PR 박스로 전송되어 이 주변 장치에 연관된 UART(범용 비동기식 수신기/송신기)의 보율을 변경시킨다.
[시스템 개관]
제1도는 본 발명의 주변 리피터 박스가 시스템에 적합한 경우를 도시한 컴퓨터 시스템의 블럭선도이다. 도시된 시스템은 컴퓨터 시스템이다. 그러나 본 발명은 다른 컴퓨터 시스템에도 적용 가능하다. 따라서 그래픽 계산을 하는 계산용 장치(14)에 결합된 RGb 동축 케이불(13)로부터 비데오 입력을 수신하는 모니터(11)가 도시되어 있다. 도시된 바와같이 장치(14)내에는 그래픽 엔진 또는 그래픽 프로세서(15), 예를들어 Vax 8250 시스템인 주컴퓨터(17) 및 Microvax 컴퓨터일 수 있는 제어 프로세서로서 동작하는 컴퓨터(19)가 포함된다. 주컴퓨터(17)는 컴퓨터(19)의 호스트이며 컴퓨터(19)는 후술될 PR 박스(21〉의 호스트이다. 따라서 이후에는 레퍼런스가 호스트로 행해지면 그 레퍼런스는 컴퓨터(19)로 행해진다. 시스템의 이 부분에 대한 동작은 동일자로 출원된 "그래픽 워크스테이션에 대한 콘솔 에뮬레이션" 및 "고성능 그래픽 워크스테이션"이란 명칭의 출원에 보다 상세히 기술되어져 있다. 제1도에는 주변 리피터 박스(21)와 이 박스내로 플러그 접속될 수 있는 각종 주변 장치가 힘께 도시되어 있다. 이들 각종 주변 장치는 키보드(23), 마우스(25), 타블렛(27), 노브(29), 즉 다이얼 박스, 버튼(31), 스페어 RS232 채널(33) 및 스페어 키보드(35)를 포함한다.
주변 리피터 박스는 본 실시예에서는 모니터 아래에 위치된 내장 마이크로 프로세서 시스템이다. 상기 리피터 박스는 호스트와 주변 장치 사이에서 유동하는 정보를 조정하는 책임을 지고 있다. 이것은 파워업시에 자체 내부생태의 자체 검사를 수행하는 프리러닝(free runing) 서브 시스템이다. 이러한 업무의 완료후에는 스스로 초기화되어 호스트 또는 주변 장치로부터의 활동을 연속 주사한다.
4개의 주변 채널(키보드(23), 마우스(25), 타블렛(27) 및 노브(29)용) 및 하나의 명령 채널(호스트와의 통신용)이 지지된 모든 주변 장치를 접속하도록 제공된다. 또한 미래 확장 또는 특정 주변 장치용의 3개 스페어 채널, 예를들어 제1도의 스페어 키보드(35), 버튼 박스(31) 및 스페어 채널(33)이 제공된다.
서브 시스템은 제2도에서 도시된 바와같이 최소의 시스템으로 구성되어 있다. 따라서 종래의 방식으로 연관된 12mHZ 수정 발진기를 갖는 클럭/리세트 유닛(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개의 이용가능한 범용 포트중 3개를 사용하는 확장된 버스 구성으로 사용된다. 이들은 블럭(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로서 공지된 것이다. 이러한 장치는 DC 349로서 메사추세추주 메이나드에 소재하는 디지탈 이큅먼트 코오포레이숀에서 제조된다. 기본적으로 OCTALART는 8개의 동일 통신 채널(사실상 8개의 UA1RT)과 공통 모뎀 제어신호 및 인터럽트용의 인터럽팅 채널 한정에 대한 요약 정보를 제공하는 2개의 레지스터로 구성된다. 직렬라인 유닛 0-6은 제1도에서 도시된 7개의 주변 장치에 결합된다. SLU 7은 제1도에 도시된 호스트 링크이다. SLU의 출력은 송수신기(69)를 통해 분배 패널(71)에 결합되며, 이 송수신기의 출력은 여러 접속기가 플러그 접속되는 분배 패널에 접속된다. 블럭(69)은 +/-12 볼트의 양극성 전원 공급을 중단하도록 동작하는 9636형인 eIa 라인 구동기를 포함하며, 이 구동기는 TTL 레벨로부터의 신호를 약 +/-10 볼트의 양극성 RS-232-c 호환 신호 레벨로 번역한다(translate).
호스트 채널(SLU 7), 키보드 채널 및 스페어 채널은 장치 검출 자격을 갖지 못한다. 다른 5개의 채널은OCTALART(62)의 대응 SLU의 DCD(데이타 캐리어 검출) 핀에 접속되는 입력라인을 갖는다. DCD 핀이 접지된 채널 접속기측에 있으면 OCTALART의 입력측은 장치가 상기 채널상에 존재함을 나타내는 하이(high)로 된다.
블럭(62)대의 데이타 세트 변경 요약 레지스터는 이들 핀중 한핀의 상태가 변경되면, 즉, 하이에서 로우레벨로 또는 로우에서 하이 레벨로 변경되면 인터럽트를 발생시킬 것이다. 이것은 시스템이 동작 모드로 된후에 부가 또는 제거되어지는 장치를 표시한다. 파워업되면 8031 CPU는 이러한 자격을 갖는 어떤 장치가 접속되어 구성 바이트(소포트 웨어의 기억 영역)내로 이 정보를 입력하는지를 결정하도록 이 레지스터를 판독하고 그 결과는 자기 시험 기록의 일부로서 호스트에 송신된다. 이러한 자격은 주변 장치가 어느 포트에 접속되는지를 인식하게 해주므로 주변 장치들의 호환성을 허용한다. 하나의 주변 장치가 플러그 접속되거나 플러그 접속이 해제때 마다 PR 박스는 이 박스를 허용하는 호스트로 메시지를 전송하여 주변 장치를 질의하면 보유하고 있는 테이블을 갱신한다.
프리러닝 동작 모드에서 PR 박스는 SLU7을 통해 호스트로부터 데이타 패킷을 수신하여 이 데이타의 무결성(integrity)을 검증한다. 만일 데이타가 양호하면 PR 박스는 호스트로 ACK를 전송하고, 패킷으로부터의 데이타 또는 명령을 완전히 스트립하여 이것을 이와 관련된 SLU를 통해 지정된 주변 장치로 전달한다. 만일 데이타가 불량하면, 즉, 체크섬(CHecksum) 에러이면 PR 박스는 재전송을 요청하기 위해 호스트로 NAK를 전송하고, 수신되어진 패킷을 버린다. 이들 통신은 제3c도 내지 제9c도를 참조하여 이후 상술될 것이다.
PR 박스는 또한 자체 시험을 위해 명령을 수신할 수 있으며, 진단 LED를 변경하고 동작 모드 동안의 보율을 변경하기 위해 상태/구성을 보고한다.
자체 시험 모드는 마이크로프로세서 서브 시스템의 무결성을 검증한다. OcTa LaRT의 내부 루프백의 종료후에 서브 시스템은 스스로 재초기화되어 동작모드로 복귀할 것이다. 자체 시험은 파워업 또는 호스트로부터 실행된 자체 시험 명령을 수신하는 것에 의해 시작된다. 이 시험은 PR 박스 논리의 기능성을 체크할 것이다.
소포트 웨어 제어하에서 시스템이 PR 박스 논리의 무결성을 검증하도록 하는 자체 시험중에 내부 루프백서브 시험이 제공된다. 자체 시험이 동작중인 동안 호스트와 PR 박스 사이에는 논리 접속부가 존재하지 않는다. 이것은 자기 시험 중에만 참(true)이다. OCTALART(62)내의 UART 라인의 송신핀에서는 어떠한 데이타도 출력되지 않으므로 PR 박스가 자체 시험의 내부 루프백 부분을 실행할 때 주변 장치에는 아무런 영향을 미치지 않는다. 또한 주변 장치로부터 들어오는 데이타는 OCTALART(62)의 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)의 출력에 접속된다. 출력 표시기는 다음과 같다. 즉,
Figure kpo00001
DC 전원 모니터는 ±12 볼트 전원 전압에 대해 정격 약 15% 범위를 벗어난 부족 전압 또는 과전압을 검사하기 위한 4개의 비교기 세트이다. 회로는 +5볼트로부터 실행하여 각 비교기의 적절한 기준 입력에 인가된 정확한 +2 볼트의 기준을 사용한다. 출력은 2색 LED(64)에 접속된다. 각 비교기의 다른 입력에 접속된 정밀 저항 분할기는 시험 전압을 기준 입력과 동일 범위로 줄인다.
[기능 모니터]
제2도에 도시된 바와같이 3색 LED(61)는 2비트 기능 레지스터(59)의 출력에 접속된다. 이것은 어느 모드 또는 기능으로 PR 박스가 그 시간에 수행하는지를 볼수 있도록 표시하는데 사용된다.
Figure kpo00002
[PR 박스 동작 개관]
PR 박스 ROM(53)은 자제 시험 및 동작 펌웨어를 포함한다. 이 펌웨어는 비록 이것을 위해 8K 바이트가 예비되어 있더라도 4K 바이트 ROM 내에 포함된다. 펌웨어의 목록은 부록 a로 첨부되어 있다. 펌웨어에 대한 흐름도는 제3a도 내지 제3c도에 도시되어 있다.
블록(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)에 표시되어 있다. 만일 제3b도의 블록(315)에서 검사된 바와같이 제조 모드이면 블록(316 및 317)의 시험은 또한 블록(318)이 루프(305)로 들어가기 전에 수행된다.
만일 파워업에 의해 PR 박스가 PR 시스템을 사용 불가능하게 하는 즉, 8031 에러를 인터럽트하는 에러를 가지면 기능 LED는 황색으로 머물게 되며 진단 레지스터내에 에러 코드를 기입하기 위한 시도가 행해져, PR 박스는 동작 모드로 진행되지 않을 것이다.
만일 시스템을 사용 불가능으로 만들지 않는 에러가 존재하든 존재하지 않던 시스템이 제조 모드가 아니면, 경로(320)는 제3c도의 불록(401)으로 후속되며, 기능 LED는 녹색이 되고 호스트가 진단 기록을 ACK/NAK 하기를 대기하여 호스트와 PR 박스간의 링크를 확립시킨다. 만일 링크가 결코 확립되지 않으면 NO 호스트에 대한 에러 코드는 진단 LED 내로 위치되며 PR 박스는 동작 모드로 진행한다. 만일 통신링크가 후에 확립되면 에러 코드는 클리어될 것이다.
만일 소포트 에어(진단 레지스터 또는 기능 레지스터)가 존재하면 PR 박스는 제3c도의 동작 모드로 진향하여 배경 처리를 실행한다. 그러나 어떤 LED 표시는 부정확할 수도 있다. 전류가 통하지 않는 시스템 즉, 8031이 고장인 경우를 제외하고 PR 박스는 가능하다면 자기 시험이 실패 되어진 점(시험 번호)를 표시하는 동작 모드로 진행하려고 시도한다. 파워업 진단이 완료된 후에 제어는 동작 펌웨어로 이동된다. 이 모드시 펌웨어는 호스트와 PR 박스간의 링크의 활성을 유지하며 주변 장치와 호스트간의 명령/데이타를 멀티플렉스/디멀티플렉스한다. 이러한 동작은 이하에서 상술되어 있다.
본 시스템의 진단/동작 시스템은 기본이 된 ROM이며 8031 마이크로 프로세서를 벗어나 실행된다. PR박스 펌웨어는 현존하는 주변 장치와 호환성이 있으며 후술된 호스트 PR 박스링크용으로 개발된 통신 프로토콜을 고수한다.
진단은 PR 박스의 파워업을 계속하기 위한 펌웨어의 제1부분이다. 진단은 동작 펌웨어에 대한 제어를 통과하기 전에 시스템을 공지의 상대로 남겨둔다. PR 박스의 시험 완료시에 시스템 RAM(51)은 초기화되고 큐는 클리어되며, OCTALART(62)내의 UART는 디폴트 속도 및 데이타 포맷으로 세트되고 진단 및 모드 레지스터(55 및 57)는 적정값으로 세트되며 PR 박스의 상태를 포함하는 시스템 상태 영역이 설정된다.
일단 진단이 완료되면 진단 기록은 호스트로 전송되며 PR 박스는 동작 모드로 진행한다. 만일 전송할 다른 메시지가 없다면 PR 박스박스는 "통신 링크 없음"에 대한 에러 코드를 진단 레지스터(55)내로 위치시키기 전에 ACK/NAK에 대하여 10초 동안 대기한다. ACK/NAK 타이머는 다른 모든 패킷에 제공되며 20msec에서 타임 아웃된다. 일단 동작되면 UART는 주변 장치와 호스트 간의 통신을 허용하도록 인에이블된다. "활성 유지"타이머 또한 호스트 링크의 활성을 유지하기 위하여 인에이블된다.
[동작모드]
이 모드에서 PR 박스(21)는 주변 장치와 호스트(19)사이에서 위치하는 중앙 통신 장치이다(제1도의 블럭 선도 참조). 이 모드를 상술하기 전에 PR 박스에서 사용된 임의 기본적 용어 및 메모리 할당에 대해 기술해야만 한다. 메모리의 페이지는 길이가 256바이트이다. 메모리의 시작 페이지의 하위 어드레스는 0이며 상위 바이트는 0에서 255까지이다. 본 명세서에서 "포트"란 "채널"과 함께 상호 호환성 있게 사용되며 주변장치의 포트로 언급된다.
8031은 128바이트의 온칩 RAM을 구비한다. 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내에 보유된다. 각각의 큐엔트리는 수신된 버퍼 또는 전송할 준비가 된 버퍼의 어드레스이다. 각각의 엔트리는 길이가 1워드(word)이며, 1워드 16비트이다. 제1바이트는 하위 어드레스이며, 제2바이트는 상위 어드레스이다. 버퍼는 이동되지 않고 버퍼만 어드레스된다. 아래의 목록은 중요 메모리 영역에 할당된 명칭이다.
RX_i_큐 i=0에서 7 및 명령큐-1 페이지의 경우
(256바이트 -128msg ptrs)
TX_i_큐 i=0에서 7 및 명령큐-1 페이지의 경우
(256바이트-128msg ptrs)
CH_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_크기_테이블 각 채널에 전송하기 위한 다음 바이트를 포함.
TX_타임_아웃 각 수신기 채널에 대한 타이머 바이트.
문자간 타이밍용(8개 영역)
포트_타임_아웃 각 채널용 타이머, 큐가 오버플로우이면 10ms로
세트
(포트는 10ms 동안 턴오프됨)(8개 영역)
KA_타이머 활성 유지 타이머 패킷이 호스트로 전송될때마다
10으로 리세트되는 10초 타이머, 이 타이머가 타임
유지 패킷이 호스트로 전송됨
ACK_NACK_타이머 패킷에 관한 체크섬이 호스트로 전송된 후 20ms로
세트되는 타이머(이 타이머는 이 시간 주기 동안
ACK 또는 NACK를 수신하면 클리어됨.
ACK/NACK가 수신되지 않은 경우엔 에러 LED가
PR 박스에서 세트됨).
모든 포인터큐, 버퍼 및 테이블이 액세스되는 방법은 베이스 어드레스(또는 베이스 페이지)를 취득하며 현재의 채널 번호(또는 다수의 채널 번호)에 가산하는 것이다. 예를들어 채널 3큐를 액세스하기 위하여 수신큐의 베이스 페이지가 취해진다. 모든 정면큐에 대해 베이스인 상위 어드레스 예를들어 BASE_RX-PAGE가 얻어지며, 채널 번호가 이것에(본 경우에 있어서 3) 가산된다. 일단 이것이 행해지면 오프셋 3에 플러스된 FRONT_RX_QUE_PTR에 의해 지시된 값은 채널 3의 정면 포인터에 대해 하위 어드레스로서 사용된다. 채널 번호는 OCTALART 인터럽트 동안 인터럽트는 발생시키는 채널의 번호를 기억하는OCTALART내의 레지스터로부터 이것을 판독함으로써 용이하게 획득된다. 따라서, 예를들어 만일 데이타가 채널 3에서부터 오면, 이것은 OCTALART 인터럽트를 야기시킨다. 채널 3은 OCTALART 레지스터내에 기억된다. PR 박스는 이 레지스터를 판독하여 이 값(3)을 베이스값에 가산시키며 이러한 방법은 채널 3에 대한 포인터 등에 필요한 어드레스를 신속·용이하게 획득한다. 따라서 모든 큐, 버퍼등은 호스트가 접속되어지는 채널이므로 약간 다르게 처리되는 채널 7을 제외하는 공통 서브 루틴 및 인터럽트 루틴에 의해 일반적으로 처리될 수 있다.
모든 큐 및 버퍼는 순환식이다. 큐는 이들의 길이가 단지 1페이지라는 사실 때문에 순환식이다. 상위 페이지 어드레스는 8031 P2 레지스터내로 직접 로드된다. 정면/배면 수신기/송신큐 포인터는 외부 액세스에 대해 사용될 수 있는 8031의 레지스터 R0 또는 R1내로 직접 로드된다. 포인터가 1바이트(R0/R1)이므로 이들 포인터가 16진 Fe로부터(2 만큼)증가될 때 그들은 자동적으로 0으로 세트된다(16진 Fe+2=10016, 그러나 이것은 1바이트 값이므로 1이 버려진다) P2 및 R0/R1은 독립 레지스터이며 하나의 레지스터가 상위 어드레스 바이트(P2)를 운반되지 않으므로 데이타 검사의 필요가 없다.
일단 동작 모드에서는 PR 박스는 구변 장치에 대한 보율을 디폴트하도록 모든 채널을 초기화시키며, 특정 채널상에 존재하도록 되어 있다. 디폴트 보율은 제5도의 테이블에서 설정된다. 이러한 기대에 관하여 PR 박스는 또한 각 주변 장치로 전송되며 또한 이 장치로부터 수신된 데이타의 최대 처리를 달성하기 위해 버퍼 크기를 할당한다. 버퍼 크기는 버퍼 공간을 과기입하지 않고 최대 256 패킷 기억 영역을 제공하도록 선택된다. 이것은 호스트로 전송하기 위해 준비된 큐의 128 패킷, 호스트 송신큐로 이동되기를 대기하는 주변 수신큐의 다른 128 패킷으로 구성된다. 예를들어 채널 φ 버퍼는 768바이트(3/4K)로 초기화되어 단일문자 장치인 키보드에 적합하다. 키보드로부터 수신된 버퍼에 기억된 각 패킷은 3바이트, 즉 채널 번호, 크기 바이트 및 데이타 바이트로 구성된다. 256 패킷을 기억하기 의해 할당된 버퍼는 256×3=768바이트(3/4K) 길이이다. 일단 호스트와 PR 박스간에 통신이 설정되면 호스트는 각 주변 장치를 질의하여 무슨형의 주변 장치가 접속되었는지를 확인하고 필요하다면 보율에 대한 조정도 할 수 있다.
PR 박스가 실행하는 주루틴은 상기 배경 처리이다. 제3c도는 배경 처리를 기술하는 흐름도이다. 먼저블럭(401)에 펌웨어의 이 부분이 시작될 때 기능 레지스터 출력은 녹색으로 된다.
그리고 블럭(403)에서 도시된 비와같은 이러한 처리는 수신 및 송신큐가 비워져 있는지를 알기 위해 이 큐를 조사(scan)한다. 이것은 각 큐에 대해 정면 규 포인터와 배면 큐 포인터를 비교함으로써 행해진다. 만일 정면 큐 포인터가 배면 큐 포인터와 동일하면 큐는 공백이며 동일하지 않으면 임의의 동작이 취해져야 한다. 배경 루틴에서 사용된 값 1은 물론 채널 번호이다. 이러한 경우에 었어서 i는 베이스 값에 가산되어 정면 및 배면 포인터를 검사하는데 필요한 어드레스를 얻게 된다.
제4a도 대지 제4e도는 데이타가 수신 장치로부터 수신큐내에서 수신될 때 발생되는 것을 도시하며 또한 본 발명에 의한 순환큐 및 순화 버퍼의 사용을 도시한 것이다. 제4a도는 패킷이 수신되기 전에 상기 큐 및 버퍼가 초기화되는 상대를 도시한 것이다. 채널 2의 큐(410)가 도시되어 있으며 채널 2의 버퍼(415) 및 테이블(417)은 수신 채널 Rx0-Rx7 및 송신 채널 Tx0-Tx7 각각에 대한 다음 유용 메모리 영역의 포인터를 포함한다. 상술된 바와같이 데이타는 버퍼에서 버퍼로는 이동되지 않으나 어드레스만은 큐에서 큐로 이동된다. 따라서 채널 2에 대해 버퍼 2는 데이타를 수신하며 또한 이 버퍼로부터 데이타가 호스트로 전송된다. 이 패킷에 대한 수신 시작시에 큐(410)는 비어있다. 즉, 정면 포인터(411)는 배면 포인터(412)와 동일하다. 정면 및 배면 포인터(410 및 411)가 수신큐(410)(Rx-2-큐)의 상단에 있기 전에 수신된 많은 패킷이 존재할 수 있다. 테이블(417)의 Rx2에 대한 포인터(416)는 16진 44Fd인 버퍼(4l5)내에서 그 다음 자유버퍼 공간을 지시한다.
제4b도는 채널 2에 대한 제1수신 인터럽트가 발생한 후에 무엇이 발생하는가를 도시한 것이다. 어드레스는 상기와 같은 방법으로 채널 번호(2)를 베이스 어드레스에 가산시킴으로써 얻어진다. 본 실시예에서는 "A"인 문자가 판독된다. Rx 버퍼 포인터(416)의 어드레스는 Rx-2_ 큐(410)내로 이동된다. 패킷은 채널번호(418) 패킷(419)의 크기와 함께 1로 초기화된 채널-2-버퍼(415)내로 로드되며, 문자는 블럭(420)에서 표시된 바와같이 "A"로 판독된다. 이러한 작용은 이후 상술될 채널 2의 문자간 타이머(inter-Charactertimer)를 개시시킨다.
다음 자유 버퍼 공간이 포인터(416)의 테이블(417)에서 세이브된다. 그 다음 자유 버퍼 공간 포인터는 16진의 3D00이다. 최종 자유 버퍼 공간 포인터는 버퍼의 종료 영역인 16진의 44FF에 있다. 자유 버퍼 공간포인터를 16진의 4500으로 범핑함으로써 그 다음 SLU 데이타 공간으로 진행하고 데이타를 잃어버리는 대신에 자유 버퍼 공간은 채널-2-버퍼의 개시를 달성한다. 후술될 바와같이 패킷의 번호 및 패킷의 크기 때문에 오버런은 발생하지 않게 된다. 이것은 PR 박스 소포트웨어에서 순환 버퍼의 사용을 입증한다.
상술되고 제4b도에 도시된 바와같이 동일한 이벤트 시퀀스가 제4c도 및 제4d도에 도시된 바와같이 반복된다. 문자(B 및 C)는 판독되어 채널 2의 버퍼(415)의 개시시에 기억되며, 패킷 크기(419)는 따라서 증가된다. 각 문자는 테이블(417)의 포인터(416)(자유 버퍼 공간 포인터)가 표시하는 Channel-2-Buffer(415)의 어드레스로 이동된다. 포인터(416)는 증가되며 문자간 타이머(inter-Character timer)는 재개시된다.
이러한 이벤트 시퀀스는 문자간 타이머가 완료될 때까지 계속된다.
제4a도 내지 제4e도는 동시에 각 큐내의 한 패킷만을 도시하도록 간략화되어 있다. 사실상 각 큐는 다수의 엔트리를 가질 수 있으며 각 포트는 패킷을 동시에 송수신할 수 있다. 송신큐를 가지면, 수신큐, 버퍼및 PR 박스내 각 채널에 전용된 관련 포인터가 이러한 동작을 가능하게 한다.
제4e도는 일단 문자간 타이머가 종료되어 배면 포인터(412)가 그 다음 자유 영역(16진의 FE+2=100)으로 범프되는 것을 도시한 것이다. 이것은 배면 포인터로 하여금 큐를 개시시켜 이미 설명된 P2 및 R0/R1레지스터의 사용 결과로서 PR 박스 소포트웨어로 순환큐의 사용을 다시 입증하게 된다.
PR 박스로부터 송수신된 모든 데이타는 인터럽트 루틴에 의해 조정된다. 예를들어, 제4a도 내지 4e도의단계 동안 주변 장치에서 호스트로 전송되어질 데이타 패킷을 설정하도록 발생하는 루틴이 존재한다. 이들패킷은 상기 주변 장치에서 수신된 문자수가 6바이트인 허용된 최대 패킷 크기와 동일하거나, 또는 상기 주변 장치에 대해 문자간 타이머가 타임 아웃이면 완료되는 것으로 간주된다. 예를들어, 타블렛 기록 크기는 5바이트로 제5바이트 후에는 타임 아웃되며 패킷이 완료된다. 문자간 타임 아웃은 약 2문자 타입이 바이트의 수신없이 통과하면 발생한다.
주변 장치 타임 아웃은 초기화 코드가 개시되기 전에 초기화되어 지는 문자간 타이머에 의해 조정된다. 타이머내로 로드된 값은 보율에 관련된다. 각 채널에 타이머 영역이 존재한다. 제6도의 테이블은 상이한 보율에 사용된 타이머값의 목록을 포함한다. 타이머값은 제7도에 관해 후술된 타이머 0 인터럽트 루틴에서 감소된다. 예를들어, 타블렛이 5바이트 길이인 기록을 4800보로 전송하는 경우를 고려해 보자. 4800보 및문자당 11비트에서는 전송을 위하여 문자당 약 2.3msec가 걸린다. 다음에 이 기록이 전송되는 경우에 있어서, 타이머는 약 5msec후에 완료되며 버퍼는 완료된 것으로 표시된다.
제4b도에 관하여 상술된 바와같이, 제1문자가 포트 0 내지 6(주변 포트)상에서 수신되면, 상기 포트의버퍼(415)내의 제1자유 공간의 어드레스는 큐(410)에 기억된다. 현재의 포트 번호는 블럭(418)에서 상기영역에 기억된다. 그 다음 버퍼 영역(419)는 그 크기이며, 1로 초기화된다. 최종적으로 예를들어 a로 판독되어진 문자는 버퍼내에 기억된다. 후속 바이트는 버퍼(415)에 기억되며, 크기 바이트(419)는 증가된다.
따라서, 각 바이트가 판독된후, 이 포트에 대한 타이머는 단일 문자의 전송 시간을 약 2회 초기화시킨다. 이 문자간 타이머값은 호스트가 임의 채널에서 보율을 변경시키면 조정된다. 패킷은 완료되며, 제4a도 내지 제4e도의 i번째 배면 포인터(412)는 타이머가 0(타임 아웃)으로 계수되거나, 크기가 6과 동일하면 2 만큼 범프된다. 여기서 i는 제4e도에서 도시된 바와같이 채널 번호이다.
배경 처리가 제4e도에서와 같이 비공백 Rx 큐를 검사한 후에 수신큐의 정면(411)에서의 버퍼 어드레스는 Tx_7_큐(호스트)(420)의 배면(422)으로 이동된다. 정면 수신기 포인터(411) 또는 Rx큐는 (전송되어질 더이상의 데이타 버퍼를 가질 수도 갖지 않을 수도 있는) 그 다음 영역으로 범프되며, Tx_7 큐의 배면(422)은 그 다음 자유 영역으로 범프되며, Tx_7_ 큐의 배면(422)은 그 다음 자유 영역으로 범프된다. 이것은 제4F도에 도시되어 있다.
일반적으로, 송신기는 이미 온되지 않았거나, ACK/NACK 또는 활성이 전송되어질 필요가 있거나, 큐가 공백이 아니면 포트 7에 대해 턴온된다. 만일 명령큐가 공백이 아니면, 명령 파서(Parser)가 실행된다. 송신기 인터럽트는 최종 문자가 전송될 때 스스로 턴오프된다. 배경 루틴, 송신, 수신 및 시간 인터럽트 모두는 서로 비동기식으로 실행된다.
따라서, 수신큐가 공백이 아니며 큐가 포트 0 내지 6 또는 명령큐이면 이 큐의 정면에서 큐엔트리는 포트7의 송신큐(420)의 배면(422)상으로 푸쉬된다. 엔트리가 방금 중단될 수신큐의 정면(411)은 제4f와 관련하여 상술된 바와같이 2 증가된다. 이것은 정보가 주변 장치로부터 어떻게 버퍼 및 수신(Rx)큐에 기억된 버퍼 영역내로 수신되어 호스트로 전송되어질 Tx_7_큐로 전송되는가에 대해 기술하고 있다.
주변 장치(0 내지 6) 또는 PR 박스(명령 채널)의 호스트로 부터 나온 패킷은 먼저 Rx_7_큐에 기재된 영역에서와 동일한 방식으로 조정되어 각각의 Tx큐로 전송된다.
만일 포트 7의 수신큐, Rx_7_큐(호스트)가 공백이 아니면, (큐엔트리에서) 버퍼의 제1바이트는 엔트리가 전달되는 포트를 포함한다. 이 포트값은 적절한 송신큐를 선택하는데 사용되며, 버퍼 어드레스+l은 이송신큐상으로 푸쉬되어지는 값이다. 만일 수신지가 포트 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 또는 패킷을 호스트로 전송하기 위한 것과 같은 약간의 이유 때문에 존재할 수 있다. 포트 (호스트 포트)에 대한 송신 인터럽트는 활성 유지 타이머를 10초로 다시 초기화시킨다. 만일 PR 박스가 패킷을 호스트로 전송하기로 한다면, 인터럽트의 제1시간은 SOH를 전송한다. 인터럽트 루틴의 제2시간은 제4G도에서 도시된 바와같이 채널 7의 송신기 큐(420)의 정면 포인터(421)에 의해 지정된 패킷 어드레스를 얻게된다. 이 어드레스에서 제1바이트는 패킷의 출처인 채널일 것이다. PR 박스는 이 바이트를 택하여, 전송하고, 채널 7의 영역에서 Tx_Buffer 테이블(417)에서 전송하도록 다음 바이트의 어드레스를 기억한다. 예를들어, 제4g도는 제4a도 내지 제4e도에서 도시된 바와같이 얻어진 채널 2에 대한 정보를 전송하는 것을 도시하고 있다. 다음 시간에서 패킷의 크기를 전송하여, 크기가 0으로 될 때까지 후속 데이타 바이트를 전송하기 위한 크기를 사용한다. 각 바이트가 전송될때, Tx 버퍼(7)는 다음 바이트를 지정하기 위해 증가된다. 각 바이트가 전송될때, 또한 체크섬으로 계산되어, 그 체크섬은 크기가 0일때 전송된다. 체크섬이 전송된 후, 타이머는 ACK 또는 NACK를 대기하기 위해 20msec로 초기화되어 인터럽트는 중단된다. 만일 ACK가 수신되면, 채널 7의 정면 포인터는 제4h도에서 도시된 바와같이 2 만큼 범프된다. 만일 타이머가 완료되면, 이 포인터는 2 만큼 범프되며, LED는 호스트가 응답하지않는 것을 표시하도록 에러 코드를 갖는다. 다른 패킷은 ACK/NACK가 수신되거나 또는 타이머가 완료될 때까지는 호스트로 전송될 수 없다.
상기와 같이, 호스트는 물리적 채널 어드레스로 데이타를 전송한다. 호스트는 특정 채널내로 플러그 결합되는 장치를 나타내는 테이블을 보유한다. 호스트는 자기 시험 기록을 전송하기 위해 장치를 요청함으로써 특정 채널상에 있는 장치를 나타낼 수 있다. 이것은 상호 교환될 수 있는 공통 접속기(즉, 마우스 및 타블렛, 다이얼 박스 및 디지트 박스, 등등)을 갖는 장치에 대해 행해진다. PR 박스는 만일 장치가 장치 존재비트를 기대하여 채널에 접속되는가를 판단하고자 한다. 마우스, 타블렛, 버튼 박스, 다이얼 박스 및 스페어 키보드 채널은 장치 존재 비트를 갖는다. 이들을 사용함으로써, PR 박스는 장치가 그 외부에 있는지는 알수 있지만 현재 어떠한 형의 장치인지는 알수 없다.
PR 박스가 자기 시험 기록을 전송할때 시스템(장치 존재 비트를 갖는 이들 장치만)의 현재 구성은 1바이트이다. 스페어 채널, 호스트 채널 또는 키보드 채널에 장치가 존재하는 지를 확인하려는 시도는 행해지지 않는다.
수신 인터럽트는 장치가 플러그 결합/플러그 결합 해제되면 채널 1 내지 4 및 6상에서 발생한다. 만일 이러한 인터럽트가 발행하면 메시지는 호스트로 전송된다. 다음에 호스트는 주변 장치가, 만일 있다면, 어느주변 장치가 존재하는가를 알기 위해 상기 포트를 질의하여 테이블내에 이 정보를 기록한다. 다음에는 명령을 주변장치로 전송하여 보율을 설정한다. 보율은 예를들어, 과도한 전송 에러를 만나게 되는 경우 데이타의 전송을 천천히 줄이기 위해 호스트에 의해 다른 시간으로 리세트될 수 있다.
타이머 0인더럽트는 문자간 타이머용 카운터, 사전에 턴오프되어진 포트용 타이머 및 ACK/NACK 타이머를 포함한다. 제7도는 타이머 0을 도시하는 흐름도이다.
제7도에 도시된 바와 같이, 타이머 인터럽트는 대략 1.38msec마다 발생한다. 인터럽트의 발생시, 블럭(501)에서 표시된 바와 같이 레지스터가 세이브(save)되어 레지스터 뱅크는 변경된다. 그 다음 인터럽트로의 시간은 블럭(503)에서 표시된 바와 같이 1.38msec로서 로드된다. 다음 단계에서는 문자간 타이머의 수신기 타임 아웃 테이블의 베이스 어드레스를 얻게 된다. 이 테이블은 제5도 및 제6도에 포함된 동일한 정보를 포함하며, 즉 각 채널에 대해 문자간 타이밍 값을 제공한다. 그 다음 블럭에서는 i가 0과 등가인 경우에 처리를 개시하는 것을 나타낸다. 즉, 블럭(507)에서 표시된 바와 같이, 채널 0에서 시작한다. 판단블럭(509)은 수신기의 타임 아웃 i가 0과 동일한지를 알기 위해 행해지는 검사를 통해 제1시간에서 진행된다. 만일 0과 동일하지 않으면, 블럭(511)으로 진행되며 타임 아웃은 1 감소된다. 또 다시 판단 블럭(513)에서 타임 아웃이 0에 도달되었는지를 알기 위한 검사가 행해진다. 만일 응답이 예이면 블럭(515)에서 표시된 바와 같이 메시지의 종료이며 상기와 같이, 큐 i의 배면이 범프된다. 판단 블럭(509)에서 타임 아웃이 0과 동일하면 이것은 이 채널에서는 아무것도 행해지지 않는다는 것을 의미한다. 만일 판단 블럭(513)에서의 응답이 아니오이면, 이것은 타임 아웃이 발생되지 않았다는 것을 의미한다. 어느 경우이든, 블럭(517)이 시작되어 i는 그 다음 채널로 증가된다. 그 다음에 i가 7과 동일한지를 알기 위해 판단 블럭(519)으로 진행된다. i가 7과 같지 많다면, 프로그램은 루프(520)에 의해 다음 채널에 대한 타임 아웃을 검사하기 위해 판단 블럭(509)으로 다시 루프한다. 채널 7이 도달되면, 블럭(519)으로부더 "예"응답으로 표시된 바와 같이, 판단 블럭(521)이 개시된다.
여기서 PR박스가 호스트 채널로 수신하는가를 알기 위한 검사가 행해진다. 만일 그렇다면, 블럭(521)에따라 타임 아웃이 1만큼 감소된다. 블럭(523)에서는 타임 아웃이 0과 동일한지를 알기 위해 검사가 행해진다. 타임 아웃이 0이면 호스트 채널상에 타임 아웃이 존재하며 블럭(525)에서 표시된 바와 같이 여러 단계가 택해진다. 만일 타임 아웃이 발생되지 않으면, 프로그램은 블럭(527)으로 직접 진행한다. 여기서 표시된바와 같이, 턴 오프된 포트상의 타임 아웃에 대한 검사가 행해진다. 이것은 방금 기술된 동일한 단계를 사용하여 행해진다.
블럭(527)을 통과한 후에, PR박스가 ACK 또는 NACK를 대기하는지 아닌지를 알기 위해 판단 블럭으로 진행된다 만일 판단 블럭(529)에서의 응답이 "아니오"이면, 레지스터가 재기억되며, 인터럽트로부터 주 프로그램으로의 복귀를 표시하는 블럭(531)으로 바로 진행된다. 만일 PR박스가 대기중이면 블럭(533)으로 진행되어 ACK/NACK타이머가 감소된다. 다음에, 타이머가 0인지를 알기 위해 블럭(535)에서 검사가 행해진다. 타이머가 0이 아니면 블럭(531)으로 진행된다. 만일 타이머가 0이면, ACK/NACK 및 송신기 7 플래그의 대기가 클리어되며 송신기 7큐의 정면 포인터는 블럭(537)으로 표시된 바와 같이 범프된다. 다음에, 블럭(539)으로 진행되어 만일 시스템이 개시되지 않으면 호스트 진행 에러가 제2도의 LED(52)에서 점등된다. 이후에, 블럭(531)으로 다시 진행된다. 제7c도에 도시된 바와 같이 종료 메시지(515)가 발생될때, 블럭(541)에 도시된 바와 같이 메시지가 종료된 i번째 채널 포인터에 연관된 수신기의 배면 포인터는 2증가된다. 다음에, 블럭(543)에서 표시된 바와 같이, 진행 플래그에서의 수신은 블럭(545)에서 나타난 바와 같이 수신 타임 아웃의 클리어링에 의해 클리어된다. 다음에, i가 호스트 채널과 동일한지를 알기 위해 판단블럭(547)에서 검사가 행해진다. i가 호스트 채널과 동일하면 블럭(549)에서 취해진 작용은 실행된다. 이것이 실행되거나, 또는 만일 블럭(547)의 응답이 아니오이면, 프로그램은 제7a도의 블럭(517)으로 복귀된다.(종료 메시지는 펌웨어로 어느 곳에서나 사용된다.)
타이머는 이것이 0이 아니면 감소될 뿐이다. 만일 타이머가 0이 아니면 0으로 전이되어 몇가지 동작이 취해진다. 만일 문자간 타이머가 완료되면, i번째 수신기의 배면 포인터(412)는 2만큼 범프된다. 만일 사전에 턴오프된 포트의 타이머가 완료되면, 이 포트는 턴온된다. 포트가 너무 많은 데이타를 취하면 포트는 턴오프되어 그 큐를 오버플로우(overfIow)한다. 포트는 10msec동안 턴오프된다. 만일 ACK/NACK 타이머가 완료되면, 채널 7송신기의 정면 포인터(421)는 2만큼 범프되며 응답하지 않는 호스트에 대한 에러가 LED(57)에 있게 된다.
타이머 1인터럽트는 "활성 유지"타이머에 대한 카운터를 포함한다. 이것은 각 엔트리에 대해 1씩 감소된다. 만일 0으로 전이되면, 플래그는 세트되어 제5c도의 배경 처리는 "활성 유지"메시지를 호스트로 전송시킨다.
따라서, 호스트로부터 패킷을 수신하기 위한 인터럽트 루틴은 변역을 위해 제5c도의 배경 처리용의 메모리에 그들을 설정한다. 또한 이러한 배경 처리는 호스트 및 주변 장치로 데이타 패킷을 전송하기 위해 인터럽트 루틴에 대한 처리를 설정한다.
[패킷 한정]
상기와 같이, 주변 장치로부터 PR박스에 의해 수신된 바이트는 호스트로 전송되어질 패킷으로 그룹화된다. 패킷 한정은 다음과 같다.
Figure kpo00003
헤더 바이트 필드는 제8도에 도시되어 있다.
3비트 장치 코드는 이용 가능한 모든 비트를 이용한다. 키보드, 마우스, 타블렛, 다이얼박스, 버튼 박스, PR박스 및 2개의 스페어 부품을 위한 장치 코드가 존재한다. 호스트 채널은 상기 PR박스 시스템의 일부분으로 간주된다.
즉, 이 호스트 채널은 111의 DEV ID를 사용한다.
Figure kpo00004
제8도의 수령 에러 비트는 장치 코드에 의해 식별된 연관 장치가 갖는 문제점을 지시하는 데 사용된다. 이 비트는 상기 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(일부는 트랙되지 않고 재전송됨)을 위해 대기한다. 상태 정보는 오리지네이팅 장치, 즉 호스트가 ASCIIACK/NAK문자백과는 다른 어떤 것을 기대한다는 점에서 조금 다른 비트이다. 이것은 응답 비트가 사용된 경우이다.
만약 NAK가 PR박스 또는 호스트에 의해 수신된 경우 상기 소스 장치는 앞선 전송을 재전송한다. NAK를 보낼 장치는 앞선 전송을 한꺼번에 하게 되고, 새로운 요청으로서 이 재전송에 응답한 것이다.
제9a도 내지 제9c도는 호스트 원점 데이타(host originated data); PR박스 원점 데이타 및 상기 호스트에 의한 보고 요청을 각기 도시한 것이다.
자체 시험 명령이 정규 데이타로서 주변 장치에 직접 전송되었을때 되돌아오는 응답은 상기와 동일한 방식, 즉 데이타로서 처리되며, 응답 비트는 세트되지 않을 것이며, DEV lD는 주변 장치의 DEV ID가 된다.
장치 오버린 에러가 발생했을때, 데이타는 손실될 수도 있다. PR박스가 오버런 에러를 갖고, 자신의 큐가 비워지기도 전에 상기 장치로부터 데이타를 계속 수신할때, 상기 장치에 대한 수신은 10msec동안 중단된다.
10msec가 경과한 후, 이 수신은 다시 시작되고, 입력될 데이타는 호스트로 전송될 수 있도록 큐에 놓여진다. 상기 10msec동안 즉, 수신이 중지된 동안 데이타가 손실된다.
주변 장치로부터 나온 데이타는 PR박스에 의해 1패킷당 최고 6바이트로 제한된다. 만약 주변장치가 바이트간에 어떤 널 시간 주기도 없이 6개의 연속 데이타 바이트보다 많이 전송하게 되면, 상기 PR박스는 패킷을 최고 6데이타 바이트 분리시킨다. 호스트에서 PR박스까지의 패킷은 데이타 제한 검사를 받지 않는다. 그러나, 호스트 안전을 위해 1패킷에서의 데이타 크기를 9데이타 바이트까지 제한한다. 이 PR박스는 9데이타 바이트로 구성된 패킷을 256개까지 안전하게 기억할 수 있고 큐 오버플로우 조건에 따라 상기 호스트에 경고를 할 수 있다. 만약 상기 호스트가 대규모 패킷을 전송하면, 패킷간의 시간 간격을 보다 길게 두고 즉, 18데이타 바이트로 구성된 128개의 패킷을 전송함으로써, 덜 빈번하게 패킷을 전송한다.
이상 설명한 바와 같이, 장치로부터 출력된 데이타의 팩킹 처리는 타이머에 의해 이루어진다. PR박스가 주변 장치의 문자 길이의 2배가 되는 "널"시간 주기를 찾아냈을 때, 이 패킷은 마감되고 호스트로 전송될수 있도록 큐에 놓여진다. 호스트로부터의 전송에 대한 디폴트 즉, 1패킷의 2바이트간에 10msec의 널 시간이 존재한다. 이 호스트의 디폴트 속도가 변경되면 타이머는 문자 길이의 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)의 표는 다음과 같다.
Figure kpo00005

Claims (6)

  1. 하나의 프로세서 및 적어도 하나 이상의 접속기를 구비하는 주변 리피터와, 호스트 프로세서를 포함하는 시스템에서, 각종 주변 장치중 어느 것이 상기 접속기에 플러그 결합되는 지를 판정하는 방법에 있어서, 상기 접속기에 대한 주변 장치의 접속 변화를 주변 리피터에 의해 감지해내는 단계와, 어떤 변화가 감지되었을때 상기 주변 리피더 프로세서에서 인터럽트를 발생시키는 단계와, 상기 시스템의 초기 기동시에, 플러그 결합되지 않은 상태에서 플러그 결합된 상태로의 변화가 검출된 때마다, 인터럽트에 응답하여, 주변 장치가 존재할 경우 그 주변 장치의 종류를 포함하는 결과를 획득하기 위하여 상기 호스트에 의해 상기 접속기를 질의하는 단계와, 시스템의 기동 및 시스템 동작중에 다양한 종류의 주변 장치가 상기 접속기에 상호교환 가능하게 결합되도록 하기 위하여 플러그 결합되는 주변 장치의 종류를 테이블에 기억시키는 단계를 포함하는 것을 특징으로 하는 방법
  2. 제1항에 있어서, 다수의 주변장치를 위해 다수의 접속기가 제공되며, 상기 다수의 접속기들중 임의의 접속기에 대한 접속 상태의 상기 변화를 감지하는 단계와, 상기 접속기를 질의하는 단계와, 시스템 동작중에 각종 주변장치의 상호교환이 허용되도록 상기 테이블을 상기 결과로 갱신하는 관계를 아울러 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 주변 리피터는 이 주변 장치로부터 입력을 수신하여 상기 호스트 프르세서로 재전송하고 상기 호스트로부터의 입력을 수신하여 상기 주변 장치로 재전송하며, 어느 주빈 접속기가 인터럽트를 발생하는 가를 표시하는 상기 주빈 리피터 프로세서로부터 상기 호스트로 단일 메시지를 전송하는 단계와, 상기 호스트 프로세서로부터 상기 주변리피터를 거쳐 상기 접속기를 질의하는 단계를 아울러 구비하는 것을 특징으로 하는 방법.
  4. 하나의 프로세서와, 상기 프로세서에 입력을 제공할 수 있는 적어도 하나의 접속기를 포함하는 시스템에서, 각종 주변 장치중 어느 것이 상기 접속기에 플러그 접속되는지를 검출하는 장처에 있어서, 주변 장치가 상기 접속기에 플러그 접속되는 것을 표시하기 위해 상기 접속기를 통과하는 전류 통로를 검출하여 출력을 제공하는 검출 수단과, 상기 출력에 응답하여 질의 명령을 상기 접속기에 보내기 위한 상기 프로세서내의 수단과, 시스템 동작중에 다양한 종류의 주변 장치가 접속기에 상호 교환 가능하게 결합될 수 있는 상기 접속기에 플러그 결합된 주변 장치의 종류를 기억하기 위해 상기 프로세서에 결합된 데이타를 기억하는 수단을 구비하는 것을 특징으로 하는 장치.
  5. 제4항에 있어서, 상기 출력은 인터럽트를 포함하고 상기 검출 수단은 상기 전류 통로의 변경이 감지되었을때 인터럽트를 발생시키기 위한 수단을 포함하는 것을 특징으로 하는 장치.
  6. 제5항에 있어서, 상기 시스템은 프로세서를 구비하는 주변 리피터와 호스트 프로세서를 포함하며, 상기 주변 리피터는 다수의 상기 접속기를 통하여 다수의 주변 장치로부터 입력을 수신하여 상기 호스트로 재전송하고 상기 호스트로부터 입력을 수신하여 상기 주변 장치로 재전송하며, 추가로 상기 접속기중의 어느것에서 전류 통로의 상기 변화를 감지하기 적합한 것인지를 검출하는 상기 수단을 포함하고, 상기 검출 수단은 변화가 감지되는 접속기와 관련된 번호를 기억하는 레지스터를 포함하고, 상기 기억 수단은 상기 접속기의 각각에 대하여 주변 장치의 종류를 기억하기 위한 영역을 포함하고, 상기 인터럽트를 발생시키는 상기수단은 상기 주변 리피터 프로세서에 위치하고, 질의 명령을 전송하기 위한 상기 수단은 상기 호스트 프로세서를 구비하는 것을 특징으로 하는 방법.
KR1019880010358A 1987-08-13 1988-08-13 주변 장치의 상호 교환을 허락하는 방법 및 장치 KR930002329B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/085,105 US4862355A (en) 1987-08-13 1987-08-13 System permitting peripheral interchangeability during system operation
US085,105 1987-08-13

Publications (2)

Publication Number Publication Date
KR890004239A KR890004239A (ko) 1989-04-20
KR930002329B1 true KR930002329B1 (ko) 1993-03-29

Family

ID=22189500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880010358A KR930002329B1 (ko) 1987-08-13 1988-08-13 주변 장치의 상호 교환을 허락하는 방법 및 장치

Country Status (8)

Country Link
US (1) US4862355A (ko)
EP (1) EP0310788B1 (ko)
JP (1) JPH01152556A (ko)
KR (1) KR930002329B1 (ko)
AU (1) AU600160B2 (ko)
CA (1) CA1315008C (ko)
DE (1) DE3855599T2 (ko)
IL (1) IL87400A (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263148A (en) * 1988-09-09 1993-11-16 Compaq Computer Corporation Method and apparatus for configuration of computer system and circuit boards
JPH03144716A (ja) * 1989-10-31 1991-06-20 Toshiba Corp パーソナルコンピュータ
FR2664380B1 (fr) * 1990-07-03 1994-04-15 Cogema Appareil de mesure multifonctionnel.
US5265238A (en) * 1991-01-25 1993-11-23 International Business Machines Corporation Automatic device configuration for dockable portable computers
EP0510241A3 (en) * 1991-04-22 1993-01-13 Acer Incorporated Upgradeable/downgradeable computer
US5761479A (en) * 1991-04-22 1998-06-02 Acer Incorporated Upgradeable/downgradeable central processing unit chip computer systems
US5551012A (en) * 1991-04-22 1996-08-27 Acer Incorporated Single socket upgradeable computer motherboard with automatic detection and socket reconfiguration for inserted CPU chip
EP0529142A1 (en) * 1991-08-30 1993-03-03 Acer Incorporated Upgradeable/downgradeable computers
JP2986299B2 (ja) * 1992-04-15 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 周辺装置接続検出システム
US5289372A (en) * 1992-08-18 1994-02-22 Loral Aerospace Corp. Global equipment tracking system
EP0640978A3 (en) * 1993-08-31 1998-10-07 Ohmeda Inc. Non-invasive software update apparatus
US5682529A (en) * 1994-03-14 1997-10-28 Apple Computer, Inc. System for dynamically accommodating changes in display configuration by notifying changes to currently running application programs to generate information by application programs to conform to changed configuration
JPH09190267A (ja) * 1995-08-23 1997-07-22 Toshiba Corp 外部イベントに基づきキーボード割当を動的に構成し直すシステムおよび方法
US5940586A (en) * 1995-10-16 1999-08-17 International Business Machines Corporation Method and apparatus for detecting the presence of and disabling defective bus expansion devices or Industry Standard Architecture (ISA) adapters
US5787019A (en) * 1996-05-10 1998-07-28 Apple Computer, Inc. System and method for handling dynamic changes in device states
US6065069A (en) * 1996-07-15 2000-05-16 Micron Electronics, Inc. Circuit for sensing and automatically switching between an internal and external user I/O device
JP3366808B2 (ja) * 1996-07-18 2003-01-14 株式会社日立製作所 電子財布
US6012103A (en) 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US6935946B2 (en) * 1999-09-24 2005-08-30 Igt Video gaming apparatus for wagering with universal computerized controller and I/O interface for unique architecture
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
KR100454674B1 (ko) * 2000-08-28 2004-11-03 엘지전자 주식회사 라우터의 자동 설정 장치 및 방법
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US6754725B1 (en) 2001-05-07 2004-06-22 Cypress Semiconductor Corp. USB peripheral containing its own device driver
US7618317B2 (en) 2001-09-10 2009-11-17 Jackson Mark D Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US7689724B1 (en) 2002-08-16 2010-03-30 Cypress Semiconductor Corporation Apparatus, system and method for sharing data from a device between multiple computers
US7293118B1 (en) 2002-09-27 2007-11-06 Cypress Semiconductor Corporation Apparatus and method for dynamically providing hub or host operations
US7653123B1 (en) 2004-09-24 2010-01-26 Cypress Semiconductor Corporation Dynamic data rate using multiplicative PN-codes
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) * 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8090894B1 (en) 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US7895387B1 (en) 2007-09-27 2011-02-22 Cypress Semiconductor Corporation Devices and methods for sharing common target device with two different hosts according to common communication protocol
US8447845B1 (en) 2011-02-10 2013-05-21 Flir Systems, Inc. Setting a network device to default settings

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US4025906A (en) * 1975-12-22 1977-05-24 Honeywell Information Systems, Inc. Apparatus for identifying the type of devices coupled to a data processing system controller
JPS57146330A (en) * 1981-03-03 1982-09-09 Fujitsu Ltd Channel controlling system
GB2101370A (en) * 1981-06-26 1983-01-12 Philips Electronic Associated Digital data apparatus with memory interrogation
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
EP0104545A3 (en) * 1982-09-27 1985-12-04 Kabushiki Kaisha Toshiba Input and output port control unit
JPS59186020A (ja) * 1983-04-07 1984-10-22 Fanuc Ltd デ−タ転送制御方式
US4773036A (en) * 1984-07-13 1988-09-20 Ibm Corporation Diskette drive and media type determination
JPS61229146A (ja) * 1985-04-03 1986-10-13 Nec Corp 周辺装置認識方式
US4760553A (en) * 1985-06-03 1988-07-26 International Business Machines Corporation Terminal system configuration tracing method and apparatus
JPS62159260A (ja) * 1986-01-08 1987-07-15 Canon Inc 周辺機器の監視装置
US4750136A (en) * 1986-01-10 1988-06-07 American Telephone And Telegraph, At&T Information Systems Inc. Communication system having automatic circuit board initialization capability
AU606854B2 (en) * 1986-01-10 1991-02-21 Wyse Technology, Inc. Virtual peripheral controller
US4905232A (en) 1987-08-13 1990-02-27 Digital Equipment Corporation Peripheral repeater box
US4903218A (en) 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US5123091A (en) 1987-08-13 1992-06-16 Digital Equipment Corporation Data processing system and method for packetizing data from peripherals
US4797608A (en) 1987-08-13 1989-01-10 Digital Equipment Corporation D.C. power monitor

Also Published As

Publication number Publication date
EP0310788A3 (en) 1991-05-15
CA1315008C (en) 1993-03-23
JPH01152556A (ja) 1989-06-15
EP0310788A2 (en) 1989-04-12
IL87400A0 (en) 1989-01-31
KR890004239A (ko) 1989-04-20
US4862355A (en) 1989-08-29
AU2090988A (en) 1989-02-16
EP0310788B1 (en) 1996-10-09
IL87400A (en) 1991-12-15
DE3855599D1 (de) 1996-11-14
AU600160B2 (en) 1990-08-02
DE3855599T2 (de) 1997-05-15

Similar Documents

Publication Publication Date Title
KR930002329B1 (ko) 주변 장치의 상호 교환을 허락하는 방법 및 장치
KR920005287B1 (ko) 데이타 팩킷화 방법
US4837565A (en) Tri-state function indicator
US4860292A (en) Communication protocol
CA1078965A (en) Remote controlled test interface unit
US4665501A (en) Workstation for local and remote data processing
US5230071A (en) Method for controlling the variable baud rate of peripheral devices
US4920483A (en) A computer memory for accessing any word-sized group of contiguous bits
US5063494A (en) Programmable data communications controller
EP0013739B1 (en) Communication controller in a data processing system
EP0204507A2 (en) System configuration tracing method and apparatus
GB1494841A (en) Data communications system
US4899274A (en) Dynamic terminal address allocation by the terminal itself in a data processing system
KR930001791B1 (ko) 컴퓨터 시스템용 주변 리피터 박스
JP2562547B2 (ja) 一つのコンソールを中央処理装置と共有するシステム状態監視装置
US4379340A (en) Communications subsystem idle link state detector
GB2062419A (en) Improvements in or relating to information retrieval
KR830008236A (ko) 바이트 동기화를 확립하기 위해 통신 서브씨스템의 장치를 갖는 데이터 처리 씨스템
Cisco Field Service Manual
CN112395147A (zh) Soc上的调试装置
KR100350245B1 (ko) 교환시스템의 데이타 구별 방법
Budlong et al. The 3B20D processor & DMERT operating system: 3B20D input/output system
JPS62254545A (ja) サイクリツク伝送装置
JPS60195662A (ja) システム開発装置
JPS63275246A (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
LAPS Lapse due to unpaid annual fee