KR100384677B1 - 데이타 전송 방법 및 이것을 이용한 게임 시스템 - Google Patents

데이타 전송 방법 및 이것을 이용한 게임 시스템 Download PDF

Info

Publication number
KR100384677B1
KR100384677B1 KR10-1999-7000297A KR19997000297A KR100384677B1 KR 100384677 B1 KR100384677 B1 KR 100384677B1 KR 19997000297 A KR19997000297 A KR 19997000297A KR 100384677 B1 KR100384677 B1 KR 100384677B1
Authority
KR
South Korea
Prior art keywords
data
peripheral device
peripheral
pair
pattern
Prior art date
Application number
KR10-1999-7000297A
Other languages
English (en)
Other versions
KR20000023811A (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 KR20000023811A publication Critical patent/KR20000023811A/ko
Application granted granted Critical
Publication of KR100384677B1 publication Critical patent/KR100384677B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R2107/00Four or more poles
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R2201/00Connectors or connections adapted for particular applications
    • H01R2201/06Connectors or connections adapted for particular applications for computer periphery
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R24/00Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure
    • H01R24/60Contacts spaced along planar side wall transverse to longitudinal axis of engagement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Pinball Game Machines (AREA)
  • Dc Digital Transmission (AREA)

Abstract

게임 장치와 그 주변 장치와의 새로운 데이타 전송 방식 및 이것을 이용한 장치를 제공한다.
직렬인 송신 데이타를 홀수 비트열과 짝수 비트열의 데이타로 나눈다. 홀수 비트열 데이타의 각 비트를, 일정 간격의 제1 펄스열 신호의 각 펄스 사이에 각각 배치하여 제1 펄스열 신호(SDCKA)를 형성한다. 짝수 비트열 데이타의 각 비트를, 일정 간격의 제2 펄스열 신호의 각 펄스 사이에 각각 배치하여 제2 펄스열 신호(SDCKA)를 형성한다. 제1 펄스열 신호의 클럭 성분이 제2 펄스열 신호의 데이타 부분에 위치하고, 제2 펄스열 신호의 클럭 성분이 제2 펄스열 신호의 데이타 부분에 위치하며, 제2 펄스열 신호의 클럭 성분이 제1 펄스열 신호의 데이타 부분에 위치하도록 상호의 시간축을 조정한다. 조정된 제1 및 제2 펄스열 신호(SDCKA, SDCKB)를 이용해 데이타를 송신한다.

Description

데이타 전송 방법 및 이것을 이용한 게임 시스템{DATA TRANSMISSION METHOD AND GAME SYSTEM CONSTRUCTED BY USING THE METHOD}
정보 처리 장치의 본체와 그 주변 장치 사이에서의 데이타 통신에 이용되는 데이타 전송 방법으로서 다음과 같은 것이 있다.
· 필립스(PHILIPS)사, I2C 버스 방식
직렬 데이타와, 직렬 클럭의 2와이어에 의해 전송하는 방식이다. 이 방식은, 데이타와 클럭을 물리적으로 분리하고 있고, 가장 단순하게 데이타의 송수신, 재생이 가능하다. I2C 버스에 대해서는, 예를 들어 필립스사의 I2C 버스 사양 설명서(1992년 1월)에 의해 설명되어 있다.
· SGS-톰슨(Thomson)사, DS 링크 방식
데이타 신호, 스트로브 신호의 2와이어에 의해 전송하는 방식이다. 이 방식은 데이타 신호, 스트로브 신호에 의해 클럭 신호를 재생한다. 전송 데이타가 다른 값으로 천이할 경우에는, 데이타 신호만이 변화한다. 또한, 전송 데이타가 동일한 값일 경우에는, 스트로브 신호만이 변화한다. 예를 들어, 데이타 신호의 전송 데이타가 「0」 → 「1」, 「1」 → 「0」으로 천이할 경우는 스트로브 신호는 변화하지 않는다. 데이타 신호의 전송 데이타가 「0」 → 「0」, 「1」 → 「1」로 천이하지 않을 경우는 스트로브 신호만이 변화한다. 이 결과, 데이타 신호와 스트로브 신호의 배타적 논리합을 취함으로써, 클럭 신호를 재생하는 것이 가능해진다. DS 링크 방식에 대해서는, 예를 들어 닛케이 일렉트로닉스 제675호(1996년 11월 4일, 167페이지∼171페이지)에 소개 기사가 있다.
게임 장치와 같은 소비자용 기기에서는, 저가로 실현 가능한 데이타 전송 방식이나 인터페이스의 접속 규격이 필요하게 된다.
그러나, 상술한 I2BUS 방식에서는 데이타 신호의 천이 에지가 클럭의 천이 에지와 동일 타이밍이기 때문에, 데이타의 재생(복조)측에서는 이 클럭 신호를 그대로 이용하는 것은 불가능하다. 또한, 후자의 DS 링크 방식에서는 데이타 신호와 스트로브 신호와의 배타적 논리합을 취하여 동기용 클럭을 재생한다. 이 클럭을 이용하여 데이타 신호의 샘플링을 더 행하지 않으면 안된다. 이 때문에, 인터페이스의 회로 구성의 간단함의 정도가, 저가 격화가 크게 요구되는 가정용 게임 장치의 조건을 충분히 만족시키는 것은 아니다.
따라서, 본 발명이 목적으로 하는 것은, 가정용 게임 시스템과 같은 정보 처리 장치에 적용할 수 있는, 염가로 회로 구성 가능한 인터페이스의 데이타 전송 방식을 제공하는 것이다.
또, 본 발명의 다른 목적은, 보다 간단한 회로 구성으로 데이타를 담당하는 신호로부터 데이타를 분리할 수 있는, 인터페이스의 데이타 전송 방식을 제공하는 것이다.
또한, 본 발명의 다른 목적은, 보다 간단한 회로 구성으로 데이타를 담당하는 신호로부터 데이타를 분리할 수 있는, 인터페이스를 구비하는 게임 장치 및 그 주변 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은, 게임 장치와 주변 장치 사이의 새로운 인터페이스 기술을 제안함으로써, 다종(多種) 다양한 주변 장치를 개발하는 기반 기술을 제공하는 것이다.
〈발명의 개시〉
상기 목적을 달성하기 위해 본 발명의 데이타 전송 방법은, 하나의 직렬 데이타를 제1 및 제2 데이타 신호로 분배하여 데이타를 전송하는 데이타 전송 방법에 있어서, 상기 제1 데이타 신호는 일정 간격의 펄스열에 의해 형성되는 제1 클럭 신호의 각 펄스 사이에 상기 직렬 데이타의 홀수 비트의 각각을 각각 배치하여 이루어지고, 상기 제2 데이타 신호는 상기 제1 클럭 신호와 같은 주기의 펄스열에 의해 형성되는 제2 클럭 신호의 각 펄스 사이에 상기 직렬 데이타의 짝수 비트의 각각을 각각 배치하여 이루어지며, 상기 제1 데이타 신호는 그 클럭 신호 성분의 펄스 에지가 시간축상에서 상기 제2 데이타 신호의 데이타 부분에 위치하도록 전송되고, 상기 제2 데이타 신호는 그 클럭 신호 성분의 펄스 에지가 시간축상에서 상기 제1 데이타 신호의 데이타 부분에 위치하도록 전송된다(도 10, 도 11, 도 50, 도 54).
또한, 본 발명의 데이타 전송 방법은, 적어도 데이타의 개시 정보를 담당하는 스타트 패턴, 직렬 데이타를 담당하는 데이타 패턴 및 데이타의 종료 정보를 담당하는 엔드 패턴을 포함하는 전송 포맷으로 정의되는 데이타 프레임을 제1 및 제2 데이타 신호로 분배하여 전송하는 데이타 전송 방법에 있어서, 상기 스타트 패턴은, 상기 제1 데이타 신호를 고정값으로 하고, 상기 제2 데이타 신호를 제1 펄스열 신호로 하여 형성되고, 상기 데이타 패턴은 상기 제1 데이타 신호를, 일정 간격의 제2 펄스열 신호의 각 펄스 사이에, 상기 직렬 데이타의 홀수 비트의 각각을 각각 배치하여 형성함과 동시에, 상기 제2 데이타 신호를, 상기 제2 펄스열 신호의 시간축 상의 위치를 소정값만큼 변이된 제3 펄스열 신호의 각 펄스 사이에, 상기 직렬 데이타의 짝수 비트의 각각을 각각 배치하여 형성하여 이루어지며, 상기 엔드 패턴은 상기 제2 데이타 신호를 고정값으로 하고, 상기 제1 데이타 신호를 제4 펄스열 신호로 하여 형성되는 것을 특징으로 한다(도 11, 도 12, 도 50, 도 54).
이러한 구성에 의해, 적은 데이타선의 수(2개)로 변조·복조의 회로가 비교적 간단하게 구성 가능한 통신 인터페이스를 형성하는 것이 가능해진다.
바람직하게는, 상기 제1 및 제2 데이타 신호 중 어느 한쪽의 데이타 신호의 클럭 신호 성분의 펄스 에지로서, 다른쪽의 데이타 신호의 레벨을 래치함으로써, 중첩된 데이타를 분리한다. 이로써, 간단한 회로 구성으로 중첩된 데이타를 분리할 수 있다(도 10, 도 28, 도 29, 도50).
본 발명의 게임 장치는, 하나 또는 복수의 주변 장치로 신호의 전송로를 통해 2개의 데이타 신호(SDCKA, SDCKB)를 동시에 송신하여 게임에 필요한 정보의 송신 혹은 회신을 요구하는 게임 장치에 있어서, 제1 신호를 제1 기간 중 일정(혹은 고정값) 상태로 하고, 제2 신호를 상기 제1 기간 중 클럭 신호 상태로 하여, 2개의 데이타 신호로 나타내는 스타트 패턴을 형성하는 스타트 패턴 형성 수단(도 13(a), 도 14, 58, 204c)과, 상기 주변 장치로 송신하여야 할 데이타를 2개의 데이타열로 나누고, 제1 데이타열의 각 비트를 제1 클럭 신호의 각 펄스 사이에 각각 삽입하여 제1 데이타 신호를 형성하며, 제2 데이타열의 각 비트를 상기 제1 클럭 신호와 소정의 위상차를 갖는 같은 주기의 제2 클럭 신호의 각 펄스 사이에 각각 삽입하여 제2 데이타 신호를 형성하여, 2개의 데이타 신호로 나타내는 데이타 패턴을 형성하는 데이타 패턴 형성 수단(도 10, 204e), 상기 제2 신호를 제2 기간 중 일정값(혹은 고정값) 상태로 하고, 제1 신호를 상기 제2 기간 중 클럭 신호 상태로 하여, 2개의 데이타 신호로 나타내는 엔드 패턴을 형성하는 엔드 패턴 형성 수단(도 13, 58, 204c), 및 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는 2개의 데이타 신호로 나타내는 프레임을 형성하고, 이것을 송신 단위로 하여 상기 주변 장치로 송출하는 프레임 형성 수단(58, 204c)을 구비한다.
바람직하게는, 상기 데이타는 직렬 데이타이고, 상기 제1 데이타열은 상기 직렬 데이타의 홀수 비트의 데이타열, 상기 제2 데이타열은 상기 직렬 데이타의 짝수 비트의 데이타열이다.
또한, 상기 소정의 위상차는, 상기 데이타 패턴을 나타내는 2개의 데이타 신호 중 한쪽의 데이타 신호에 포함되는 클럭 신호의 펄스 에지가 시간축상에서 다른쪽의 데이타 신호의 데이타 부분에 위치하고, 상기 다른쪽의 데이타 신호에 포함되는 클럭 신호의 펄스 에지가 시간축상에서 상기 한쪽 데이타 신호의 데이타 부분에 위치하도록 정해진다(도 10, 50).
상술한 데이타 전송 방법을 실행하는 상기 게임 장치는, 2개의 데이타 신호의 양쪽 또는 어느 한쪽이 전송 클럭 성분을 포함하기 때문에 데이타의 분리가 용이하다. 변조·복조 회로의 구성이 비교적 간단하게 끝난다.
바람직하게는, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하며, 상기 파라메터는 적어도 상기 프레임을 수신하여야 할 상기 신호의 전송로에 접속된 주변 장치의 어드레스를 포함한다(도 7, 도 48). 게임 장치와 주변 장치와의 데이타 통신의 신호 포맷을 프레임 형식에 의해 규격화하였기 때문에, 게임 장치와 복수 종류의 주변 장치와의 호환성의 확보가 용이하다.
상기 신호의 전송로는, 예를 들면 유선의 데이타 신호선(유선), 무선의 무선 통신 채널(도 95), 광 통신 채널(도 96), 혹은 이들 조합을 선택할 수 있다.
본 발명의 게임 장치는, 하나 또는 복수의 입출력 포트를 갖는 게임 장치에 2개의 데이타 신호를 동시에 송신하여 게임에 필요한 정보를 보내는 게임 장치의 주변 장치에 있어서, 제1 신호를 제1 기간 중의 일정값(혹은 고정값) 상태로 하고, 제2 신호를 상기 제1 기간 중의 클럭 신호 상태로 하여, 2개의 데이타 신호로 나타내는 스타트 패턴을 형성하는 스타트 패턴 형성 수단과, 상기 게임 장치로 송신하여야 할 데이타를 2개의 데이타열로 나누고, 제1 데이타열의 각 비트를 제1 클럭 신호의 각 펄스 사이에 각각 삽입하며, 제2 데이타열의 각 비트를 상기 제1 클럭 신호와 소정의 위상차를 갖는 같은 주기의 제2 클럭 신호의 각 펄스 사이에 각각 삽입하여, 2개의 데이타 신호로 나타내는 데이타 페턴을 형성하는 데이타 페턴 형성 수단과, 상기 제2 신호를 제2 기간 중 일정값(혹은 고정값) 상태로 하고, 상기 제1 신호를 상기 제2 기간 중 클럭 신호 상태로 하여, 2개의 데이타 신호로 나타내는 엔드 패턴을 형성하는 엔드 패턴 형성 수단과, 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는, 2개의 데이타 신호로 나타내는 프레임을 형성하고, 이것을 송신 단위로서 상기 게임 장치로 송출하는 프레임 형성 수단을 구비한다.
바람직하게는, 상기 데이타는 2개의 데이타열로의 분리가 용이한 직렬 데이타이고, 상기 제1 데이타열은 상기 직렬 데이타의 홀수 비트의 데이타열, 상기 제2 데이타열은 상기 직렬 데이타의 짝수 비트의 데이타열이다. 또, 데이타를 모으는 버퍼를 판독함으로써, 직렬 데이타뿐만 아니라, 블럭 데이타도 취급할 수 있다.
바람직하게는, 상기 소정의 위상차는 상기 데이타 패턴을 나타내는 2개의 데이타 신호 중 한쪽의 데이타 신호에 포함되는 클럭 신호의 펄스 에지가 시간축 상에서 다른쪽 데이타 신호의 데이타 부분에 위치하고, 상기 다른쪽 데이타 신호에 포함되는 클럭 신호의 펄스 에지가 시간축상에서 상기 한쪽의 데이타 신호의 데이타 부분에 위치하도록 정해진다(도 10, 도 50). 이로써, 한쪽의 클럭에 의해 다른쪽의 데이타 신호에 중첩되어 있는 데이타를 간단하게 분리할 수 있다.
바람직하게는, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하고, 상기 파라메터는 적어도 상기 프레임을 수신하여야 할 상기 게임 장치의 입출력 포트의 어드레스를 포함한다(도 48, 도 57).
바람직하게는, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하고, 상기 파라메터는 상기 프레임을 송신하는 주변 장치의 상기 전송로상의 어드레스를 나타내는 송신원(送信元) 어드레스를 포함하며, 이 송신원 어드레스는 주변 장치가 미리 보유하고 있는 주변 장치의 종류를 나타내는 주변 장치 식별 정보와, 상기 게임 장치로부터 통지되는 주변 장치가 접속된 입출력 포트의 정보에 기초하여 형성된다(도 58).
본 발명의 주변 장치는, 하나 또는 복수의 입출력 포트를 구비하는 게임 장치 중 어느 하나의 입출력 포트에 접속되는 데이타 전송로를 통해, 상기 게임 장치와 데이타 통신을 행하는 주변 장치에 있어서, 주변 장치의 종류를 나타내는 주변 장치의 식별 정보를 미리 기억하는 제1 기억 수단과, 상기 게임 장치로부터 통지되는, 상기 데이타 전송로가 접속된 입출력 포트를 나타내는 입출력 포트 정보를 기억하는 제2 기억 수단과, 상기 주변 장치 식별 정보와 상기 입출력 포트 정보에 기초하여, 상기 게임 장치에 송신하여야 할 데이타에 부가하는 자신의 송신원 어드레스를 형성하는 송신원 어드레스 형성 수단을 구비한다(도 58).
이러한 구성으로 함으로써, 게임 장치는 수신한 송신 데이타로부터 주변 장치의 데이타 전송로 상의 어드레스와 주변 장치의 타입을 알 수 있다.
본 발명의 주변 장치는, 게임 장치와의 데이타 통신을 상기 게임 장치에 설치된 하나 또는 복수의 입출력 포트 중 어느 하나에 접속되는 데이타 전송로를 통해 행하는 주변 장치에 있어서, 상기 데이타 전송로에 접속되는 하나의 기본 커넥터와, 다른 주변 장치를 상기 데이타 전송로에 접속하기 위해, 상기 기본 커넥터를 통해 상기 데이타 전송로에 접속되는 하나 또는 복수의 확장 커넥터와, 상기 기본 커넥터를 통해 상기 게임 장치와 데이타 통신을 행하는 입출력 컨트롤러를 구비하고, 상기 입출력 컨트롤러는, 자신이 상기 게임 장치에 직접적으로 접속되어야 하는 주변 장치인 것을 나타내는 주변 장치 식별 정보를 미리 기억하는 제1 기억 수단과, 상기 게임 장치로부터 통지되는, 상기 데이타 전송로가 접속된 입출력 포트를 나타내는 입출력 포트 정보를 기억하는 제2 기억 수단과, 각 확장 커넥터에의 상기 다른 주변 장치의 접속의 유무를 판별하여, 다른 주변 장치의 접속 상태를 나타내는 접속 정보를 형성하는 접속 판별 수단과, 상기 주변 장치 식별 정보, 상기 입출력 포트 정보 및 상기 접속 정보를 포함하는, 송신 데이타에 부가하여야 할 송신원 어드레스를 형성하는 송신원 어드레스 형성 수단을 포함한다(도 58).
바람직하게는, 상기 판별 수단은 상기 다른 주변 장치에 의해 바이어스 전압이 공급되도록 이루어진 레벨 시프트 회로가 접속된 상기 확장 커넥터의 특정 단자의 전압 레벨을 변별함으로써 상기 확장 소켓으로의 접속의 유무를 판단한다.
본 발명의 확장 주변 장치는, 상술한 주변 장치의 확장 커넥터에 접속되는 확장 주변 장치이고, 상기 확장 커넥터로의 접속 후, 상기 확장 커넥터를 통해 상기 입출력 컨트롤러로부터 통지되는, 상기 접속된 확장 커넥터의 번호를 나타내는 커넥터 식별 정보를 기억하는 제1 기억 수단과, 자신이 확장 커넥터에 접속되어야 되는 주변 장치인 것을 나타내는 확장 주변 장치 정보를 미리 보유하는 제2 기억 수단과, 상기 게임 장치로부터 상기 데이타 전송로, 상기 기본 커넥터 및 상기 확장 커넥터를 통해 통지되는, 상기 데이타 전송로가 접속된 입출력 포트를 나타내는 입출력 포트 정보를 기억하는 제3 기억 수단과, 상기 확장 주변 장치 정보, 상기 입출력 포트 정보 및 상기 접속 정보를 포함하는, 송신 데이타에 부가하여야 할 송신원 어드레스를 형성하는 송신원 어드레스 형성 수단을 포함한다(도 59).
본 발명의 게임 장치는, 하나 또는 복수의 확장 주변 장치를 각각에 설치한 부(副) 데이타 전송로(LM 버스)를 통해 접속할 수 있는 기본 주변 장치를 주(主) 데이타 전송로(M 버스)를 통해 접속하는 하나 또는 복수의 입출력 포트를 구비하는 게임 장치에 있어서, 상기 주변 장치 중의 어느 하나와 프레임 신호를 이용하여 간헐적인 데이타 통신을 행하는 입출력 컨트롤러를 구비하고, 상기 데이타 통신은 상기 입출력 컨트롤러로부터의 명령에 해당하는 주변 장치가 응답하는 형식으로 행해지며, 상기 프레임 신호는 데이타 패턴의 개시를 나타내는 스타트 패턴, 통신 데이타를 담당하는 데이타 패턴, 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하며, 상기 파라메터는 송신처 어드레스 및 송신원 어드레스를 포함하며, 상기 송신처 어드레스 및 상기 송신원 어드레스의 각각은, 통신에 사용되는 상기 주데이타 전송로, 통신 대상 주변 장치의 기본/확장의 구별, 및 통신에 사용되는 상기 부데이타 전송로의 정보를 포함하여 형성된다(도 58, 도 59).
바람직하게는, 상기 주데이타 전송로에 상기 부데이타 전송로의 각각이 병렬로 접속되어, 게임 장치와 각 확장 주변 장치와의 사이에서 직접 데이타 통신을 행한다.
바람직하게는, 상기 기본 주변 장치 및 상기 확장 주변 장치의 각각은 주변 장치의 종류나 장치 고유의 정보를 포함하는 고유 정보를 보유하고, 상기 게임 장치는 상기 고유 정보를 상기 데이타 통신에 의해 판독한다. 게임 장치는 고유 정보를 참조하여 게임 어플리케이션과 주변 장치와의 적합성을 판별한다.
이로써, 소위 플러그 플레이나 어플리케이션과 적합하지 않은 주변 장치의 사용 회피를 가능하게 한다.
바람직하게는, 상기 주데이타 전송로는 2개의 데이타선에 의해 구성되고, 상기 프레임 신호를 분할한 2개의 데이타 신호가, 각각 상기 2개의 데이타선을 전송한다. 이로써, 게임 장치에 본 발명의 데이타 전송 방법을 적용할 수 있다.
본 발명의 게임 장치의 기본 주변 장치는, 하나 또는 복수의 확장 주변 장치를 각각 설치한 부데이타 전송로를 통해 접속할 수 있음과 동시에, 하나 또는 복수의 입출력 포트를 구비하는 게임 장치에 주데이타 전송로를 통해 접속되는 게임 장치의 기본 주변 장치에 있어서, 상기 게임 장치와 프레임 신호를 이용하여 간헐적인 데이타 통신을 행하는 입출력 컨트롤러를 구비하고, 상기 데이타 통신은 상기 게임 장치로부터의 명령에 상기 입출력 컨트롤러가 응답하는 형식으로 행해지며, 상기 프레임 신호는 데이타 패턴의 개시를 나타내는 스타트 패턴, 통신 데이타를 담당하는 데이타 패턴, 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하며, 상기 파라메터는 송신처 어드레스 및 송신원 어드레스를 포함하고, 상기 송신처 어드레스 및 상기 송신원 어드레스의 각각은, 통신에 사용되는 상기 주데이타 전송로, 통신 대상인 주변 장치의 종류의 구별 및 통신에 사용되는 상기 부데이타 전송로의 정보를 포함하여 형성된다(도 58, 도 59).
본 발명의 게임 장치의 기본 주변 장치는, 상기 주데이타 전송로에 접속하는 커넥터와, 상기 커넥터를 통해 상기 주데이타 전송로와 상기 부데이타 전송로의 각각을 병렬로 접속하는 복수의 확장 커넥터를 구비한다.
바람직하게는, 기본 주변 장치는 주변 장치의 종류나 장치 고유의 정보를 포함하는 고유 정보를 기억하는 기억 수단을 갖고, 상기 게임 장치로부터의 요구에 응답하여, 상기 고유 정보를 상기 데이타 통신에 의해 송신한다.
바람직하게는, 상기 기본 주변 장치는, 상기 주데이타 전송로는 2개의 데이타선으로 구성되고, 상기 프레임 신호를 분할한 2개의 데이타 신호가, 각각 상기 2개의 데이타선을 전송하는 구성으로 하여 본 발명의 데이타 전송 방법을 사용한다.
상술한 구성의 주변 장치는, 복수의 입출력 포트를 구비한 게임 장치에 접속되어, 게임 장치와 데이타 통신을 행하는 것으로, 게임 장치로부터 통지되는 입출력 포트의 정보와 자신이 보유하는 주변 장치의 종류를 나타내는 정보에 의해 데이타 전송로 상에서의 송신원 어드레스를 형성한다.
본 발명의 확장 주변 장치는, 부데이타 전송로, 다른 주변 장치를 접속 가능한 기본 주변 장치, 및 주데이타 전송로를 통해 게임 장치에 접속되는 게임 장치의 확장 주변 장치에 있어서, 상기 게임 장치와 프레임 신호를 이용하여 간헐적인 데이타 통신을 행하는 입출력 컨트롤러를 구비하고, 상기 데이타 통신은 상기 게임 장치로부터의 명령에 상기 입출력 컨트롤러가 응답하는 형식으로 행해지며, 상기프레임 신호는 데이타 패턴의 개시를 나타내는 스타트 패턴, 통신 데이타를 담당하는 데이타 패턴, 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하며, 상기 데이타 패턴은 커맨드 및 파라메터를 포함하고, 상기 파라메터는 송신처 어드레스 및 송신원 어드레스를 포함하고, 상기 송신처 어드레스 및 상기 송신원 어드레스의 각각은, 통신에 사용되는 상기 주데이타 전송로, 통신 대상 주변 장치의 기본/확장의 구별, 및 통신에 사용되는 상기 부데이타 전송로의 정보를 포함하여 형성된다(도 59).
바람직하게는, 상기 주데이타 전송로는 2개 데이타선으로 구성되고, 상기 부데이타 전송로는 상행 방향의 2개의 데이타선과, 하행 방향의 2개의 데이타선에 의해 구성되며, 상기 프레임 신호를 분할한 2개의 데이타 신호가 각각 상기 2개의 데이타선을 전송한다.
상술한 구성의 확장 주변 장치는, 복수의 입출력 포트를 구비하는 게임 장치와의 데이타 통신을, 입출력 포트 중 어느 한쪽에 병렬 접속되는 복수의 확장 커넥터를 갖는 주변 장치(기본 주변 장치)를 통해 행한다. 그리고, 데이타 통신에서 사용하는 송신원 어드레스를, 게임 장치로부터 통지되는 입출력 포트의 정보 및 주변 장치로부터 통지되는 사용 확장 커넥터의 정보를 이용하여 형성한다. 송신원 어드레스는 단순한 어드레스가 아니라, 일정한 정보를 포함한다. 이러한 주변 장치의 기능은 플러그 & 플레이 등에 적합하다.
본 발명의 정보 기록 매체는 컴퓨터 시스템을 상술한 게임 장치(호스트) 혹은 주변 장치로서 동작시키는 프로그램을 기억하고 있다.
본 발명은 데이타 처리를 행하는 데이타 처리 장치와 정보의 입출력 등을 행하는 주변 장치와의 상호 간을 접속하는 인터페이스 기술에 관한 것으로, 특히 게임 장치와 그 주변 장치와의 접속에 관한 신규 인터페이스의 기술 규격의 제안에 관한 것이다.
도 1은 호스트(게임 장치 : 1)와 주변 장치(2) 및 확장 주변 장치(3)의 예를 설명하는 설명도.
도 2는 호스트의 제어계를 설명하는 블럭도.
도 3은 호스트와 디바이스의 접속 관계를 설명하는 블럭도.
도 4는 호스트, 상위 디바이스 및 하위 디바이스의 관계를 설명하는 블럭도.
도 5는 절대 위치의 할당을 설명하는 블럭도.
도 6은 호스트에서 본 디바이스가 위치 투과성을 갖는 것을 설명하는 블럭도.
도 7은 전송 데이타의 1프레임의 구성을 설명하는 설명도.
도 8은 소프트웨어의 측면에서 인터 페이스의 구성을 설명하는 블럭도.
도 9는 호스트와 디바이스 사이의 통신 프로토콜의 계층을 설명하는 블럭도.
도 10은 데이타의 전송 방식을 설명하는 설명도.
도 11은 전송 프레임의 표준 포맷을 설명하는 설명도.
도 12는 전송 프레임의 CRC 옵션 부가 포맷을 설명하는 설명도.
도 13은 동기 패턴의, 스타트 패턴(a)과, 엔드 패턴(b)을 설명하는 설명도.
도 14는 CRC 옵션 스타트 패턴을 설명하는 설명도.
도 15는 SDCKB 점유 허가 패턴을 설명하는 설명도.
도 16은 리셋 패턴을 설명하는 설명도.
도 17은 호스트와 디바이스 펑션 사이의 교신의 형태를 설명하는 설명도.
도 18의 (a)는 호스트로부터의 커맨드에 대해 각 디바이스 펑션이 응답하는 형식으로 데이타 통신이 간헐적으로 행해지는 M 버스 상의 모습을 설명하는 설명도.
도 18의 (b)는 송신해야 할 데이타가 길 때, 복수의 송신 프레임을 사용하여 데이타를 간헐적으로 송신하는 예를 설명하는 설명도.
도 19는 디바이스에 있어서의 동작을 개략적으로 설명하는 설명도.
도 20은 절대 위치(AP) 설정의 순서를 설명하는 설명도.
도 21은 호스트용 MIE를 설명하는 블럭 회로도.
도 22는 프레임 인코더의 동작 원리를 설명하는 블럭 회로도.
도 23은 프레임 인코더의 동작을 설명하는 타이밍도.
도 24는 교호 시프트 레지스터의 동작 원리를 설명하는 블럭 회로도.
도 25는 교호 시프트 레지스터(병렬·직렬 변환)의 동작을 설명하는 타이밍도.
도 26은 프레임 디코더의 동작 원리를 설명하는 블럭 회로도.
도 27은 프레임 디코더의 동작을 설명하는 타이밍도.
도 28은 교호 시프트 레지스터(직렬·병렬 변환)의 동작 원리를 설명하는 블럭 회로도.
도 29는 교호 시프트 레지스터의 동작을 설명하는 타이밍도.
도 30은 표준 컨트롤러의 전체의 구성을 개략적으로 나타내는 블럭도.
도 31은 표준 컨트롤러의 MIE를 설명하는 블럭도.
도 32는 데이타의 투과(위치 투과)인 버스 전환부를 설명하는 블럭도.
도 33은 U-디바이스의 MIE를 설명하는 블럭 회로도.
도 34는 L-디바이스의 MIE를 설명하는 블럭 회로도.
도 35는 MIE에서의 송신 패턴의 판별을 설명하는 플로우차트.
도 36은 표준 포맷의 프레임 신호의 형성을 설명하는 플로우차트.
도 37은 CRC 옵션 부가 포맷의 프레임 신호의 형성을 설명하는 플로우차트.
도 38은 SDCKB 점유 패턴에 의한 동작을 설명하는 플로우차트.
도 39는 리셋 패턴의 송출을 설명하는 플로우차트.
도 40은 MIE에서의 수신 동작을 설명하는 플로우차트.
도 41은 스타트 패턴을 검출한 경우의 처리를 설명하는 플로우차트.
도 42는 CRC 부가 스타트 패턴을 검출한 경우의 처리를 설명하는 플로우차트.
도 43은 호스트가 디바이스에 보유되는 고유 정보를 판독하는 예를 설명하는 플로우차트.
도 44는 호스트와, 기본 디바이스, 확장 디바이스의 접속의 복수의 형태에 대해 설명하는 설명도.
도 45는 호스트와 기능(기본 디바이스, 확장 디바이스)과의 관계를 개념적으로 설명하는 설명도.
도 46은 호스트와 기본 및 확장 디바이스 사이의 데이타 통신을 계층화 모델로 설명하는 설명도.
도 47은 기본 디바이스와 각 확장 디바이스와의 접속 관계를 설명하는 설명도.
도 48은 프레임 데이타의 구성을 설명하는 설명도.
도 49는 타임아웃을 설명하는 설명도.
도 50은 SDCKA 신호 및 SDCKB 신호에 의한 데이타 전송을 설명하는 설명도.
도 51은 스타트 패턴 및 엔드 패턴을 설명하는 설명도.
도 52는 SDCKB 점유 허가 패턴을 설명하는 설명도.
도 53은 리셋 패턴을 설명하는 설명도.
도 54는 프레임의 포맷을 설명하는 설명도.
도 55는 호스트와 주변 장치(기본 디바이스, 확장 디바이스) 사이의 데이타 전송의 개략을 설명하는 설명도.
도 56의 (a)는 호스트로부터 디바이스에 보내진 커맨드에 대해 각 디바이스가 응답하는 형식으로 데이타 통신이 간헐적으로 행해지는 것을 설명하는 설명도.
도 56의 (b)는 송신해야 할 데이타가 1송신 프레임으로 보내지는 양보다도 클 경우에, 상기 데이타를 복수의 데이타로 분할하고, 복수의 송신 프레임으로 간헐적으로 송신하는 예를 설명하는 설명도.
도 57은 호스트, 각 기본 디바이스, 각 확장 디바이스의 전(全) AP값을 설명하는 설명도.
도 58은 기본 디바이스의 AP 설정(절대 어드레스)의 순서를 설명하는 설명도.
도 59는 확장 디바이스의 AP 설정(절대 어드레스) 순서를 설명하는 설명도.
도 60은 호스트, 기본 디바이스, 확장 디바이스 사이의 프레임 데이타 전송을 설명하는 설명도.
도 61은 호스트와 기본 디바이스(혹은 확장 디바이스)와의 통상의 교신 순서를 설명하는 설명도.
도 62는 호스트와 기본 디바이스 사이의 SDCKB 점유 순서를 설명하는 설명도.
도 63은 호스트의 MIE를 설명하는 블럭도.
도 64는 기본 디바이스의 구성을 설명하는 블럭도.
도 65는 기본 디바이스의 MIE의 구성을 설명하는 블럭도.
도 66은 기본 디바이스와 확장 디바이스의 접속을 설명하는 블럭도.
도 67은 기본 디바이스가 호스트로부터 데이타를 수신할 경우의 순서를 설명하는 설명도.
도 68은 기본 디바이스가 호스트로부터 송수신 버퍼 이상의 데이타를 수신할 경우의 순서를 설명하는 설명도.
도 69는 기본 디바이스로부터 호스트로 데이타를 송신할 경우의 순서를 설명하는 설명도.
도 70은 기본 디바이스로부터 호스트에 MIE의 송수신 버퍼의 용량 이상의 데이타를 송신할 경우의 순서를 설명하는 설명도.
도 71은 커맨드 "Device Request"를 설명하는 설명도.
도 72는 커맨드 "All Status Request"를 설명하는 설명도.
도 73은 커맨드 "Device Reset" 을 설명하는 설명도.
도 74는 커맨드 "Device Kill"을 설명하는 설명도.
도 75는 커맨드 "Date Transfer"를 설명하는 설명도.
도 76은 커맨드 "Get Condition" 을 설명하는 설명도.
도 77은 커맨드 "Get Media Info"를 설명하는 설명도.
도 78은 커맨드 "Block Read"를 설명하는 설명도.
도 79는 커맨드 "Block Write"를 설명하는 설명도.
도 80은 커맨드 "Get Last Error"를 설명하는 설명도.
도 81은 상대 어드레스의 기본 디바이스(게임 컨트롤러)의 예를 나타낸 블럭도.
도 82는 절대 어드레스의 기본 디바이스(게임 컨트롤러)의 예를 나타낸 블럭도.
도 83은 상대 어드레스의 확장 디바이스(LCD 카트리지)의 예를 나타낸 블럭도.
도 84는 절대 어드레스의 확장 디바이스(LCD 카트리지)의 예를 나타낸 블럭도.
도 85는 상대 어드레스의 확장 디바이스(메모리 카트리지)의 예를 나타낸 블럭도.
도 86은 절대 어드레스의 확장 디바이스(메모리 카트리지)의 예를 나타낸 블럭도.
도 87은 상대 어드레스의 확장 디바이스(진동 카트리지)의 예를 나타낸 블럭도.
도 88은 절대 어드레스의 확장 디바이스(진동 카트리지)의 예를 나타낸 블럭도.
도 89는 상대 어드레스의 확장 디바이스(라이트건 카트리지)의 예를 나타낸 블럭도.
도 90은 절대 어드레스의 확장 디바이스(라이트건 카트리지)의 예를 나타낸 블럭도.
도 91은 상대 어드레스의 확장 디바이스(음성 입력 카트리지)의 예를 나타낸 블럭도.
도 92는 절대 어드레스의 확장 디바이스(음성 입력 카트리지)의 예를 나타낸 블럭도.
도 93은 상대 어드레스의 확장 디바이스(음성 출력 카트리지)의 예를 나타낸 블럭도.
도 94는 절대 어드레스의 확장 디바이스(음성 출력 카트리지)의 예를 나타낸 블럭도.
도 95는 M 버스를 무선(무선 통신)으로 구성하는 예를 설명하는 설명도.
도 96은 M 버스를 무선(광 통신)으로 구성하는 다른 예를 설명하는 설명도.
도 97의 (a)는 게임 컨트롤러의 M 버스 커넥터를 설명하는 설명도.
도 97의 (b)는 게임 컨트롤러의 LM 버스 커넥터를 설명하는 설명도.
도 98은 다른 게임 컨트롤러의 예를 설명하는 설명도.
도 99는 M 버스 커넥터의 소켓 예를 설명하는 정면도.
도 100의 (a)는 M 버스 커넥터의 플러그를 설명하는 측면도.
도100의 (b)는 상기 플러그의 상면도.
도 100의 (c)는 상기 플러그의 정면도.
도 101은 M 버스 케이블의 주변 장치(기본 디바이스) 측에 설치되는 커넥터의 설명도.
도 102의 (a)는 LM 버스 커넥터의 소켓의 상면도.
도 102의 (b)는 상기 플러그의 정면도.
도 103의 (a)는 LM 버스 커넥터의 플러그의 상면도.
도 103의 (b)는 상기 플러그의 정면도.
(구성의 개요)
우선, 시스템 구성의 개략을 도 1 및 도 2를 참조하여 설명한다. 도 1은 컴퓨터 시스템으로서의 게임 장치를 설명하는 설명도이다. 도 2는 상기 게임 장치의 제어계를 설명하는 블럭도이다.
게임 장치(호스트 : 1)는 게임 프로그램 등을 실행하는 CPU(1a)와, 게임 장치로서의 제어 프로그램, 데이타, OS 등을 기억하는 ROM(1b), 게임 어플리케이션 프로그램이나 데이타를 기억하는 CD-ROM 장치(1c), CPU(1a)와 각부 사이의 데이타 전송을 제어하는 버스 컨트롤러(1d), CPU(1a)의 프로그램이나 데이타를 보유하고, 데이타 처리에 사용되는 RAM(1e), 묘화 데이타로부터 화상 신호를 형성하는 묘화 프로세서(1f), 음성 데이타로부터 음성 신호를 형성하는 음향 프로세서(1g), CPU(1a) 및 외부의 주변 장치 상호 간의 데이타 전송을 중계하는 패리페럴 인터페이스(1h) 등으로 구성된다. RAM(1e)의 일부의 영역은 주변 데이타 처리를 위한 워크 RAM으로서 사용되며, 소위 DMA 동작이 가능하게 이루어져 있다. 화상 신호 및 음성 신호는 모니터(4), 예를 들면 텔레비젼으로 공급되어, 영상과 음성이 출력된다. 주변 장치는 기본 주변 장치(2)와 확장 주변 장치(3)로 이루어진다. 기본 주변 장치(2)는 커넥터(1i)를 통해 패리페럴 컨트롤러(1h)와 접속되고, 확장 주변 장치(3)는 기본 주변 장치(2)에 접속된다. 기본 주변 장치(2) 및 확장 주변 장치(3)는, 호스트에 대해 전기적(혹은 논리 구조적)으로는 병렬로 접속된다. 기본 주변 장치(2)는, 예를 들면 게임 컨트롤러이고, 확장 주변 장치(3)는, 예를 들면 음성 입력 장치, 음성 출력 장치, 라이트건(광선총) 모듈, 진동 장치, 메모리 장치 등이다.
단, 다음에 진술하는 제1 실시 형태(제1 인터페이스 규격)에서는, 주변 장치는 그 부과된 기능적 관점에서 검토되어, U 디바이스 펑션 및 L 디바이스 펑션으로 분류되어 있다. 이 분류는, 하나의 주변 장치에 하나의 기능이 형성되는 경우뿐만 아니라, 하나의 주변 장치 내에 복수의 기능이 형성되는 경우나, 하나의 기능이 복수의 주변 장치에 의해 실현될 경우가 있는 것을 고려한 것이다.
한편, 후술하는 제2 실시 형태(제2 인터페이스 규격)에 있어서는, 주변 장치는 장치 상호 간의 접속 관계에서 기본 주변 장치 및 확장 주변 장치로 분류되어 있다.
본 발명의 실시 형태는, 대별하여 제1 실시 형태와, 제2 실시 형태로 나누어진다.
(제1 실시 형태)
우선, 본원의 제1 인터페이스 규격으로 사용하는 용어의 의미에 대해 도면을 참조하여 설명한다.
우선, 데이타를 시계열 상으로 전개한 데이타를 「직렬 데이타」라 칭한다. 직렬 데이타로 데이타의 교환을 행하는 신호선을 「직렬 버스」라 칭한다. 본원의 인터페이스 규격을 채용하는, 게임 장치와 주변 장치를 접속하는 직렬 버스를 M 버스(M-Bus)라 칭한다.
주변 장치의 각 디바이스 펑션에 처음부터 할당되어 있는, 등록제의 인식 번호를 「디바이스 ID」라 칭한다. 디바이스 ID는 복수 종류, 예를 들면 256 종류를 준비할 수 있다. 하나의 포트에 동일한 디바이스 번호가 복수개 있어도 좋다.
게임 장치의 패리페럴 컨트롤러와 주변 장치와 M 버스로 접속하는 개소를 「포트」라 칭한다. M 버스에서는 복수의 포트를 능동적으로 접속하는 것이 가능하다. 예를 들면, 16포트를 서포트 가능하지만, 실시예에서는 4개의 포트(포트 A, 포트 B, 포트 C, 포트 D)를 서포트하는 예로 설명하고 있다.
도 3에 도시한 바와 같이, 게임 장치측을 「호스트」, 이것에 접속하는 주변 장치의 기능의 하나를 「디바이스 펑션」이라 칭한다. 디바이스 펑션은, 장치(제품) 그 자체가 아니라, 장치의 기능을 지시하기 때문에, 하나의 장치에 의해 하나의 기능이 실현되는 경우 외에, 하나의 장치의 기능을 복수로 분할하여, 각각을 디바이스 펑션으로 하는 것이 가능하다. M 버스에서는, 호스트는 1대이고, 그것에 디바이스 펑션이 트리형으로 접속된다. 그리고, 각 디바이스 펑션은 동일 M 버스 상에 존재하는 것처럼 보인다. 하나의 포트에는 복수의 디바이스 펑션, 예를 들면 14개의 디바이스 펑션이 접속 가능하다. 디바이스 펑션은, 예를 들면 게임 장치의 주변 장치를 게임 컨트롤러, 게임 패드, 조이스틱, 키보드, 모의 조종 장치, 모의총, 기억 장치, 음성 장치 등으로서 기능시킨다.
도 4에 도시한 바와 같이, 각 디바이스 펑션은 「상위(U) 디바이스 펑션」과 「하위(L) 디바이스 펑션」의 2종류로 분류된다. U-디바이스 펑션은 호스트와 접속할 수 있다. 또한, U-디바이스 펑션은 L-디바이스 펑션을 컨트롤하는 능력을 갖는다. L- 디바이스 펑션은 U-디바이스 펑션에 접속하고 있는, 혹은 접속하는 것을 전제로 하는 디바이스 펑션이다. U - 디바이스 펑션으로부터 L-디바이스 펑션으로 연결되는 M 버스를 「LM 버스」라 칭한다.
하나의 포트에 반드시 하나의 U-디바이스 펑션이 없으면, 그 포트는 사용할 수 없다. 그리고, 주로 게임 장치의 게임 컨트롤러를 U-디바이스 펑션, 확장(주변 접속) 장치를 L-디바이스 펑션으로 한다. 예를 들면, M 버스에는 최대 14개의 L-디바이스 펑션을 접속할 수 있다.
또한, U-디바이스 펑션에 U-디바이스 펑션을 접속하는 것이 가능하다. 이 경우, 접속한 U-디바이스 펑션은 L-디바이스 펑션이 된다. U-디바이스 펑션과 L-디바이스 펑션은 물리적으로 분리할 필요는 없고, U-디바이스 펑션 중에 논리적으로 분리한 별도의 디바이스 펑션을 L-디바이스 펑션으로 하는 것이 가능하다.
예를 들면, 주변 장치의 디바이스 펑션을 제어하는 IC(예를 들면, 마이크로 컴퓨터) 중에 기능별로, 디지탈 제어부를 U-디바이스 펑션, 아날로그 제어부를 L-디바이스 펑션으로 할 수 있고, L-디바이스 펑션 즉 아날로그 제어부를 사용하지 않을 때에는 그 부분을 사용 불가로 하는 것도 가능하다.
도 5에 도시한 바와 같이, 호스트의 각 포트에 있어서 복수의 디바이스 펑션 중 어디에도, 호스트가 직접적으로 액세스할 수 있도록 개개의 디바이스 펑션에 포트 A로부터 순서대로 번호가 할당된다. 이 디바이스 펑션마다 할당되는 액세스를 위한 식별 번호(혹은 부호)를 「절대 위치(AP)」라 칭한다.
M 버스에서는 호스트의 하나의 포트에 복수의 디바이스 펑션이 할당된다. M 버스의 포트수와 AP의 수의 관계는, 다음 식으로 나타난다.
(최대 포트수) × (1포트에 할당되는 최대 AP수) = 일정값
실시예의 M 버스에서는 「일정값」을 1바이트로 표현하게 한다. 이 경우, (4포트(최대 16 포트)) × (최대 포트 16개의 AP) =1바이트로 된다.
16개의 AP 중, 포트에 AP가 하나 예약되기 때문에, 1포트에 할당되는 AP는 최대 15개가 된다. 이로써, 1포트에 최대 15 디바이스 펑션까지 사용 가능해진다. 또한, 1포트에 U-디바이스 펑션이 하나 접속되기 때문에, L-디바이스 펑션은 최대 14 디바이스 펑션으로 된다.
디바이스 펑션에 할당되는 AP는 포트마다 사용 가능한 숫자의 범위가 정해진다. 예를 들면, AP의 구성은 다음과 같이 된다.
비트 7 6 5 4 3 2 1 0
A P p p p p * * * *
여기서, 'pppp'는 포트 번호(포트 A='0000', 포트 B='0001', 포트 C= '0010', 포트 D= '0011')에 상당하고, '****'는 일련 번호('0000'(10진수의 '0')∼'1111'(10진수의 '15'))이다. 따라서, 하나의 포트로 최대 15디바이스 펑션의 AP가 정해진다.
2진수 표시로 하면, 디바이스 펑션의 AP값은, 포트 A에서는 '00000001'∼'00001111'의 범위, 포트 B에서는 '00010001'∼'00011111'의 범위, 포트 C에서는 '00100001'∼'00101111'의 범위, 포트 D에서는 ' 00110001'∼'00111111'의 범위이다.
이들을, 10진수 표시로 하면, 각각 1∼15, 17∼31, 33∼47, 49∼63으로 나타내진다. 또한, 16진수 표시로 하면, 각각 #01∼#0F, #11∼1F, #21∼2F, #31∼#3F로 나타내진다.
디바이스 펑션으로부터 본 호스트의 각 포트의 AP는 항상 그 포트로 사용할 수 있는 AP의 최소값이고, 포트 A에서는 #00(0), 포트 B에서는 #10(16), 포트 C에서는 #20(32), 포트 D에서는 #30(48)으로 된다. 디바이스 펑션 및 호스트는 AP의 상위 4비트로부터 그 접속되어 있는 포트를 판별할 수 있다. 디바이스 펑션으로의 액세스는, 이 AP에서 액세스하는 디바이스 펑션을 지정한다.
각 디바이스 펑션마다 할당되어 있는 AP를 지정함으로써 하나의 디바이스 펑션이 지정되기 때문에, 호스트는 주변 장치의 각 디바이스 펑션에 직접 액세스할 수 있다. 이 때문에, 도 6에 도시한 바와 같이, 호스트에서 보면, 호스트와 각 디바이스 펑션과는 아무것도 경유하지 않고 접속되어 있는 것처럼 보인다. 달리 말하면, 각 디바이스가 동일 버스 상에 접속되어 있는 것처럼 보인다.
호스트와 디바이스 펑션의 데이타의 교환은, 종래와 같은 일방 통행적인 것이 아니라, 그 장소 그 시간에 알맞는 데이타의 송신 수신을 할 수 있도록, 어떤 정해진 명령을 이용하여 데이타의 교환을 행한다. 이 명령을 「커맨드」라 칭한다. 커맨드의 데이타를 「파라메터」라 칭한다.
1회의 송신 데이타는, 도 7에 도시한 바와 같이, 커맨드 + 파라메터의 1프레임(예를 들면, 256바이트)으로 구성된다. 파라메터에는 AP 데이타, 데이타의 사이즈, 데이타가 포함되지만, 데이타를 포함하지 않는 경우도 있다.
원칙적으로, 호스트가 커맨드를 발행하여 디바이스 펑션에 액세스한다. 디바이스 펑션은 그것에 대응하는 데이타를 준비한 후, 호스트에 커맨드를 발행하여 데이타를 보낸다. M 버스에서는, 예를 들면 최대 254개의 커맨드를 준비 가능하고, 최대 253바이트의 데이타의 전송이 가능하다.
주변 장치, 예를 들면 게임 조작 입력 장치로서의 게임 컨트롤러의 기능을 확장하기 위한 확장 장치를 접속하는 장소를 「확장 소켓」이라 칭한다. 확장 소켓에는 원칙적으로 L-디바이스를 접속한다. 표준 게임 컨트롤러에서는, 예를 들면 2개의 확장 소켓을 갖는다. M 버스에서는, 확장 소켓의 수는 L-디바이스 펑션의 갯수와 동일한 수, 예를 들면 실시예에서는 14개까지 갖는 것이 가능하다.
어떤 데이타를 M 버스용의 직렬 데이타로 변환하고, M 버스 상에서 송수신할 수 있도록 하는 회로를「M 버스 I/F 엔진(MIE)」이라 칭한다. M 버스 규격의 기기는 전부 이 MIE를 갖는다. 호스트에는 호스트용 MIE, U-디바이스 펑션에는 U-디바이스 펑션용 MIE, L-디바이스 펑션에는 L-디바이스 펑션용 MIE를 내장한다.
도 8에 도시한 바와 같이, 호스트가 디바이스 펑션에 액세스하기 위해서는, 반드시 디바이스 펑션을 통괄하는 소프트「M 버스 드라이버」를 통하지 않으면 안된다. 디바이스 펑션은 M 버스 드라이버에 의해 제어·관리된다. M 버스 드라이버는 디바이스 ID(기능 식별 번호), AP(절대 위치), 포트 등의 관리, 커맨드의 수신·발신, 데이타 형식의 제어, 관리 등을 행한다. M 버스 드라이버를 개량(개판), 추가해 감으로써, 커맨드를 증가시키는 것이 가능하다.
M 버스에 있어서, 모든 주변 장치는 소정 포맷에 의한 장치에 특유의 정보(고유 정보)를 기록하지 않으면 안된다. 이 디바이스 펑션 정보를 「디바이스 스테이터스」라 칭한다.
디바이스 스테이터스는 관리 데이타로서, 제품명, 디바이스 ID, 라이센스, 모델 번호, 상품 등을 보낼 곳, LM-버스 수 등을, 전기적 데이타(하드웨어 정보)로 하여, 스탠바이 소비 전류, 최대 소비 전류 등을 기록한다. 디바이스 스테이터스는 M 버스 드라이버 및 어플리케이션·프로그램 인터페이스(API)에서 관리 활용되며, 예를 들면 주변 장치의 제품명이나 접속 허용의 판별, 최대 소비 전류에 기초하는 포트 전체의 전류 제어 등을 가능하게 한다.
도 9는 본 인터페이스 규격이 제안하는 범위를 개략적으로 나타내고 있다. 호스트 상에서 실행되고 있는 어플리케이션 소프트는 주변 장치의 디바이스 펑션과의 데이타 통신을 API라는 소프트웨어를 통해, 혹은 직접적으로 M 버스 드라이버에 인스트럭션을 부여하여 행한다. M 버스 드라이버에 의해 인스트럭션에 대응하여 형성되는 커맨드는 호스트의 MIE, 케이블, 주변 장치의 MIE, MIE 컨트롤러를 통해, 주변 장치의 디바이스 펑션의 중핵이 되는 컨트롤 소프트로 전달된다. 상기 컨트롤 소프트는 상기 커맨드에 대한 응답을, MIE 컨트롤러, 주변 장치의 MIE, 케이블, 호스트의 MIE, M버스 드라이버를 통해 호스트 상에서 실행되고 있는 어플리케이션 소프트로 돌려 보낸다. 주변 장치에는 복수의 디바이스 펑션을 설치하는 것이 가능하지만, 이 경우에는 각 디바이스 펑션은 MIE를 공용하는 것이 가능하다. 여기서, MIE, 접속 케이블 등은 물리적 계층에, M 버스 드라이버, MIE 컨트롤러는 논리적 계층에 상당한다.
다음에, M 버스 상의 데이타의 전송에 대해 설명한다.
M 버스에 있어서는, 데이타 전송은 동기 직렬 방식으로 행해진다. 접속 케이블은 전력선쌍(Vcc, GND), 데이타선쌍(SDCKA, SDCKB : 양방향)의 합계 4선을 사용한다. 필요에 따라, 노이즈 방지를 위해 접속 케이블을 차폐하는 차폐선이 추가된다. 데이타의 송수신은 양방향 통신의 반이중으로 하고, 적당한 데이타 전송 속도, 예를 들면 2Mbps로 설정된다.
도 10을 참조하여, 전송 원리에 대해 설명한다. 데이타는 데이타선을 전파하는 직렬 데이타 클럭(SDCK) A 및 직렬 데이타 클럭(SDCK) B에 의해 전송된다. 직렬 데이타 클럭 A 및 B는 데이타 전송시에는 클럭 성분을 포함하고, 상기 도면에 도시한 바와 같이, 교대로 네가티브 에지(하강 에지)로 된다. 즉, 도 11의 데이타 패턴부에 도시한 바와 같이, 전송 클럭의 펄스열의 각 펄스 사이에 데이타의 비트가 삽입되고, 직렬 데이타 클럭 A 및 B 상호 간에는 시간축 상에 있어서 적당한 양(한쪽 신호의 펄스 에지가 다른쪽 신호의 데이타 부분에 위치하는 시간)만큼 시프트되어 있다. 수신측에서는 한쪽 신호의, 파형의 네가티브 에지의 타이밍에서 다른쪽 신호의 데이타 부분을 래치하여, 이것을 판독 데이타(재생 데이타)로 한다. 데이타는, 예를 들면 최상위 자릿수(MSB) 측으로부터 전송된다. 이러한 데이타 전송을 행하는 회로는 비교적 간단하게 구성할 수 있다. 또, 데이타 래치의 타이밍은 포지티브 에지(상승 에지)를 사용하여도 좋다.
이 방식에 따르면, I2BUS나 DS-링크 방식에 비하여 데이타 전송로의 전송 주파수를 낮추는 것이 가능해진다. 예를 들면, I2BUS나 DS-링크 방식에서는, 10M 비트/초의 데이타 전송 속도를 보내기 위해서는, 데이타 전송 매체를 10㎒로 동작시킬 필요가 있다. 이것에 대해, 본 방식에서는 10M비트의 데이타를 2개의 데이타선으로 5M비트씩 분담하여 전송하기 때문에, 이론적으로는 데이타선의 5㎒의 데이타 전송 클럭으로 10M비트/초의 데이타 전송 속도를 얻는 것이 가능해진다. 또한, 클럭 펄스 사이에 데이타를 삽입함으로써 펄스폭이 길어지기 때문에, 당해 부분에서는 전송 주파수가 등가적으로 저하한다. 보다 낮은 전송 속도로 해결하는 것은 회로 설계를 쉽게 한다.
도 11 및 도 12는 신호의 전송 포맷의 예를 나타내고 있다. 전송 포맷은 스타트 패턴, 데이타 패턴, 엔드 패턴으로 구성되며, 필요에 따라 CRC(Cyclic Redundancy Check) 체크 비트가 부가된다.
도 11은 표준의 전송 포맷을 나타내고 있다. 데이타 전송은 프레임 단위(최소 단위)로 행해진다. 표준 포맷의 1프레임의 구성은, 데이타 전송의 개시를 나타내는 스타트(START) 패턴으로부터 시작하여, 256바이트 길이의 데이타(DATA) 패턴, 그리고 엔드(END) 패턴으로 구성된다. 데이타 패턴 중에 도시되는「D」는 데이타의 「0」·「1」의 비트 정보를 담당하고 있는 부분을 나타내고 있다.
도 12는 표준 데이타 포맷에 에러 정정 기능을 부가한 CRC 옵션 부가 포맷의 예를 나타내고 있다. 에러 정정 방법으로서는, 예를 들면 순회 용장 검사(CRC)를 사용할 수 있다. CRC 옵션 부가 데이타 전송 시에는, 도 12의 데이타 패턴에 도시한 바와 같이, CRC의 대상이 되었던 데이타의 뒤에 CRC 코드의 패턴이 부가된다.
상술한 전송 포맷 중의 데이타 패턴 이외의 부분은, 특정한 정보를 담당하는 정보 패턴으로 되어 있다. 정보 패턴은 데이타선 SDCKA 및 SDCKB 중 어느 하나가, 「L」 레벨 상태일 동안에 다른쪽의 신호선을 전파하는 신호 펄스(전송 클럭)수에 의해 정의된다. 정보 패턴으로서는, 예를 들면 동기 패턴, 데이타선 점유 허가 패턴, 리셋 패턴 등이 있다.
동기 패턴에는 도 13(a)에 도시한 스타트 패턴, 도 13(b)에 도시한 엔드 패턴, 도 14에 도시한 CRC 옵션 부가 스타트 패턴이 있다.
스타트 패턴은 상술한 데이타 패턴에 앞서 전송되는 동기 패턴이다. 수신측의 MIE가, 데이타선 SDCKA가 「L」 레벨인 기간에 데이타선 SDCKB의 4네가티브 에지를 검출하면, 이후의 패턴을 데이타 패턴으로서 해독하고, 메모리에 입력하는 버퍼링을 행한다.
엔드 패턴은 데이타 패턴의 종료를 나타낸다. 수신측의 MIE가 데이타선 SDCKB가 「L」 레벨인 기간에 데이타선 SDCKA의 2 네가티브 에지를 검출하면, 데이타 패턴의 종료를 확인하여 정상 종료로 한다.
CRC 옵션 부가 스타트 패턴은 CRC 옵션을 부가할 때의 START 패턴이다. 수신측의 MIE는 데이타선 SDCKA가 「L」 레벨인 기간에 SDCKB 라인의 6네가티브 에지를 검출하면, CRC 옵션 부가된 데이타 전송이라고 인식한다. 그리고, END 패턴 이전의 16비트를 CRC 데이타로서, 데이타 부분에 대해 에러 검사를 행한다.
도 15는 호스트가 수신측에 데이타선 중 하나의 점유를 허용하는 데이타선 점유 허가 패턴의 예를 나타내고 있다. 데이타선 SDCKB의 점유 허가 패턴은 SDCKA가 「L」인 기간에 SDCKB 라인이 8네가티브 에지를 갖는다. 수신측의 MIE가 SDCKB 점유 허가 패턴을 검출했을 경우, 다음의 SDCKA의 네가티브 에지보다 SDCKA가 「L」인 기간 SDCKB를 점유할 수 있다. 그 후, SDCKA의 포지티브 에지에 의해 SDCKB의 점유를 해제한다.
예를 들면, 데이타선 SDCKB를 점유하여, 슈팅 게임 장치에 사용되는 라이트건(Light-Gun)의 출력 데이타를 게임 장치로 보내는 것이 가능하다. 데이타선 SDCKB만을 사용하여 데이타가 전송되며, 데이타선 SDCKA는 점유 시간(기간)을 나타내고 있다.
도 16은 리셋 패턴을 나타내고 있다. 리셋 패턴은 데이타선 SDCKA가 「L」 레벨인 상태에서 데이타선 SDCKB 라인이 14 네가티브 에지를 갖는다. 수신측의 MIE가 리셋 패턴을 검출했을 경우에는, 호스트측으로부터의 리셋 요구라고 판단한다. 디바이스는 MIE의 초기화, AP의 말소를 행한다. 그 밖의 데이타의 초기화는 행하지 않는다.
다음에, 호스트와 디바이스 사이의 데이타 통신에 있어서의 전송 프로토콜에 대해 도 17을 참조하여 설명한다.
우선, 원칙적으로 커맨드 송신의 우선권은 호스트측에 있다. 호스트로부터의 커맨드에 해당하는 디바이스 펑션이 응답하는 형태로 교신이 행해진다. 따라서, 호스트로부터의 커맨드 송신에 의해 모든 통신 프로토콜은 개시된다. 도 18(a)는 이 형태를 설명하는 것이다. 데이타 통신은 필요가 발생했을 때에 호스트로부터 디바이스 펑션에 대해 행해진다. 따라서, M버스, LM 버스 상에서는 호스트와 복수의 디바이스 펑션의 각각과의 사이에서 간헐적인 데이타 통신이 행해진다. 또, 송신해야 할 데이타가 1송신 프레임으로서 정해진 길이를 초과할 경우에는, 도 18의 (b)에 도시한 바와 같이, 송신하여야 할 데이타는 복수로 분할되고, 분할된 각 데이타가 복수의 송신 프레임에 의해 송신된다(후술 도 70 참조).
호스트의 어플리케이션 프로그램이 특정한 주변 장치의 디바이스 펑션으로부터 데이타를 입수하도록 버스 드라이버에 액세스한다. 드라이버는 수신처로서의 AP, 커맨드를 형성하고, MIE는 AP, 커맨드를 담당하는 프레임 데이타를 M 버스로 송출한다. 버스 접속되어 있는 디바이스 펑션은 통상 상태에서는, 대기 상태로 있고, 호스트로부터의 커맨드를 기다리고 있다. 주변 장치의 MIE가 프레임 데이타를 수신하고, 디바이스 펑션의 컨트롤 프로그램에 MIE 컨트롤러를 통해 커맨드를 건네준다. 컨트롤 프로그램은, 자신의 AP를 검출하면 상기 커맨드에 대한 응답을 MIE 컨트롤러를 통해 MIE에 회답한다 MIE는 회신 커맨드와 호스트의 AP를 포함하는 프레임 데이타를 형성하여, 버스로 출력한다. 호스트는 상기 프레임 데이타를 수신하여 송신 커맨드에 대한 응답을 얻는다. 디바이스 펑션은 커맨드의 대기 상태로 복귀한다.
이와 같이 하여, 호스트는 필요한 정보를 디바이스 펑션으로부터 입수할 수 있다.
다음에, 디바이스 펑션에 있어서의 처리의 개략을 도 19를 참조하여 설명한다. 주변 장치에 전원선이 접속되고, 전원이 공급되면, 디바이스 펑션은 하드웨어의 초기값 설정 등을 행하는 초기화를 실행한다. 다음에, 후술하는 디바이스 펑션에 AP값을 설정하는 AP 셋 처리를 행한다. AP 셋 처리에서는 접속 디바이스 펑션의 인식, 디바이스 펑션으로의 AP의 할당 등이 행해진다. 디바이스 펑션이 AP를 보유함으로써, 호스트와 디바이스 펑션 사이의 교신이 AP에 의해 가능해지고, 통상의 동작 상태로 된다.
통상 동작 상태에 있어서, 디바이스 펑션이 호스트로부터 리셋 커맨드를 수신하면, AP의 재설정을 행한다(소프트 리셋). 버스 리셋 커맨드를 수신하면, 해당하는 포트의 버스에 접속된 모든 디바이스 펑션을 초기화하여, AP의 재설정을 행한다(하드 리셋). 호스트는 각 디바이스 펑션에 커맨드를 송출하여 동작의 금지나 정지를 지령하는 것도 가능하다.
디바이스 펑션으로의 AP 셋 처리에 대해 도 20을 참조하여 설명한다.
AP 셋은 포트에 접속되어 있는 디바이스 펑션의 인식과 AP의 할당을 행하는 처리이다.
(1) 호스트는 초기화 종료 후, 포트에 디바이스 펑션이 접속되어 있는지의 여부를 확인하기 위해 포트 A로부터 순서대로 디바이스 리퀘스트(Device Request)를 송신한다. 디바이스 리퀘스트는 AP가 할당되어 있지 않은 디바이스 펑션에 대해, 디바이스 고유의 정보인 디바이스 스테이터스(Device Status)를 돌려 보내도록 요구하는 커맨드이다. 송출은 포트 A로부터 순서대로 행하고, 포트 D에서 종료한다.
(2) U-디바이스 펑션은 초기화 종료 후, LM 버스를 M 버스로부터 분리하고, 호스트로부터의 디바이스 리퀘스트를 대기한다. 호스트로부터 디바이스 리퀘스트를 수취하면, 그것에 응답하여 디바이스 스테이터스를 호스트로 돌려 보낸다. 이 시점에서의 디바이스 리퀘스트를 수취할 수 있는 디바이스 펑션은, 1회당 포트에서 하나뿐이다. AP가 할당된 디바이스 펑션은 반응하지 않는다.
(3) 호스트는 디바이스 펑션으로부터 디바이스 스테이터스를 수취하면, 이 데이타를 기초로 접속 관계와 디바이스의 속성을 파악하고, 디바이스 펑션에 AP를 할당하고, 할당된 AP값을 담당하는 AP 할당(AP Assign)을 디바이스 펑션으로 보낸다. AP는 각 포트에서 설정되어 있는 범위 내에서 연속 번호로 할당되고, 호스트는 AP과 디바이스 펑션의 관계를 파악한다. 디바이스 펑션의 속성이 어플리케이션 소프트의 예정하지 않은(사용 대상 외) 것인 경우에는, 디바이스 펑션의 동작을 정지시키는 커맨드, 디바이스 킬(Devlce Kill)을 보내고, 그 디바이스 펑션의 동작을 정지할 수 있다. 당해 디바이스 펑션이 U-디바이스 펑션일 경우에는, 그것에 접속되는 L-디바이스 펑션도 정지하고, 그 포트 전체를 동작 불가로 하는 것이 가능하다.
(4) 디바이스 펑션은 호스트로부터의 AP 할당을 수취하고, 할당된 AP를 기억하여, 호스트에 디바이스 펑션으로부터의 회신으로서 디바이스 응답(Device Reply)을 돌려 보낸다. 이 이후, 호스트로부터 디바이스 펑션으로의 액세스는 디바이스 ID로부터 AP를 이용하여 행해진다.
(5) 호스트는 지금 셋팅하고 있는 디바이스 펑션의 LM 버스의 갯수를 디바이스 스테이터스로 파악하고 있기 때문에, LM 버스가 있을 경우에는 디바이스 펑션에 LM 버스의 하나를 접속하도록 LM 버스 커넥트(LM-Bus Connect)를 보낸다. LM 버스 커넥트가 없을 경우에는 후술하는 처리 (10)을 행한다.
(6) U-디바이스 펑션은 LM 버스 커넥트를 수취하면, LM 버스의 하나를 M 버스와 접속한다. 그리고, 호스트에 디바이스 응답을 돌려 보낸다.
(7) 호스트는 디바이스 응답을 수취하면 디바이스 리퀘스트를 보낸다. 이 때, U-디바이스 펑션은 이미 AP가 할당되어 있기 때문에 반응하지 않는다.
(8) L-디바이스 펑션은 호스트로부터 디바이스 리퀘스트를 수취하면, 그것에 응답하여 디바이스 스테이터스를 호스트로 보낸다.
(9) LM 버스가 전부 접속될 때(모든 디바이스 펑션에 AP가 할당될 때)까지 (3) 이후의 처리를 반복한다.
(10) 호스트는 각 디바이스 펑션의 동작을 개시시키기 위해 펑션 스타트(Function Start)를 보낸다.
(11) 디바이스 펑션은 펑션 스타트를 수취하면, AP 셋의 동작으로부터 통상의 동작으로 이행한다. 이행한 후, 디바이스 펑션은 호스트로 디바이스 응답을 돌려 보낸다.
(12) 호스트는 디바이스 응답을 수취하면 다음 AP로 펑션 스타트를 보낸다.
(13) (11)과 (12)의 처리를 반복하여 각 디바이스 펑션을 순차 활성화하고, 최후의 AP의 디바이스 펑션이 디바이스 응답을 돌려 보내고, AP 셋의 처리를 종료한다.
(14) 각 디바이스 펑션은 통상 동작으로 이행하고, 호스트는 다음 포트의 AP의 셋을 행한다.
이와 같이 하여, 어떤 포트에 접속된 각 디바이스 펑션으로의 AP 설정이 행해진다.
다음에, 호스트가 동작 중에 케이블의 탈착이 발생한 경우(활선 삽입 인출)의 처리에 대해 설명한다.
(1) 호스트는 각 포트에 일정 간격으로 디바이스 리퀘스트를 송출한다. 사용하지 않은 포트는 액세스의 대상으로부터 제외하는 것이 가능하다.
(2) 접속되어 있지 않던 포트로부터 디바이스 스테이터스가 돌아 오면, 호스트는 디바이스 펑션이 접속되었다고 인식한다. 인식 후, 그 포트에 대해 리셋 패턴을 출력하고 전(全) 디바이스 펑션의 AP를 말소한다. 그 후, AP 셋 처리를 행하고 AP의 갱신과 접속 관계의 재구축을 행한다.
(3) 호스트는 디바이스 펑션에 커맨드를 송신하고, 디바이스 펑션으로부터 응답이 없으면, 그 디바이스 펑션은 차단된 것으로서 인식한다. 절단된 디바이스 펑션은 호스트에서 AP의 말소, 접속 관계의 재구축을 행한다.
통상 동작에 있어서의 데이타의 송신·수신의 처리에 대해 설명한다.
(1) 커맨드 송신의 우선권
커맨드는, 최초에 반드시 호스트에서 보내고, 디바이스 펑션이 그것에 회답한다. 최초에 디바이스 펑션측으로부터 호스트로 커맨드를 보내는 것은 인정되지 않는다. 커맨드의 재송은 디바이스 펑션측으로부터 요청이 없는 한, 호스트측에서는 행하지 않는다.
(2) 데이타 형식
송신·수신의 데이타는 커맨드와 파라메터(AP 데이타, 데이타 사이즈, 데이타)로 성립된다. 실제로 데이타선으로 송출되는 신호에는, MIE에서 커맨드의 앞에 스타트 패턴이, 파라메터의 최후미에 엔드 패턴이 부가된다. 그리고, 「스타트 패턴」 + 「커맨드 패턴」 + 「AP 데이타」 + 「데이타 사이즈」 + 「데이타」 + 「엔드 패턴」의 순서로 하나의 프레임이 구성되어 송신된다.
수신측의 MIE에서 프레임은 해석되고, 스타트 패턴과 엔드 패턴을 확인한다. 커맨드와 파라메터의 상세는 후술된다.
(3) 호스트
호스트용 MIE는 M 버스 드라이버에 의해 관리된다. 디바이스 펑션의 데이타의 취득은 MIE에서 자동적으로는 행해지지 않고, M 버스 드라이버를 통해 각 소프트웨어를 행한다. 여기서, 각 소프트웨어란 M 버스 드라이버의 상위의 소프트웨어, 예를 들면 라이브러리 소프트나 게임 소프트웨어를 말한다. 1회의 액세스로서 AP 지정한 하나의 디바이스 펑션과 통신할 수 있다. 1INT 중에 복수의 디바이스 펑션에서 데이타를 취득하기 위해서는, 그 수만큼 디바이스 펑션에 액세스한다. 1INT(interrupt)는 TV 화면의 재기록 타이밍의 단위 시간이며, 약 1/60초이다. 포트의 접속 체크는 미접속 포트에 대해 디바이스 리퀘스트를 송신하여, 반응이 있으면 「접속」으로 한다. 포트는 송신시 이외에는 항상 입력(수신) 상태이다. 어떤 커맨드를 사용할 것인지는, 디바이스 펑션과 그 시간 그 장면에 따라 다르기 때문에, 각 디바이스 펑션의 사양에 따른다.
(4) 디바이스 펑션
주변 장치용 MIE는 MIE 컨트롤러를 통해, 디바이스 펑션의 프로그램을 실행하는 CPU 등에 의해 컨트롤된다. 디바이스 펑션은 호스트로부터 커맨드가 보내져 올 때까지 수신 상태를 유지한다. 그리고, 디바이스 펑션은 교신을 위해 필요한 자신의 데이타를 작성한다. 또한, 호스트로부터의 액세스와는 비동기이고, 디바이스 펑션은 당해 디바이스 펑션(예를 들면, 컨트롤 패드 및 조이스틱 등의 조작 입력 장치)으로서 출력하여야 할 데이타를 작성한다. 호스트로부터 요구가 있으면, 규정 시간 내에 데이타를 송출한다. 호스트로부터는 동일한 포트에 접속되어 있는 모든 디바이스 펑션에 동일한 커맨드가 보내진다. 디바이스 펑션은 수신된 커맨드와 파라메터를 해석하여, 자신의 AP와 일치한 경우에만 커맨드를 회신한다. 자신의 AP와 일치하지 않을 경우에는 호스트에 대해 반응해서는 안된다. 어떤 커맨드를 사용할 것인지는, 디바이스 펑션과 그 시간 그 장면에 따라 다르기 때문에, 상세는 디바이스 펑션의 사양에 따른다.
(5) 금지 사항
동일한 포트 내의 디바이스 펑션으로부터 디바이스 펑션으로의, 디바이스 펑션끼리의 직접적인 액세스는 금지된다. 디바이스 펑션끼리의 교신은 호스트를 통하지 않으면 안된다. 또한, 디바이스 펑션은 호스트만이 발행할 수 있는 커맨드를 사용해서는 안된다.
예외 처리에 대해 설명한다. 예외 처리는 데이타 송수신이 커맨드로 컨트롤할 수 없는 기기를 위해 준비되어 있는 특별한 처리이다. 이러한 기기의 예로서는 슈팅·게임에 사용되는 라이트건(광선총, Light-GUN)이 있다.
(1) 호스트는 디바이스 펑션이 라이트건의 디바이스 ID를 갖는 것을 인식한 경우에는, M 버스를 통상 모드에서 SDCKB 점유 모드로 전환한다. 디바이스 펑션측으로부터의 모드 전환은 블가능하다. 호스트는 전환하기 전에 모드 체인지를 송출하여 라이트건이 접속되어 있는지를 확인한 후, SDCKB 점유 패턴으로 M 버스 모드를 전환한다.
SDCKB 점유 모드가 되면, 그 포트의 전 디바이스가 SDCKB 점유 모드로 되어, SDCKB 점유 모드로 동작하는 디바이스 펑션 이외에는 커맨드를 접수하지 않는다. 예를 들면, 포트 A에 라이트건, 메모리 카드 및 진동 유닛이 접속되어 있을 경우, SDCKB 점유 모드로 동작하는 디바이스 펑션은 라이트건 뿐이다. 점유 모드로 하면, 라이트건만이 호스트로부터 제어되며, 다른 디바이스 펑션인 메모리 카드나 진동 유닛은 동작하지 않는다(호스트로부터 제어할 수 없다).
(2) SDCKB 점유 모드로부터 복귀하기 위해서는, 호스트에서 해제 처리를 행한다. SDCKB 점유 모드 종료 후에는 즉시 통상 모드가 된다.
(3) 라이트건의 경우, 1INT의 화면 재기록의 시간 중, 수직 블랭킹 기간을 제외한 시간, 즉 TV 화면을 묘화하고 있는 기간이 SDCKB 점유 모드가 된다.
화면을 묘화하고 있는 기간이 끝나고 블랭킹 기간이 되었을 때, 즉시 통상 모드로 전환하여, 그 밖의 포트의 디바이스 펑션에 대해 데이타의 송신과 데이타의 수신을 행한다.
(4) 라이트건의 기능을 실현하기 위해서는, 수광 소자를 갖는 부분을 1디바이스 펑션으로 하고, 트리거나 방향키, 아날로그키 등의 부분을 별도의 1 디바이스 펑션으로 한다. 이렇게 하면, 종래에 있어서의 라이트건을 사용할 때에는 방향키를 사용할 수 없었던 문제점을 해소할 수 있게 된다. 또한, 라이트건이 단체(單體)의 디바이스 펑션으로 되기 때문에, 다른 확장 장치와의 접속도 가능해진다. 이로써, 새로운 기능의 게임 어플리케이션의 제공이 가능해진다.
다음에, 커맨드의 예에 대해 설명한다. 커맨드에는, 대별하여 컨트롤러 커맨드와 에러 커맨드가 있다.
컨트롤 커맨드에는, 기본 커맨드로서 디바이스 리퀘스트(Device Request), 스테이터스 리퀘스트(Status Request), 올 스테이터스 리퀘스트(All Status Request), AP 할당(AP Assign), LM 버스 커텍트(LM-Bus Connect), 펑션 스타트(Function Start), 호스트 데이타 트랜스밋(Host Data Transmit), 데이타 리퀘스트(Data Request), 올 데이타 리퀘스트(All Data Request), 모드 체인지(Mode Change), 디바이스 슬립(Device Sleep), 디바이스 리셋(Device Reset), 디바이스 킬(Device Kill), 디바이스 스테이터스(Device Status), 디바이스 응답(Device Reply), 디바이스 데이타 트랜스밋(Device Data Transmit) 등이 있다. 이 밖에 기본 커맨드에 속하지 않는 확장 커맨드가 있다. 확장 커맨드는 디바이스 펑션, M 버스 드라이버에 따라 다르다.
디바이스 리퀘스트(Device Request)는 호스트가, AP가 할당되지 않은 디바이스 펑션에 대해 디바이스 스테이터스를 돌려 보내도록 요구하는 커맨드이다.
스테이터스 리퀘스트(Status Request)는 호스트가 AP로 지정되는 디바이스 펑션에 대해 디바이스 스테이터스(데이타는 고유 디바이스 정보(Fixed Device Status))를 돌려 보내도록 요구하는 커맨드이다.
올 스테이터스 리퀘스트(All-Status Request)는 호스트가 AP에서 지정되는 디바이스 펑션에 대해 모든 디바이스 스테이터스(고유 디바이스 정보(Fixed Device Status)와 자유 디바이스 정보(Free Device Status)의 양쪽)를 요구하는 커맨드이다. 디바이스 펑션에서는, 디바이스 데이타 트랜스밋(Device Data Transmit)으로서, 고유 디바이스 정보 데이타의 후에 자유 디바이스 정보 데이타를 돌려 보낸다.
AP 할당(AP Assign)은 호스트가 디바이스 펑션에 대해 AP를 할당하는 커맨드이다. AP 셋 처리 내에서만 발행 가능하다. 디바이스 펑션은 통상 동작 동안에는 수리하지 않고 커맨드 리퓨절(거부, Command Refusal)을 돌려 보낸다.
LM 버스 커넥트(LM-Bus Connect)는 호스트가 디바이스 펑션에 대해, LM 버스의 하나를 M 버스에 접속하는 것을 요구하는 커맨드이다. 디바이스 펑션은, LM 버스 커넥트를 수신할 때마다 소지하고 있는 LM 버스를 하나씩 접속하여 간다. 디바이스 펑션이 통상 동작일 동안에는 처리하지 않고, 커맨드 리퓨절을 돌려 보낸다.
펑션 스타트(Function Start)는 호스트가 AP에서 지정한 디바이스 펑션을 통상 동작시키는 커맨드이다. 이 커맨드를 받아 디바이스의 통상 동작이 되면 디바이스 응답을 돌려 보낸다. 초기화는 되지 않는다. 디바이스 펑션이 통상 동작일 동안은 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
호스트 데이타 트랜스밋(Host Data Transmit)은 호스트로부터 디바이스 펑션에 데이타를 전송하는 커맨드이다. 데이타의 내용은 각 디바이스 펑션에 따라 다르다. 데이타의 상세는 각 디바이스 펑션의 사양에 의해 정해진다. 데이타 사이즈가 0일 경우, 디바이스 펑션은 수신하지 않고 커맨드 리퓨절을 돌려 보낸다. AP 셋일 동안에는 디바이스 펑션은 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
데이타 리퀘스트(Data Request)는 호스트가 디바이스 펑션으로 지정한 데이타를 송신하도록 요구하는 커맨드이다. 데이타 영역에 복수의 요구 데이타의 번호를 지정하는 것이 가능하다. 데이타 사이즈가 00h일 경우에는, 디바이스 펑션은 이 커맨드를 수리하지 않고 커맨드 리퓨절을 돌려 보낸다. AP 셋일 동안에는 디바이스 펑션은 이 커맨드를 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
올 데이타 리퀘스트(All Data Request)는 호스트가 디바이스 펑션에 모든 데이타를 송신하도록 요구하는 커맨드이다. AP 셋 처리할 동안은 디바이스 펑션은 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
모드 체인지(Mode Change)는 호스트가 포트의 M 버스의 모드를 전환하는 커맨드이다. SDCKB 점유 모드로 할 때에는, 모드 체인지 발행 후 디바이스 응답을 확인하여 특정 포트를 SDCKB 점유 모드로 한다. 디바이스 펑션이 SDCKB 점유 모드에서의 동작에 대응하지 않고 있을 때에는, 디바이스 펑션은 모드 체인지를 수리하지 않고 커맨드 리퓨절을 돌려 보낸다. AP 셋 처리할 동안에는 디바이스 펑션은 모드체인지 처리를 하지 않고 커맨드 리퓨절을 돌려 보낸다.
디바이스 슬립(Device Sleep)은 호스트가 지정 디바이스를 일시 정지시키는 커맨드이다. 디바이스 펑션은 정지 후에 디바이스 응답을 돌려 보내고, 이 후 펑션 스타트만을 접수한다. AP 셋 처리할 동안에는 디바이스 펑션은 디바이스 슬립을 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
디바이스 리셋(Device Reset)은 호스트가 특정 디바이스 펑션에 소프트 리셋을 걸고 초기화시키는 커맨드이다. 소프트 리셋은 IC의 리셋 단자 등의 하드웨어 기능을 이용하여 리셋(초기화)를 행할 뿐만 아니라, 예를 들면 프로그램(소프트웨어)적으로 내부의 RAM이나 레지스터를 초기화하는 것이다. 소프트 리셋은 프로그램으로 리셋의 대상을 선택할 수 있기 때문에, 초기화하고 싶지 않은 개소, 예를 들면 IC의 단자 상태 설정 등은 보유가능하다. 이미 할당되어 있는 AP의 값은 초기화되지 않는다. 초기화 후, 디바이스 응답을 돌려 보내고, 통상 동작으로 된다. AP 셋 처리할 동안에는 디바이스 펑션은 디바이스 리셋을 수리하지 않고 커맨드 리퓨절을 돌려 보낸다.
디바이스 킬(Device Kil1)은 호스트가 디바이스 펑션에 대해 동작을 인정하지 않는 커맨드이다. AP 셋 처리 플로우의 AP 할당 전에서만 디바이스 펑션은 수리할 수 있다. 디바이스 펑션은 스탠바이 소비 전류로 대기하고, 커맨드를 일체 접수하지 않는다. 동작시키기 위해서는, 하드 리셋 또는 전원을 차단할 필요가 있다. 하드 리셋은 IC의 리셋 단자 등의 하드웨어 기능을 이용하여 리셋(초기화)를 행하는 것이다. 또한, 프로그램으로 동등한 초기화 처리를 행하는 경우를 포함한다. IC의 초기화도 행하지 않으면 안되는 전원 투입 시의 파워온 리셋과 동등하게 처리를 행한다. 소프트 리셋과 달리, 초기화할 개소의 선택은 할 수 없다. 디바이스 펑션이 통상 동작할 동안에는 수리하지 않고 커맨드 리퓨절을 돌려 보낸다. 통상 동작시에 디바이스 펑션을 일시 정지시키기 위해서는 디바이스 슬립을 사용한다.
디바이스 스테이터스(Device Status)는 디바이스 펑션이 호스트에 대해 고유 디바이스 정보를 돌려 보내는 커맨드이다. 고유 디바이스 정보에 대해서는 후술한다.
디바이스 응답(Ddvice Reply)은 디바이스 펑션이 디바이스 펑션의 회신으로서 광범위하게 사용한다. 데이타 내용의 AP는 디바이스 펑션 자신의 AP를 나타내어 발행원을 명확하게 한다.
디바이스 데이타 트랜스밋(Device Data Transmit)은 디바이스 펑션이 호스트로부터의 요구에 따라 데이타를 전송하는 커맨드이다. 데이타의 내용은 각 디바이스 펑션에 따라 다르다. 데이타 사이즈가 00h(h는 16진수 표시를 나타낸다)일 경우에는, 호스트는 수리하지 않고 커맨드 리퓨절을 돌려 보낸다. 경우에 따라서, 재송신, 디바이스 스테이터스 등의 커맨드가 송신된다.
다음에, 에러 커맨드에 대해 설명한다. 에러 커맨드에는, 기본 커맨드로서 커맨드 리퓨절(Command Refusual), 커맨드 언노운(Command Unknown), 트랜스밋 어게인(Transmit Again), LM 버스 에러(LM-Bus Error), 디바이스 에러(Device Error) 등이 있다. 이 밖에, 디바이스 펑션, M 버스 드라이버에 의해 개성화된 확장 커맨드가 있다. 여기서, 개성화되었다는 것은 드라이버가 표준으로 갖고 있는 커맨드가 아니라, 특정한 디바이스 펑션용으로 준비된 커맨드를 말한다.
커맨드 리퓨절(Command Refusal)은 호스트 혹은 디바이스 펑션이 보내져온 커맨드에 대해 데이타의 교환을 거부하는 커맨드이다. 동작에 적합하지 않은 커맨드가 보내져 왔을 경우에도 이 커맨드를 회신한다. 그리고, 부정(不正)인 액세스를 금지한다.
커맨드 언노운(Command Unknown)은, 호스트로부터 보내져 온 커맨드가 디바이스 펑션측에 준비되어 있지 않을 것일 때에, 디바이스 펑션이 호스트로 돌려 보내는 커맨드이다.
트랜스밋 어게인(Transmit Again)은 호스트 혹은 디바이스 펑션이 보내져 온 데이타에 어떠한 에러가 있을 때에, 또 한번 동일한 데이타를 보내도록 요구하는 커맨드이다.
LM 버스 에러(LM-Bus Error)는 디바이스 펑션이, 호스트에 대해 LM 버스에서 에러가 발생한 것을 알리는 커맨드이다. 호스트로부터 LM 버스 커넥트를 수신하였지만, 접속하는 LM 버스가 없을 때 등에 호스트로 보낸다.
디바이스 에러(Device Error)는 디바이스 펑션이, 디바이스 펑션으로 어떠한 에러가 발생하고, 복귀 중인 것을 호스트에 알리는 커맨드이다.
상술한 디바이스 고유의 정보(디바이스 스테이터스)에 대해 설명한다. 디바이스 스테이터스는 재기록하거나 소거할 수 없도록 하고, 그대로의 데이타를 기록한다. 예를 들면, 어떤 값을 계산하여 스테이터스값이나 문자로 하는 것은 금지된다.
디바이스 스테이터스에는 고유 디바이스 정보(Fixed Device Status)와 자유 디바이스 정보(Free Device Status)가 있다.
고유 디바이스 정보는 절대로 기술하지 않으면 안되는, 예를 들면 전부 108바이트의 포맷이 결정된 디바이스 스테이터스이다. 모든 항목을 기술하지 않으면, 동작, 접속의 보장이 되지 않는다.
자유 디바이스 정보는 개개의 디바이스 펑션에 의해 자유롭게 사용하더라도 되는 디바이스 스테이터스이다. 용량은, 예를 들면 148바이트 이하여야만 한다.
고유 디바이스 정보에는, 다음과 같은 항목이 포함된다.
(1) 디바이스 ID
디바이스 펑션의 ID, 속성을 기술한다. 각 디바이스 펑션은 미리 등록하여 ID를 취득함으로써, 호스트가 판독한 ID로 어떠한 종류의 디바이스 펑션이 접속된 것인지를 판별 가능하게 한다. 그래서, M 버스를 사용하는 것은, M 버스의 라이센스를 보유하고 있는 사람에 대해 사전에 제품별로 등록한다.
(2) 최대 데이타 사이즈
디바이스 펑션으로부터 출력되는 데이타의 최대 사이즈를 기술한다.
(3) LM 버스 수
디바이스 펑션이 갖는 LM 버스의 수를 기술한다.
(4) 제품명
제품명을 영어 또는 로마자로 ASCII 코드로 기술한다. 실제의 상품명과 다르더라도 좋다. 제품명도 사전 등록의 대상이 된다.
(5) 상품 등을 보낼 곳 코드
제품의 판매 지역을 기술한다. 예를 들면, 북 아메리카, 유럽, 일본 등이 있다.
이 코드를 특정 지역용의 주변 장치와 게임 어플리케이션과의 적합성의 판단 등이 가능해진다.
(6) 라이센스
제품의 라이센스 표시를 영어 또는 로마자로 ASCII 코드로 기술한다.
(7) 스탠바이 소비 전류
일시 정지 시의 소비 전류를 0.1㎃ 단위로 기술한다.
(8) 최대 소비 전류
최대 소비 전류를 0.1㎃ 단위로 기술한다.
한편, 자유 디바이스 정보(Free Device Status)는 제품의 기획자, 개발자, 설계자, 프로그래머 등이 자유롭게 기술할 수 있는 영역의 정보이다. 호스트는 올 디바이스 리퀘스트(All Device Request) 커맨드로서, 디바이스 펑션으로부터 이 정보를 취득할 수 있다. 어플리케이션 소프트 등으로 이 영역을 이용할 경우에는, 데이타의 배열 등의 대응을 미리 취해 놓을 필요가 있다.
호스트의 MIE를 특히 패리페럴 컨트롤러라 칭한다. 도 21은 호스트에 설치되는 패리페럴 컨트롤러의 블럭 회로도의 예를 나타내고 있다.
상기 도면에 있어서, 클럭 디바이더(Clock Divider: 51)는 각각의 처리 블럭으로 공급하는 클럭을 시스템 클럭으로부터 만들어 내고, 또한 공급하는 클럭의 분주비를 바꿈으로써, 송신(전송)율의 변경 등을 행한다.
인스트럭션 레지스터(Instruction Register: 52)는 메인 버스를 통해 어플리케이션 등으로부터 패리페럴 인터페이스로의 인스트럭션이 기록되는 32비트의 레지스터이다. 기록된 내용을 포트 컨트롤러(57), 프레임 컨트롤러(58)에 건네 준다.
라이트 버퍼(Write Buffer : 53)는 전송할 데이타를 기록하는 256바이트의 RAM이다.
인터럽트 컨트롤러(Interrupt Controller : 54)는 송신, 수신, 각종 에러에 의한 인터럽트를 제어하는 컨트롤러이다.
스테이터스 레지스터(Status Resister : 55)는 본 컨트롤러의 상태를 나타내는 32비트의 레지스터이다.
리드 버퍼(Read Buffer: 56)는 수신된 데이타를 보유하기 위한 256바이트의 RAM이다.
포트 컨트롤러(Port Controller: 57)는 송수신 대상이 되는 포트를 제어하는 컨트롤러이다. 커맨드에 의해 선택된 송신 포트의 3 스테이트 버퍼(68)를 제어하여, 제1 셀렉터(64) 및 제2 셀렉터(65)의 각 출력 SDCKA 및 SDCKB를 선택 포트로 도출한다. 또한, 제3 셀렉터(66) 및 제4 셀렉터(67)를 제어하여 수신 포트의 선택을 행한다.
프레임 컨트롤러(Frame Controller : 58)는 출력 패턴, 데이타 길이 등의 프레임 구성을 제어하는 컨트롤러이다.
프레임 인코더(Frame Encoder: 59)는 프레임 컨트롤러(58)에 의해 제어되고, 정보 패턴의 생성, 출력을 행한다.
교호 시프트 레지스터(Alternate Shift Register : 60)는 프레임 컨트롤러에 의해 제어되고, 라이트 버퍼(Write Buffer) 상의 병렬 데이타를 직렬 데이타로 변환(P/S)하며, SDCKA, SDCKB로 데이타, 클럭을 교대로 출력하는 레지스터이다. 또한, 교호 시프트 레지스터 내에는 CRC 연산부가 설치되고, 프레임 컨트롤러의 지령에 따라 데이타로 CRC 처리를 행한다.
제1 셀렉터(64)는 프레임 컨트롤러(58)에 의해 제어되어, 프레임 인코더(59)의 출력 또는 교호 시프트 레지스터(60)의 출력을 선택하여 SDCKA를 출력한다.
제2 셀렉터(65)는 프레임 컨트롤러(58)에 의해 제어되고, 교호 시프트 레지스터(60)의 출력 또는 프레임 인코더(59)의 출력을 선택하여 SDCKB를 출력한다.
제3 셀렉터(66)는 포트 컨트롤러(57)의 지령에 따라 수신 포트를 선택하고, 버퍼 증폭기(69)를 통해 수신한 SDCKA를 프레임 디코더(61) 및 교호 시프트 레지스터(62)로 공급한다.
제4 셀렉터(67)는 포트 컨트롤러(57)의 지령에 따라 수신 포트를 선택하고, 버퍼 증폭기(69)를 통해 수신한 SDCKB를 프레임 디코더(61) 및 교호 시프트 레지스터(62)로 공급한다.
프레임 디코더(Frame Decoder : 61)는 수신 프레임의 구성을 해석하여, 스테이터스 레지스터(55)로의 반영, 교호 레지스터(62)의 제어를 행한다.
교호 시프트 레지스터(Alternate Shift Register : 62)는 프레임 디코더(61)에 의해 제어되고, 수신 직렬 데이타를 병렬 데이타로 변환하는 (S/P) 레지스터이다. 또한, 교류 시프트 레지스터(62)는 수신 신호의 에러 검사(Error Check)를 행하는 CRC 연산 회로를 구비하고 있다.
HV(수평/수직) 래치 신호 컨트롤러(HV Latch Signal Controller)는 프레임 컨트롤러(58)에 의해 활성화된다. 예를 들면, 프레임 컨트롤러(58)가 SDCKB 점유 허가 패턴을 송출한 후, 프레임 디코더를 불활성화하고, HV 래치 신호 컨트롤러를 활성화한다. HV 래치 신호 컨트롤러는 SDCKB 점유 허가 패턴을 송출한 후에 SDCKB를 수신하면 도시하지 않은 HV 카운터에 래치 신호를 공급한다. HV 카운터는 화면 상의 위치에 대응한 값을 출력하는, 수평 위치 카운터와 수직 위치 카운터이다. 예를 들면, 슈팅 게임에 있어서, 텔레비젼 화면을 향한 총이 트리거되면 SDCKB가 총으로부터 출력된다. 이 SDCKB가 총의 화면 상의 조준(사격) 위치를 HV 카운터로 판별하기 위해 사용된다.
도 22는 프레임 인코더(59)의 동작 원리를 설명하는 회로도이다. 상기 도면에 있어서, 참조 번호 591은 플립플롭이고, 참조 번호 592는 카운터이며, 참조 번호 593은 비교기이고, 참조 번호 594는 논리 게이트이다.
도 23은 프레임 인코더(59)의 동작을 설명하는 타이밍 차트이다.
프레임 인코더(59)에 라이트 펄스가 공급되면, 본 회로가 액티브 상태로 된다. 라이트 펄스가 공급되면, 그 상승 에지에서 플립플롭(591)의 Q 출력의 SDCKA가 「L」 레벨로 설정된다. SDCKA는 카운터(592)의 인에이블 입력으로 되어 있고, 카운터(592)는 공급되는 클럭 CLK의 계수를 개시한다. 카운터(592)는 카운트값 CNT OUT를 「0」, 「1」, 「2」, …「7」, 「8」로 진행한다. 이 카운트값은 비교기(593)의 비교 입력 A로 공급된다. 비교기(593)의 비교 기준 입력 B로는 출력 패턴 설정값 n이 공급된다. 예를 들면, 「스타트 패턴」을 발생시킬 경우에는 커맨드를 디코드한 프레임 인코더(59)에 의해 설정값 n으로서 「9」가 제공된다. 비교기(593)는 양 입력이 일치하면 출력 단자 EQ로부터 출력 CMP OUT을 출력하여, 플립플롭(591)의 프리셋 단자 /PR로 공급한다. 이로써, 플립플롭(591)의 Q 출력의 SDCKA는 「H」 레벨로 설정된다. SDCKA와, 클럭 신호 CLK를 (1/2) 분주한 CLKB 신호를 OR 게이트(594)에서 합성하여 SDCKB를 얻는다.
이와 같이, 스타트 패턴, 리셋 패턴, 엔드 패턴 등에 대응한 출력 패턴 설정값을 제공하여 라이트 펄스를 공급하면, SDCKA가 「L」 레벨로 설정되고, SDCKB가 소정 횟수의 하강 에지를 갖는 패턴 신호를 얻는 것이 가능하다.
도 24는 교호 시프트 레지스터(60)의 동작 원리를 설명하는 회로도이다. 상기 도면에 있어서, 참조 번호 601은 병렬 데이타를 직렬 데이타로 변환하는 시프트 레지스터이고, 참조 번호 602는 2 입력의 셀렉터이며, 참조 번호 603은 병렬 데이타를 직렬 데이타로 변환하는 시프트 레지스터이고, 참조 번호 604는 2 입력의 셀렉터이다.
도 25는 교호 시프트 레지스터(60)의 동작을 설명하는 타이밍차트이다.
송신할 복수의 짝수 비트 D6, D4, D2, D0을 각각 시프트 레지스트(601)의 복수의 D 입력단으로 제공하여, 도시된 타이밍의 시프트 클럭 SHIFT CLKA에 의해 데이타를 시프트시켜, 출력단 Q에 의해 직렬 데이타로서 셀렉터(602)의 A 입력단으로 공급한다. 셀렉터(602)의 B 입력단에는 도시된 클럭 CLKA가 입력되어 있다. 셀렉터(602)는 시프트 클럭 SHIFT CLKA의 「H」 레벨에 대응하여 출력단 Q의 직렬 데이타를 「L」 레벨에 대응하여 클럭 CLCKA를 선택한다. 이 결과, 셀렉터(602)의 출력단 Y에는 클럭 CLKA에 데이타 D6, D4, D2, D0을 일정한 간격으로 중첩시킨 SDCKA를 얻는다.
마찬가지로, 송신할 복수의 홀수 비트 D7, D5, D3, D1을 시프트 레지스터(603)의 복수의 D 입력단에 제공하고, 도시한 타이밍의 시프트 클럭 SHIFT CLKB에 의해 데이타를 시프트시켜, 출력단 Q에서 직렬 데이타로서 셀렉터(604)의 A 입력단에 공급한다. 셀렉터(604)의 B 입력단에는, 도시한 클럭 CLKB가 입력되어 있다. 셀렉터(604)는 시프트 클럭 SHIFT CLKB의 「H」 레벨에 대응하여 출력단 Q의 직렬 데이타를, 「L」 레벨에 대응하여 클럭 CLCKB를 선택한다. 이 결과, 셀렉터(604)의 출력단 Y에는 클럭 CLKA에 데이타 D7, D5, D3, D1을 일정한 간격으로 중첩시킨 SDCKB를 얻는다. 또, 신호 SDCKA 및 SDCKB에 도시되는「D0」∼「D7」의 부분은 데이타의 값에 따라 「H」 레벨 또는 「L」레벨로 된다.
도 26은 프레임 디코더(6I)의 구성예를 나타낸 회로도이다. 상기 도면에 있어서, 참조 번호 611은 카운터이고, 참조 번호 612는 복수의 플립플롭에 의해 구성되는 복합 플립플롭이며, 참조 번호 613은 카운터이고, 참조 번호 614는 복수의 플립플롭에 의해 구성되는 복합 플립플롭이다.
도 27은, 프레임 디코더(61)의 동작을 설명하는 타이밍차트이다.스타트 패턴의 검출에는 회로도 중의 카운터(611)와 플립플롭(612)이 동작한다. SDCKA가 「H」 레벨에서는 카운터의 동작이 디스에이블된다. SDCKA가 「L」레벨로 되면 카운터의 동작은 인에이블로 되어 SDCKB의 하강 에지를 카운트한다. SDCKA가 「L」 레벨인 기간 중의 SDCKB의 하강 횟수를 계수하면 계수 출력이 플립플롭으로 제공된다. SDCKA의 상승 에지에서 카운터 출력이 플립플롭(612)에 취득된다. 도 27에 도시한 바와 같이, SDCKA가 「L」 레벨인 기간 중에 SDCKB의 하강 횟수가 4회일 때(스타트 패턴, 도 13 참조), 플립플롭(612)은 스타트 패턴 검출을 출력한다.
엔드 패턴을 검출하기 위해, 카운터(613), 플립플롭(614)에 의해 SDCKB가 「L」 레벨인 기간 중의 SDCKA의 하강 횟수가 계수된다. SDCKB의 상승 에지에 의해 카운터(613)의 계수 출력을 플립플롭(614)으로 취득한다. 도 27에 도시한 바와 같이, SDCKB가「L」레벨 기간 중에 SDCKA의 2회의 하강을 계수하면 플립플롭(612)은 엔드 패턴 검출을 출력한다. SDCKB가 「L」 레벨인 기간 중에 SDCKA의 하강 횟수가 미정의인 계수 횟수일 경우에는 플립플롭(614)은 프레임 에러 검출을 출력한다. 통상의 동작 모드에서는, 상기 SDCKB의 4회의 하강을 포함하는 스타트 패턴 후에, 데이타 패턴, 상기 SDSKA의 2회 하강을 포함하는 엔드 패턴이 계속된다(도 11 참조).
또, 도 27에는 도시되어 있지 않지만, 수신 개시 후 SDCKA가「L」 레벨인 기간 중에 카운터(611)가 SDCKB의 6회의 하강을 검출하면, 플립플롭(612)은 CRC부가 스타트 패턴(도 14 참조)의 검출을 출력한다. CRC부가 패턴의 동작 모드에서는, SDCKB의 6회의 하강을 포함하는 CRC 스타트 패턴 후에, 데이타 패턴, CRC 데이타, 엔드 패턴이 계속된다(도 12 참조).
또한, 카운터(611)가 SDCKA가 「L」 레벨일 기간 중에 SDCKB의 8회의 하강을 검출하면, 플립플롭(612)은 SCKB 점유 허가 패턴(도 15 참조)의 검출을 출력한다. 이 경우에는 SDCKB 점유 모드로 이행한다. SDCKB 점유 모드는 해제 패턴(SDCKA의 상승)에 의해 해제된다.
또한, 카운터(611)가 SDCKA가 「L」 레벨인 기간 중에 SDCKB의 14회의 하강을 검출하면, 플립플롭(612)은 리셋 패턴(도 16 참조)의 검출을 출력한다. 이로써 리셋 동작이 행해진다.
SDCKA의 「L」 레벨 기간 중 SDCKB의 하강 횟수가 미정의 횟수일 때에는 플립플롭(612)은 프레임 에러의 검출을 출력한다. 플립플롭(612 및 614)에 의한 패턴 검출 출력은 스테이터스 레지스터(55)에서 보유된다.
도 28은 교호 시프트 레지스터(62)의 구성예를 나타내고 있다. 상기 도면에 있어서, 시프트 레지스터(621)의 데이타 입력단 D에는 직렬 데이타 SDCKB가 공급되고, 시프트 클럭 입력에는 SDCKA가 공급된다. 시프트 레지스터(621)는 도 29에 도시한 바와 같이, SDCKA의 하강 에지에서 SDCKB의 데이타 부분을 축차 취득한다. 시프트 레지스터(621)의 병렬 출력 단자 D7, D5, D3, D1에는 SDCKA의 4회의 클럭 에지에 의해 직병렬 변환 데이타가 구비된다.
마찬가지로, 도 28에 도시한 시프트 레지스터(622)의 데이타 입력단 D에는 도 29에 도시한 직렬 데이타 SDCKA가 공급되고, 시프트 클럭 입력에는 SDCKB가 공급된다. 시프트 레지스터(622)는 SDCKB의 하강 에지에서 SDCKA의 데이타 부분을 축차 취득한다. 시프트 레지스터(622)의 병렬 출력 단자 D6, D4, D2, D0에는 SDCKB의 4회의 클럭 에지에 의해 직병렬 변환 데이타가 구비된다.
도 30은 게임 컨트롤러, 입력 조작용 컨트롤러, 혹은 조작 입력 장치 등이라 불리는 게임 장치에 접속되는 주변 장치의 개략적인 전체 블럭도이다. 게임 컨트롤러로서 설명한다. 게임 컨트롤러에 2개의 확장 소켓이 설치되어 주변 장치(L-디바이스 펑션)를 더 추가(결합)하는 것이 가능하다. 게임 컨트롤러에는 1칩 마이크로 컨트롤러(one-chip micro-controller)가 내장되어 있다. 또한, 게임 컨트롤러에는 디지탈 출력을 발생하는 11개의 스위치, 4축의 출력을 발생하는 아날로그 키가 설치되어 있다. 이들 스위치의 출력은 마이크로 컨트롤러(micro-controller)에 의해 처리되어 MIE부, M 버스를 통해 호스트로 출력된다.
도 31은 주변 장치의 기능을 디바이스 펑션으로서 취할 수 있고, 디바이스 펑션측의 MIE의 구성을 개략적으로 설명하는 블럭도이다.
상기 도면에 있어서는, 도시하지 않은 호스트에 M 버스를 통해 게임 컨트롤러가 접속되어 있다. 게임 컨트롤러 내에는 M 버스를 통해 호스트에 접속되는 U-디바이스 펑션과, LM 버스를 통해 U-디바이스 펑션에 접속되는 2개의 L-디바이스 펑션이 설치되어 있다.
도 32는 도 31에 있어서의 버스의 전환부(셀렉터)를 설명하는 블럭 회로도이다. U-디바이스 펑션으로부터 분기하는 M 버스는 2개 있고, 각각 LM 버스(1), LM 버스(2)라 칭한다. LM 버스와 M 버스의 접속, 차단의 변환은 U-디바이스 펑션용의 MIE의 셀렉터가 행한다.
도 33은 U-디바이스 펑션의 하드웨어 부분의 개략 블럭도를 나타내고 있다. 소위, 1칩 마이크로 컨트롤러(one-chip micro-controller)에 의해, 통신 처리부, 소켓 컨트롤부, CPU부, I/O부가 구성된다. 통신 처리 블럭은 호스트와의 인터페이스를 행한다. CPU부는 게임 컨트롤러 등의 주변 장치 내에서의 신호 처리를 제어한다. I/O부는 디지탈 버튼, 아날로그 키 등의 외부 입력 인터페이스이다. 소켓 컨트롤부는 확장 소켓의 제어를 행한다. 본 예에서는, 2개의 L-디바이스 펑션용의 하드웨어의 확장 소켓(2슬롯)이 준비되어 있다. 또, 도면 중 파선으로 둘러싸인 U-DEVICE 부분은 1칩 마이크로 컨트롤러로서 구성 가능한 부분을 나타내고 있다. 다음 도면의 L-DEVICE 부분도 마찬가지이다.
도 34는 L-디바이스 펑션의 개략 블럭도이다. 1칩 마이크로 컴퓨터에 의해 통신 처리부, CPU부, 서포트 기능부가 구성된다. 통신 처리부는 U-디바이스 펑션과의 인터페이스를 행한다(L-디바이스 펑션용 MIE). CPU부는 L-디바이스 펑션으로서의 처리를 담당하는 부분이다. 서포트 기능 블럭은 L-디바이스 펑션의 기능을 실현하는 것이다. 예를 들면, 광선총의 트리거 기능, 메모리 기능, 진동 기능 등을 수행하는 회로이다.
다음에, 디바이스 펑션측의 MIE의 동작에 대해 도 33 및 도 34를 참조하여 설명한다. AP 미할당의 초기에 있어서는, 도 33에 도시한 소켓 컨트롤러에 의해 3스테이트 버퍼가 제어되고, 확장 소켓(1), 확장 소켓(2)으로 전송되는 SDCKA OUT 및 SDCKB OUT은 디스에이블 상태로 되어 있다. 여기서, 소켓 컨트롤러는 LM 버스(1) 컨트롤러와 LM 버스(2) 컨트롤러의 기능을 담당하고 있다.
SDCKA OUT이 디스에이블 상태에서, 확장 소켓에 L-디바이스 펑션이 접속되어 있지 않을 때, SDCKA OUT는 3 스테이트 버퍼의 출력단에 접속된 풀다운 저항에 의해 「L」 레벨로 된다. 소켓 컨트롤러는 상기 출력단의 「L」 레벨을 검출함으로써, L-디바이스 펑션의 U-디바이스 펑션으로의 미접속을 판별할 수 있다.
한편, 도 34에 도시한 L-디바이스 펑션의 하드웨어의 SDCKA OUT의 입력단에는 풀업 저항을 통해 전원이 접속되어 있다. 이 때문에, L-디바이스 펑션의 하드웨어가 확장 소켓에 접속되면, 도 33에 도시한 상대적으로 고저항인 풀다운 저항과 저저항인 상기 풀업 저항에 의해 SDCKA OUT 단자(3상태 버퍼는 차단 상태)는 「H」 레벨로 상승된다. 소켓 컨트롤러는 이 출력단의 「H」 레벨을 검출함으로써, L-디바이스 펑션을 포함하는 하드웨어의 U-디바이스 펑션을 포함하는 하드웨어로의 접속을 판별할 수 있다.
호스트로부터의 AP 할당 커맨드에 의해 U-디바이스 펑션에 AP가 할당되고, LM 버스 커넥트 커맨드를 받으면, 확장 소켓(1)의 SDCKA OUT 및 SDCKB OUT을 인에이블 상태로 한다. 이로써, 호스트로부터의 커맨드는 U-디바이스 펑션 및 확장 소켓(1)에 연결되는 L-디바이스 펑션으로 전송된다.
호스트가 확장 소켓(1)의 L-디바이스 펑션에 AP를 할당하고, U-디바이스 펑션에 LM 버스 커넥트 커맨드를 송신했을 경우, U-디바이스 펑션은 확장 소켓(2)의 SDCKA OUT, SDCKB OUT을 인에이블 상태로 한다. 확장 소켓(2)의 L-디바이스 펑션에 AP의 할당 종료 후, 호스트로부터의 커맨드는 U-디바이스 펑션, L-디바이스 펑션 전부에 동일하게 전송된다. U-디바이스 펑션, L-디바이스 펑션은 커맨드에 포함되는 AP의 값을 참조하여, 자신이 선택되어 있는지를 판별하여 적절하게 응답한다.
도 35 내지 도 39는 MIE의 송신에 있어서의 제어 동작을 설명하는 플로우차트이다.
호스트의 어플리케이션으로부터 API를 통해, 버스 드라이버 소프트웨어에 일련의 처리 명령이 부여된다. 버스 드라이버는 이 처리 명령을 MIE를 제어하는 인스트럭션으로 번역하여 MIE의 인스트럭션 레지스터(52)에 설정한다.
프레임 컨트롤러(58)는 인스트럭션 레지스터에 설정된 코드(인스트럭션)가, 표준 전송 포맷의 패턴의 신호의 출력을 명령하는 것인지(S12), CRC 옵션 부가 포맷의 신호의 출력을 명령하는 것인지(S14), SDCKB 점유 허가 패턴의 출력인지(S16), 리셋 패턴의 출력인지(S18)를 판별한다.
표준의 전송 포맷 패턴의 출력일 경우(S12, 예)에는, 프레임 컨트롤러(58)는 도 36에 도시한 시퀀스에 따라 셀렉터(64 및 65)에 프레임 인코더(59)의 출력을 선택시키고, 프레임 인코더(59)로부터 스타트 패턴을 출력시킨다(S21). 계속해서, 셀렉터(64 및 65)에 교호 시프트 레지스터(60)의 출력을 선택시키고, 라이트 버퍼(53)로부터 송신 데이타를 교호 시프트 레지스터(60)로 판독해(S22), 교호 시프트 레지스터(60)로부터 데이타 패턴을 출력시킨다 (S23).
프레임 컨트롤러(58)는, 송신한 데이타가 예를 들면 256바이트가 되었는지를 확인한다(S24). 아직, 256바이트에 충족되지 않을 경우에는(S24, 아니오), 라이트 버퍼로부터의 판독(S22)과 데이타 출력(S23)을 반복한다.
256바이트를 송출했을 경우에는(S24, 예), 셀렉터(64 및 65)에 프레임 인코더(59)의 출력을 선택하게 하여, 프레임 인코더(59)로 엔드 패턴을 송출시킨다.
이와 같이 하여, 표준 패턴으로 데이타가 송신된다.
인스트럭션 레지스터(52)에 설정된 코드가 CRC 옵션 부가 포맷의 신호의 출력을 명령하는 것일 경우(S14, 예), 프레임 컨트롤러(58)는 도 37에 도시한 시퀀스에 따라 셀렉터(64 및 65)에 프레임 인코더(59)의 출력을 선택하게 하고, 프레임 인코더(59)로부터 CRC부가 스타트 패턴을 출력시킨다(S31). 계속해서, 셀렉터(64 및 65)에서 교호 시프트 레지스터(60)의 출력을 선택하게 하고, 라이트 버퍼(53)로부터 송신 데이타를 교호 시프트 레지스터(60)에 판독시킨다(S32). 또한, 프레임 컨트롤러(58)는 교호 시프트 레지스터 내의 CRC 연산부에, 판독 데이타에 대해 CRC 계산을 행하게 한다(S33). 교호 시프트 레지스터(60)로부터 데이타 패턴을 출력시킨다(S34).
프레임 컨트롤러(58)는, 전송한 데이타가 예를 들면 256바이트가 되었는지를 확인한다(S35). 아직, 256바이트로 충분하지 않을 경우에는(S35, 아니오), 라이트 버퍼로부터의 판독(S32), CRC 계산(S33), 데이타 출력(S34)을 반복한다.
256바이트를 송출했을 경우에는(S35, 예), 프레임 컨트롤러(58)는 교호 시프트 레지스터(60)로, 데이타에 이어서 CRC 데이타를 송출시킨다(S36). 셀렉터(64 및 65)에 프레임 인코더(59)의 출력을 선택하게 하고, 프레임 인코더(59)로 엔드 패턴을 송출시킨다(S37).
이와 같이 하여, CRC 부가 패턴으로 데이타가 송신된다.
프레임 컨트롤러(58)가 SDCKB 점유 허가 패턴의 출력 지령을 판별하(S16, 예)면, 도 38에 도시한 시퀀스에 따라, 셀렉터(64 및 65)에 프레임 인코더(59)의 출력을 선택하게 하고, 프레임 인코더(59)에 SDCKB 점유 허가 패턴을 출력시킨다(S41). 포트 컨트롤러(57)를 통해 버퍼(68)를 제어하여, SDCKB의 송출을 금지한다(S42). 다음에, 프레임 인코더(59)에 SDCKA를 「L」 레벨로 설정한 SDCKB 점유 허가 패턴을 출력시킨다(S43).
그 후, HV 래치 컨트롤러(63)를 인에이블로 한다. HV 래치 컨트롤러(63)는 SDCKB의 라인을 감시한다(S44).
디바이스측으로부터 회신이 있으면(S44, 예), HV 래치 컨트롤러(63)는 HV 카운터의 래치 출력을 발생한다(S45). 래치 출력의 발생 후(S45), 혹은 디바이스측으로부터의 회신이 없을 경우(S44, 아니오), SDCKB 점유 모드를 설정하는 커맨드가 아직 레지스터(52)에 존재하는지의 여부를 판별한다(S46). 존재할 경우(S46, 아니오)에는 스텝 S44∼S46을 반복하여, 디바이스측으로부터의 회신에 대응해 축차 래치 출력을 발생한다.
SDCKB 점유 모드를 설정하는 커맨드가 해제되면(S46, 예), SDCKA를 「H」레벨로 복귀시키고, SDCKA, SDCKB를 송신에 사용할 수 있는 상태로 복귀시킨다(S47).
이와 같이 하여, SDCKB 점유 모드가 행해진다.
프레임 컨트롤러(58)는 커맨드 레지스터에 설정된 코드가 리셋 패턴의 출력인 것을 판별하면(S18), 도 39의 시퀀스에 도시된 바와 같이 프레임 인코더(59)에 리셋 패턴의 출력을 행하게 한다(S51).
이와 같이 하여, 각종 포맷의 신호가 송출된다.
다음에, MIE의 수신에 있어서의 동작에 대해 설명한다.
도 40의 시퀀스에 도시한 바와 같이, 프레임 디코더(61)는 수신한 SDCKA 및 SDCKB를 디코드하여, 수신 신호가 스타트 패턴인지(S62), CRC 부가 스타트 패턴인지(S64), 혹은 어디에도 속하지 않는 프레임 에러인지(S66)를 판별한다.
스타트 패턴을 검출했을 경우(S62, 예), 도 41의 시퀀스에 도시한 바와 같이, 미정의된 스타트 패턴인지를 판별한다(S71). 미정의된 패턴일 경우에는 (S71, 예), 스테이터스 레지스터에 프레임 에러 검출 플래그를 설정하고 드라이버 소프트 등에 의해 소정의 프레임 에러 검출 처리를 행한다(S72).
미리 정의되어 있는 스타트 패턴일 경우에는(S71, 아니오), 스테이터스 레지스터에 스타트 패턴의 검출 플래그를 설정한다. 이로써, 교호 시프트 레지스터(62)가 활성화되고, 수신된 SDCKA 및 SDCKB로부터 데이타를 축차 추출하며, 추출한 직렬 데이타를 병렬 데이타로 복조한다 (S73). 복조 데이타를 리드 버퍼(56)에 기록한다(S74). 이 데이타의 복조·전송을, 프레임 디코더(61)가 엔드 패턴을 검출할 때까지 반복한다(S71∼S75). 엔드 패턴을 검출했을 경우(S75, 예), 스테이터스 레지스터(55)에 엔드 패턴 검출 플래그를 설정하고 수신을 종료한다.
한편, CRC 부가 스타트 패턴을 검출했을 경우, 도 42에 도시한 바와 같이, 미정의 스타트 패턴인지를 판별한다(S81). 미정의 패턴일 경우에는(S81, 예), 스테이터스 레지스터에 프레임 에러 검출 플래그를 설정하고, 드라이버 소프트 등에 의해 소정의 프레임 에러 검출 처리를 행한다(S82).
미리 정의되어 있는 스타트 패턴일 경우에는(S81, 아니오), 스테이터스 레지스터에 CRC 부가 스타트 패턴의 검출 플래그를 설정한다. 이로써, 교호 시프트 레지스터(62)가 활성화되고, 수신된 SDCKA 및 SDCKB로부터 데이타를 축차 추출하며, 추출된 직렬 데이타를 병렬 데이타로 복조한다(S83). 그리고, 복조 데이타에 대해 CRC 연산을 행한다(S84). 복조 데이타를 리드 버퍼(56)에 기록한다(S85). 이 데이타의 복조·전송을 프레임 디코더(61)가 엔드 패턴을 검출할 때까지 반복한다(S81∼S86). 엔드 패턴을 검출했을 경우(S86, 예), 수신 데이타의 CRC 계산과 데이타부의 뒤에 부가된 CRC 데이타를 참조하여, CRC 에러의 유무를 판별한다(S87).
CRC 에러를 검출할 때(S87, 예)에는, 스테이터스 레지스터(55)에 CRC 에러 검출 플래그를 설정하고, 데이타의 재송신 요구(트랜스밋 어게인) 등의 CRC 에러 검출 처리를 가능하게 한다. CRC 에러를 검출하지 않을 때에는, CRC 부가 패턴에 의한 데이타 수신을 종료한다(S87, 아니오).
도 43은 게임 프로그램 등의 어플리케이션(소프트웨어)에 내장된 프로그램에 의한 주변 장치(디바이스 펑션)의 고유 정보의 입수 및 그 이용을 설명하는 플로우차트이다.
CD-ROM 등의 정보 기록 매체로부터 공급된 어플리케이션 프로그램은 메모리에 기억되어 CPU에 의해 실행된다. 어플리케이션 프로그램은, 디바이스 펑션에 대해 디바이스 리퀘스트 커맨드를 송신시키고(S102), 디바이스 펑션으로부터의 회신을 대기한다. 소정 시간을 경과하더라도 디바이스 펑션으로부터 고유 정보를 수신하지 않을 경우에는, 버스에 디바이스 펑션이 접속되어 있지 않다고 판단하고(S104, 아니오), 미접속 처리를 행한다 (S106).
디바이스 펑션으로부터 고유 정보를 수신했을 경우에는(S104, 예), 허락(라이센스) 표기 정보(S108), 상품 받을 곳 정보(S110), 디바이스 ID를 CD-ROM 등의 정보 기록 매체로부터 공급된 게임 프로그램 등의 어플리케이션에 포함되어 있는 정보와 대비한다(S112). 각 대비가 일치하면(S112, 예), 그 디바이스 펑션에 AP를 할당하는 처리를 행한다(S114).
한편, 대비에 일치하지 않는 것이 있을 경우에는, 접속 디바이스 펑션(혹은 접속 주변 장치)이 어플리케이션에 비대응인 것을 사용자에게 알리는 처리를 행한다(S116). 그 후, 상기 디바이스 펑션을 호스트에 접속하지 않는 처리(S106)를 행하여 종료한다.
이러한 기능은, 주변 장치의 PL(Product Liability) 대책으로서 유용하다. 예를 들면, 슈팅 게임에서는 모의총을 사용하지만, 정교하게 총을 모방한 것은 진짜 총으로 착각될 우려가 있다. 예를 들면, 어떤 나라에서는 그와 같은 사용이 문제가 되지 않는 경우라도, 다른 나라에서는 문제가 되는 것도 고려할 수 있다. 그와 같은 경우에는, 분명히 모의총이라고 알 수 있는 외관을 갖는 총만이 당해 나라에서 사용될 필요가 있다.
그래서, 상술한 디바이스의 고유 정보를 이용함으로써, 어떤 나라나 어떤 지역에서의 관습, 사정 등을 고려하여야 할 어플리케이션에는, 그 어플리케이션으로 사용할 수 있는 주변 장치의 종류나 형식을 한정하는 것이 가능하게 되어 바람직한 것이다.
이와 같이, 본 발명에 따른 게임 장치와 이 주변 장치와의 접속 규격에 따르면, 적은 갯수의 버스 라인으로 게임 장치와 복수의 주변 장치를 접속 가능하다.
또한, 사용자가 게임용 주변 장치를 케이블(cable wire) 혹은 코드를 통해 게임 장치에 접속하면, 게임 장치가 자동적으로 접속 기기를 인식하여, 접속된 주변 장치를 어플리케이션에 적응하도록 초기화하여 올리기 때문에, 사용자에게 특별한 순서나 설정을 거치게 하는 일을 없앨 수 있어, 게임 장치의 주변 장치의 접속 규격으로서 적합하다.
또한, 상기한 실시예에 있어서는, 각 주변 장치는 버스에 접속된 다른 장치에의 액세스권을 갖지 않고, 게임 장치로부터의 액세스에 대응하여 주변 장치가 응답하는 형식으로 데이타 통신을 행하기 때문에, 게임 장치와 복수의 주변 장치 상호 간의 액세스 타이밍의 조정 등이 불필요해진다. 또한, 주변 장치 상호 간의 액세스를 금지하고 있기 때문에, 주변 장치 상호 간의 액세스 타이밍의 조정이 불필요하게 되어, I/O의 하드웨어, 소프트웨어의 구성을 비교적 간단하게 할 수 있다.
또한, 복수 또는 복수 종류의 주변 장치를 용이하게 접속할 수 있다. 예를 들면, 게임 장치의 컨트롤러, 조이스틱, 키보드, CD-ROM 드라이브, DVD 드라이브, 음성 입력/출력 장치, 메모리 팩, FDD 장치, 모뎀, ISDN 단말 장치 등을 접속하는 것이 가능하다.
또한, 게임 장치와 주변 장치와의 사이에서 커맨드 형식으로 데이타 통신이 행해지기 때문에, 게임 어플리케이션이 게임의 진행에 따라, 그 시간 그 장면에서 필요한 데이타를 게임 컨트롤러(주변 장치) 등에서 취득할 수 있다.
또한, 적은 데이타량으로 간헐적인 데이타 전송을 행하기 때문에, 접속 케이블로부터 복사되는 노이즈가 적다.
버스 드라이버에 의해 데이타 통신이 제어되기 때문에, 드라이버의 갱신에 의해 커맨드의 추가, 새로운 주변 장치의 개발이 용이하다.
또한, 게임 장치와 주변 장치 상호 간에 데이타 통신을 행할 수 있게 되어 있기 때문에, 한쌍의 케이블로 음성 출력, 음성 입력, 정지 화상, 동화상 등의 멀티미디어의 데이타 전송이 가능하다.
또한, 주변 장치의 고유 정보를 게임 장치기 본체나 어플리케이션을 이용할 수 있기 때문에, 복수 접속되어 있는 주변 장치 중, 어플리케이션과 조합시켜 사용하는 주변 장치와, 상기 어플리케이션에서는 사용하지 않는 주변 장치를 구별할 수 있고, 사용하지 않는 주변 장치의 동작을 정지시키는 것이 가능하게 되어 바람직하다.
(제2 실시 형태)
개요
이하에, M 버스의 제2 패리페럴 인터페이스 규격에 대해 설명한다. 본원의 규격은, M 버스의 처리 전체 중에서 호스트용 MIE와 M 버스 드라이버와의 인터페이스 사양, 펑션과 MIE 컨트롤러와의 인터페이스 사양, 통신 프로토콜 사양, 데이타 포맷을 정한다.
우선, 상술한 제1 인터페이스 규격의 설명과 마찬가지의 순서에 따라, 제2 인터페이스의 물리 토플로지과 논리 토플로지로 설명한다.
(1) 물리 접속 토플로지
도 44는 제2 실시 형태의 물리 접속 토플로지를 개략적으로 나타내고 있다. 물리적인 접속 형태는 호스트-기본 디바이스(주변 장치)-확장 디바이스(주변 장치)의 형태를 취한다. 기본 디바이스는 호스트에 직접 접속되는 하드웨어(주변 장치)이다. 확장 디바이스는 기본 디바이스를 통해 호스트에 접속되는 하드웨어(주변 장치)이다. 1시스템에서는 호스트(예를 들면, 게임 장치)가 1대이다. 호스트는 주변 장치를 접속하는 포트를 최대 4개 갖는 것이 가능하다. 하나의 포트에 하나의 기본 디바이스가 접속된다. 기본 디바이스에는 외부 접속의 확장 디바이스를 최대 4개까지 접속할 수 있다. 호스트-기본 디바이스 사이는 규정된 케이블로 접속한다.
단, 이하와 같은 접속은 예정하지 않고 있다. a) 호스트로의 확장 디바이스의 직접 접속, b) 기본 디바이스로의 기본 디바이스의 접속, c) 확장 디바이스로의 기본 디바이스의 접속, d) 확장 디바이스로의 확장 디바이스의 접속. 또, 이들 기술은 본 발명을 실시예에 한정할 의도의 것은 아니다.
(2) 논리 접속 토플로지
도 45는 제2 실시 형태의 논리 접속 토플로지를 설명하는 설명도이다. 상기 도면에 도시된 바와 같이, 각 기능(기본 디바이스, 확장 디바이스의 하드웨어 상에 구성된다)과 호스트와의 논리 접속은, 호스트를 중심으로 한 소위 스타형 접속이다. 신호의 송수신 관리는 호스트가 행한다.
(레이어 구성과, 커뮤니케이션 플로우)
도 46은 호스트와 주변 장치와의 레이어 구성을 설명하는 설명도이다. 상기 도면에 도시된 바와 같이, 호스트 및 주변 장치는 상호 간의 데이타 통신을 위해 계층화된 구조를 갖는다.
상기 도면에 있어서, 기능·레이어는 주변 장치의 각 기능을 활용하여, 데이타 포맷에 따라 데이타의 송수신을 행한다. 주변 장치는 최대 3개까지의 펑션을 갖는 것이 가능하다. I/O·컨트롤·레이어는 프레임 단위에서의 데이타 송수신과, 후술하는 MIE(M 버스 I/F 엔진)를 제어한다. 버스·인터페이스·레이어는 호스트와 기본 디바이스(또는 확장 디바이스)의 물리적인 접속, 신호의 송수신을 행한다. 호스트 내의 어플리케이션과 주변 장치의 물리 펑션 사이의 데이타 취득(데이타 통신)이나 제어는 펑션 라이브러리, 버스·드라이버, 호스트용 MIE, 접속선, 기본(혹은 확장) 디바이스용 MIE, MIE 컨트롤러, 펑션을 통해 행해진다.
(주변 타입)
주변 장치는 다음과 같이 분류, 구별된다. 우선, 주변 장치는 기본 디바이스와 확장 디바이스의 두개의 디바이스 타입으로 분류된다. 또한, 기본 및 확장 디바이스는 게임 컨트롤러와 그 밖의 주변 타입으로 분류된다. 게임 컨트롤러계의 주변 타입의 장치의 예로서는, 게임 장치의 표준 구성품으로서 게임 장치에 첨부되는 표준 게임 컨트롤러, JOY-STICK, 스티어링 등을 들 수 있다. 그 밖의 주변 타입 장치의 예로서는 키보드, 마우스, GUN(모의총) 등을 들 수 있다. 확장 디바이스는 컨트롤러 확장 장치계의 주변 타입이고, 그 장치의 예로서는 음성 입력, 백업 메모리, GUN (모의총) 등이 있다. 컨트롤러계는 어떤 어플리케이션 소프트에서도 사용할 수 있도록, 표준이 되는 데이타 포맷이 결정되어 있다. 그 밖의 기본 디바이스나 확장 디바이스는 데이타 포맷이 각 디바이스에 따라 다르기 때문에, 각각의 기능마다 펑션·라이브러리가 준비된다.
(용어의 설명)
이하, 제2 실시 형태의 설명에서 사용하는 용어에 대해 설명한다. 설명의 편의상, 제1 실시 형태에 있어서의 설명과 일부 중복하고 있다. 우선, 데이타를 시계열 상으로 전개한 데이타를 「직렬 데이타」라 부른다. 직렬로 데이타의 교환을 행하는 신호선(흐름)을 「직렬 버스」라 부른다. 본원 제안의 규격에 따라, 게임 장치와 주변 장치를 접속하는 직렬 버스를 「M 버스」라 칭하도록 한다. 각각의 주변 장치에 할당되어 있는, 주변 장치의 기능을 나타내는 파라메터군을 「디바이스 ID」라 부른다. 디바이스 ID는 주변 장치의 속성이나 구비하고 있는 펑션(데이타 포맷이나 기능 요소) 등, 16 바이트(Byte)로 구성된다. 디바이스 ID는 후술하는 [Device Status] 커맨드로 얻을 수 있다.
게임 장치의 주변 장치를 접속할 수 있는 M 버스의 단자를 「포트」라 부른다. 포트의 단자는 전원 단자(VCC, GND)와 데이타선(SDCKA, SDCKB)의 4핀, 혹은 이것에 차폐선을 더한 5핀이 표준이다. 제2 실시 형태의 규격에 의한 「M 버스」에서는 최대 4포트(포트 A, 포트 B, 포트 C, 포트 D)를 지원한다.
게임 장치측을 「호스트」, 그것에 접속하는 주변 장치에 있어서 실현되는 기능을 「펑션」이라 부른다. 펑션은 제품 그 자체가 아니라, 제품이 구성하는 요소를 나타내기 때문에, 하나의 제품에 복수의 기능을 갖게 하는 것이 가능하다. 주변 장치는 펑션의 모임으로 되지만, 호스트로부터의 액세스는 주변 장치 단위로 행하고, 펑션으로의 액세스는 그 중에서 펑션 타입을 지정하여 행한다. 하나의 주변 장치로 복수의 펑션을 사용할 수 있지만, 예를 들면 제2 실시 형태의 「M 버스」에서는 최대 3개까지 사용할 수 있다.
도 47에 도시한 바와 같이, 주변 장치는 물리적으로 「기본 디바이스」와 「확장 디바이스」의 2종류로 나누어진다. 기본 디바이스는 호스트에 접속되고, 확장 디바이스를 컨트롤하는 기능을 갖는 주변 장치이다. 기본 디바이스는 확장 디바이스의 접속을 자동적으로 인식하여, 접속을 행한다. 확장 디바이스는 기본 디바이스에 접속되며, 디바이스가 없으면 동작할 수 없는 주변 장치이다. 기본 디바이스로부터 확장 디바이스로 이어지는 M 버스를, 특히 「LM 버스」라 부른다. LM 버스는 M 버스와 논리(신호)적으로는 동일하지만, 물리적으로는 다르다. 기본 디바이스는 주변 장치 중에서 주로 게임 컨트롤러계로 되고, 확장 디바이스는 게임 컨트롤러계의 확장 장치가 된다. 호스트의 포트 1에 대해 예를 들면 기본 디바이스를 하나만 접속할 수 있고, 기본 디바이스는 예를 들면 확장 디바이스를 5개까지(LM 버스도 5개까지) 관리할 수 있다.
하나의 포트로 기본 디바이스나 복수의 확장 디바이스에 직접 액세스할 수 있도록, 기본 디바이스, 확장 디바이스에 대해, 접속되어 있는 장소에서 인식 번호를 할당한다. 이 할당하는 번호를 「절대 위치 AP」라 부른다. 「M 버스」에서는, AP는 1바이트 고정으로, 다음과 같이 된다.
[최대 4포트(2bit)] × [1포트에 할당되는 최대 AP수 = 6개(6bit)] = [1바이트(8bit)]
할당되는 AP는, 후술하는 바와 같이, 접속 형태와, 기본 디바이스나, 확장 디바이스에 의해 결정된다. 기본 디바이스 및 확장 디바이스로의 액세스는, 이 AP를 사용한다.
호스트와 펑션과의 데이타의 교환은 종래와 같은 일변도가 아니라, 그 장소 그 시간에 알맞은 데이타의 송신 수신을 할 수 있도록, 어떤 결정된 명령을 이용하여 데이타의 교환을 행한다. 이 명령을 「커맨드」라 부르고, 커맨드의 데이타를 「파라메터」라 부른다. 파라메터는 송신처 디바이스의 AP, 송신원 디바이스의 AP, 데이타의 사이즈, 데이타로 구성된다. M 버스에서는 최대 254개의 기본적인 커맨드를 준비할 수 있어, 1액세스로 최대 1020바이트 데이타의 송수신이 가능하다.
포트를 통해 행해지는 데이타 통신은, 「프레임」이라는 단위로 행해진다. 도 48은 프레임의 구성예를 나타내고 있다. 1 프레임은 스타트 패턴과, 커맨드 코드와, 파라메터(송신처 AP, 송신원 AP, 데이타 사이즈, 데이타 등)와, 패리티 비트와, 엔드 패턴에 의해 구성된다. 1회의 액세스로 하나의 프레임이 송신된다. 하나의 디바이스에 대해, 1인터벌(INT) 내에서 1액세스이다. 스타트 패턴과 패리티 비트, 엔드 패턴은 MIE(후술)에서 부가된다.
도 49는 M 버스 상에 있어서의 응답과 타임아웃을 설명하는 설명도이다. 호스트가 기본 디바이스 또는 확장 디바이스에 커맨드를 송신하고, 그 커맨드에 대한 회신을 「응답」이라 부른다. 호스트는 커맨드 송신 후에, 어느 시간까지 응답을 대기하지만, 대기한 후에도 응답이 없는 상태를 「타임아웃(Time Out)」이라 부른다. 타임아웃된 기본(혹은 확장) 디바이스는 호스트로부터는 차단된 것으로서 인식된다. 또한, 기본(혹은 확장) 디바이스는 수신시에 타임아웃되었을 경우에는 소프트 리셋을 행한다. 타임아웃까지의 시간(응답 시간)은 예를 들면 1.0mS이다.
도 49에 있어서, 1)의 경우는 기본(혹은 확장) 디바이스로부터의 응답이 응답 시간 내에 있으므로 정상이다. 2)의 경우는 응답이 없으므로 타임아웃이 된다. 3)의 경우는 응답이 응답 시간 내에 없으므로 타임아웃이 된다. 4)의 경우는, 송신 데이타의 도중의 간격이 응답 시간을 초과하고 있으므로, 타임아웃이 된다. 타임아웃된 주변 장치가 접속되어 있는 포트에는 하드 리셋이 행해진다.
컨트롤러의 기능을 확장하기 위한 확장 장치를 접속하는 장소를 「확장 소켓」이라 부른다. 확장 소켓에는 확장 디바이스가 접속된다. 「M 버스」에서는 확장 소켓의 수를 최대 4개까지 갖는 것이 가능하다. 이것은, 확장 소켓과 LM 버스와의 대응을 후술하는 2개의 ID선의 논리에 의해 행하기 때문이다. LM 버스의 수와 확장 소켓의 수는 반드시 동일할 필요는 없다.
데이타를 M 버스용의 직렬 데이타로 변환하고, M 버스 상에서 송수신할 수 있도록 하는 회로를 「MIE (M 버스 I/F 엔진)」라 부른다. M 버스 규격의 장치는 전부 이 MIE를 갖는다. 호스트에는 호스트용 MIE, 기본 디바이스에는 기본 디바이스용 MIE, 확장 디바이스에는 확장 디바이스용 MIE를 내장한다. MIE는 데이타 변환만이므로 프레임내의 데이타 추출은, 호스트는 M 버스 드라이버(후술), 디바이스는 MIE 컨트롤러라 불리는 소프트웨어(팜웨어)로 행한다.
호스트가 주변 장치에 액세스하기 위해서는, 주변 장치(기본 디바이스, 확장 디바이스)를 컨트롤하는 소프트웨어「M 버스 드라이버」와 「펑션·라이브러리」를 통해 행한다. M 버스 드라이버는 프레임의 제어와 관리를 행하고, 각 주변 장치(펑션)로의 커맨드에 의한 제어와 파라메터(데이타 포맷)의 관리는 펑션·라이브러리에서 행한다. M 버스 드라이버는 모든 주변 장치에 대해 한 종류 뿐이고, 펑션·라이브러리는 각 펑션마다 대응한다. 하나의 주변 장치에 대해 디바이스 ID로 표시되는 펑션·라이브러리를 3개까지 사용할 수 있다.
「M 버스」에 있어서, 모든 기본 디바이스와 확장 디바이스는 소정 포맷에 따른 자신에게 특유의 정보를 기록하고 있다.
이 기본 디바이스와 확장 디바이스의 정보를 「디바이스 스테이터스」라 부른다. 디바이스 스테이터스는, 관리 데이타로서 제품명, 디바이스 ID, 라이센스, 모델 번호, 제조 로트, 상품 등을 보낼 곳 등을, 전기 데이타로서 스탠바이 소비 전류, 최대 소비 전류 등을 기록한다. 디바이스 스테이터스는 디바이스·라이브러리 및 어플리케이션 소프트에서 관리 활용된다. 예를 들면, 제품명, 라이센스 정보에 의한 부정한 복사 제품의 배제 최대 소비 전류의 정보에 의한 포트 전체의 전류 제어 등이 가능해진다.
(데이타 전송 패턴)
M 버스 상의 물리적인 데이타 전송에 대해 설명한다. 이 데이타 전송에는 제1 실시 형태와 동일한 형식이 사용된다. 즉, 데이타 전송은 동기 직렬 방식으로 행해진다. 전원을 공급하는 라인측선 Vcc, 접지선 GND, SDCKA 신호를 전송하는 데이타선 SDCKA(양방향) 및 SDCKB 신호를 전송하는 데이타선 SDCKB(양방향)의 계 4선이 존재한다. 데이타의 쌍방향 통신은 반이중, 전송 레이트는 예를 들면 최대 2Mbps이다. 또, 필요에 따라 신호의 차폐선을 추가할 수 있다.
(전송 원리)
도 50은 SDCKA, SDCKB에 의한 데이타 패턴을 나타내고 있다. 직렬 데이타 클럭 A(SDCKA) 및 상기 B(SDCKB)로 전송되는 신호는 투과 데이타 전송 시에 반드시 하강 에지가 교대로 존재하도록 형성된다. 수신측에서는 한쪽 신호의 하강 에지(혹은 상승 에지)에 의해 다른쪽의 신호를 래치하고, 래치한 신호 레벨을 디지탈 데이타로서 복조한다. 데이타는 MSB부터 전송되어, 개시 위치에서는 SDCKA를 클럭 정보, SDCKB를 데이타 정보로서 행해진다.
(SDCKA, SDCKB에 의한 정보 패턴)
도 51은 동기 패턴의 예를 나타내고 있다. 동기 패턴은, 스타트(START) 패턴과 엔드(END) 패턴을 포함한다. 스타트 패턴은, 데이타 패턴에 앞서 전송되는 동기 패턴이다. 수신측은 SDCKA의 하강으로부터 상승까지의 사이에 SDCKB의 하강(혹은 상승) 에지를 4회(4개의 부의 펄스) 검출하면, 이후의 패턴을 데이타 패턴이라 해석한다. 수신측은 SDCKB의 하강으로부터 상승까지의 사이에 SDCKA의 하강(혹은 상승) 에지를 2회(2개의 부의 펄스) 검출하면, 데이타 패턴의 종료를 확인하여 정상 종료라 판단한다.
(SDCKB 점유 허가 패턴(라이트건))
도 52는, SDCKB 점유 허가 패턴의 예를 나타내고 있다. 수신측은 SDCKA의 하강으로부터 상승까지의 사이에 SDCKB의 하강 에지를 8회(8개의 부의 펄스) 검출했을 경우, 다음 SDCKA의 하강으로부터 상승까지의 사이에 SDCKB를 점유할 수 있다. SDCKA의 상승 에지에 의해 SDCKB의 점유를 해제해야만 한다. 이 패턴은, 예를 들면 슈팅 게임의 광선총에 이용된다.
(리셋 패턴)
도 53은 리셋 패턴의 예를 나타내고 있다. 수신측은 SDCKA의 하강으로부터 상승까지의 사이에 SDCKB의 하강 에지를 14회(14개의 부의 펄스) 검출했을 경우, 송신측으로부터의 리셋 요구로 해석하여, 리셋을 행한다.
(전송 포맷)
도 54는 전송 포맷의 예를 나타내고 있다. 데이타 전송은 프레임 단위(최소 단위)로 행해진다. 프레임의 내용은, 데이타 전송의 개시를 나타내는 스타트 패턴으로부터 시작되고, 최대 1024바이트 길이의 데이타 패턴, 패리티, 그리고 엔드 패턴으로 구성된다. 패리티는 8비트의 수평 방향으로 하고, 송신시에 하드웨어에서 자동적으로 부가되며, 수신시에는 삭제된다.
(프로토콜)
호스트와 주변 장치와의 통신 프로토콜에 대해 설명한다. 커맨드는 [커맨드명]이라 적고, 상세는 후술한다.
도 55는 프로토콜의 개요를 설명하는 설명도이다. 우선, 일련의 흐름에 있어서의 커맨드 송신의 우선권은 호스트에 있다. 이 때문에, 당초 주변 장치(기본 혹은 확장 디바이스)는 커맨드 대기 상태에 있다. 주변 장치와 호스트와의 통신은 전부 상술한 프레임 단위로 행해진다. 호스트는 어플리케이션 프로그램을 실행하여 주변 장치에 대한 커맨드를 발생한다. 이 커맨드는 프레임 데이타로서 M 버스를 통해 주변 장치로 송신된다. 프레임 내의 커맨드와 파라메터로서 주변 장치에 지시가 행해진다. 프레임 내의 송신처 AP에 해당하는 주변 장치는 프레임 데이타를 수신하면 그것에 응답한다. 즉, 주변 장치는 대응하는 커맨드를 생성하고, 프레임 데이타를 형성하며, 이것을 M 버스를 통해 호스트로 송신한다. 그 후, 주변 장치는 다음 데이타의 대기 상태가 된다. 호스트는 주변 장치로부터의 프레임 데이타를 수취하고, 커맨드(회신)를 추출한다. 이 커맨드를 어플리케이션으로 돌려 보낸다. 어플리케이션은 커맨드로 반신된 정보를 이용하여 다음 액션을 행한다. 이러한 순서를 반복하여, 호스트와 주변 장치와의 데이타 통신이 행해진다. 도 56의 (a)는 M 버스, LM 버스 상에 있어서의 이와 같은 호스트와 복수의 주변 장치와의 간헐적인 데이타 통신의 모습을 나타내고 있다. 또한, 도 56의 (b)는 하나의 송신 프레임에서는 송신하여야 할 데이타를 전부 보낼 수 없을 경우에, 데이타를 분할하여, 복수의 송신 프레임으로 긴 데이타를 간헐적으로 송신하는 예를 나타내고 있다(후술의 도 70 참조).
상술한 데이타 통신에 있어서는, 이하에 설명하는 바와 같은 특징이 있다. 호스트는 기본 디바이스와 확장 디바이스에 직접 동일 프로토콜로 액세스할 수 있어, 도중에 데이타 변환 등은 불필요하다. 액세스에 필요한 AP의 데이타는 접속한 호스트의 포트, 기본 디바이스, 확장 소켓에 의해 결정된다. 기본 디바이스에 액세스하면, 그 기본 디바이스의 확장 디바이스의 접속 상태를 확인할 수 있다. 호스트가 동작 상태이더라도 주변 장치는 접속과 차단이 가능하다. 호스트는, 주변 장치에 대해 그 장치의 정보를 얻기 위해, 디바이스 스테이터스를 요구한다. 요구하지 않으면, 주변 장치는 동작을 개시하지 않고 스탠바이 상태인 채로 대기한다. 주변 장치의 리셋에는 2종류가 있다. 후술되는 소프트 리셋(리셋 커맨드)와 하드 리셋(리셋 패턴)이다. 소프트 리셋은 포트에 접속되어 있는 특정한 주변 장치만을 리셋한다. 하드 리셋은 주변 장치 전부의 리셋을 행한다. 데이타 전송은 최대 1024바이트의 프레임 단위로 행해진다. 하나의 주변 장치에서 최대 3개까지의 펑션을 사용할 수 있고, 펑션으로는 각각의 펑션 타입을 지정하여 액세스한다. 하나의 펑션으로는 1 인터벌 INT 내에 최대 1회의 액세스이고, 데이타는 1액세스로 1프레임이다. 하나의 포트에 대해 연속하여 액세스는 하지 않는다. 이들 특징의 실현에 대해서는 후술한다.
(프레임 데이타)
하나의 펑션에는 1인터벌 INT 기간 중에 최대 1회 액세스할 수 있고, 1액세스로 전송하는 데이타는 송신 1프레임, 수신 1프레임이다. 이미 설명한 도 54는 프레임 데이타의 예를 나타내고 있고, 1프레임은 스타트 패턴, 데이타 패턴, 패리티 비트, 엔드 패턴으로 구성된다.
스타트 패턴, 패리티 비트, 엔드 패턴은 데이타 전송 패턴으로 규정되어 있는 패턴으로, MIE에서 자동적으로 처리된다. 프레임 중인 데이타 패턴은 4바이트 단위로 구성되며, 최소 4바이트 내지 최대 1024바이트이다. 최소값인 4바이트에서는 커맨드 코드, 송신처 AP, 송신원 AP, 데이타 사이즈(=00h)만으로 이루어진다. 커맨드 코드는 송신처의 장치에 지시할 커맨드의 코드를 지정한다. 송신처 AP는 프레임의 송부처 장치의 AP를 지정한다. 즉, 호스트는 기본 디바이스 및 확장 디바이스의 AP를, 기본 디바이스 및 확장 디바이스는 호스트의 포트의 AP를 지정한다. 송신원 AP는 자기 자신의 AP를 지정한다. 데이타 사이즈는 송신 데이타의 사이즈를 4바이트 단위로 지정한다. 데이타는 송신할 데이타(데이타 포맷 등)로서, 4바이트 단위로 저장한다.
(커맨드 코드)
커맨드 코드는 1바이트로 구성되며, 커맨드의 코드를 저장한다.
커맨드 코드의 구성
비트 7 6 5 4 3 2 1 0
데이타 COM7 COM6 COM5 COM4 COM3 COM2 COM1 COM0
여기서, COM0∼COM7은 커맨드 코드이다. 커맨드 코드는 01h로부터 FEh의 범위로 지정한다. 각종 커맨드 코드에 대해서는 후술한다.
또, 표를 참조하여 설명되는 데이타는, 특별히 도시하지는 않았지만, 내부의 메모리나 레지스터 등의 적절한 장소에 보유되는 것이다.(절대 위치 AP)
다음에, AP에 대해 설명한다. AP에는 기본 및 확장 디바이스 자신의 AP와, 데이타의 송신처를 나타내는 AP(송신처 AP)와, 데이타의 발신원을 나타내는 AP(송신원 AP)의 3종류의 AP가 있다. 기본 혹은 확장 디바이스의 AP는 디바이스 자신의 AP이고, 호스트로부터 송신된 프레임의 송신처 AP와 비교하여, 호스트로부터의 데이타가 자신측의 데이타인지의 여부를 판별하기 위해 사용된다. 디바이스의 송신원 AP는 기본 혹은 확장 디바이스가 호스트로 데이타를 회신할 때에 프레임의 3바이트째에 기록되는 데이타이다(도 48). 송신된 데이타가 어떤 디바이스로부터 보내졌는지를 호스트에게 알린다. 디바이스의 송신원 AP는 하위의 5비트가 그 쪽 LM 버스의 접속 상태를 나타낸다. 호스트는 기본 디바이스에 액세스하고, 그 회신 커맨드(기본 디바이스로부터의 프레임)의 송신원 AP를 보면, 기본 디바이스의 어떤 LM 버스에 확장 디바이스가 접속되어 있는지를 알 수 있다. AP의 값은 후술하는 도 57에 도시한 바와 같이, 포트, 기본 디바이스, 확장 디바이스의 접속 형태에 따라 결정된다(소켓 No. 고정 방식).
(AP의 비트 구성)
표 2는 내부 레지스터에 보유되는 AP의 비트 구성을 나타내고 있다. AP는 1바이트(8비트)로 구성된다. AP의 제7 및 제6 비트는 기본 디바이스가 접속되는 호스트의 입출력 포트를 지정하는 포트 설정 비트 PO1및 PO0이다. AP의 제5 비트는 기본 디바이스인지 확장 디바이스인지를 나타내는 기본 디바이스/확장 디바이스 설정 비트 D/E이다. AP의 제4∼제0 비트는 LM 버스의 번호를 지정하는 LM 버스 설정 비트 LM4∼LM0이다.
AP의 구성
비트 7 6 5 4 3 2 1 0
데이타 PO1 PO0 D/E LM4 LM3 LM2 LM1 LM0
포트 설정 비트 PO0, PO1의 사용예를 표 3에 나타낸다. 포트 설정 비트 PO0및 PO12비트에 의해 포트 A∼포트 D 중 어느 하나의 포트가 지정된다.
포트 설정 비트
선택 포트 PO1 PO0
포트 A 0 0
포트 B 0 1
포트 C 1 0
포트 D 1 1
기본 디바이스/확장 디바이스 설정 비트는, 표 4에 나타낸 바와 같이 AP가 기본 디바이스 지정일 경우에는 「1」, 확장 디바이스 지정일 경우에는 「0」, 포트 지정일 경우에는 「0」이다.
기본 디바이스/확장 디바이스
설정 비트
설정 디바이스 D/E
기본 디바이스 1
확장 디바이스 0
포트 0
LM 버스 설정 비트 LM4∼LM0는 표 5에 나타낸 바와 같이 된다. AP가 기본 디바이스 혹은 포트를 지정할 경우에는, LM4∼LM0가 전부「0」으로 된다. LM 버스에 확장 디바이스가 접속되어 있을 때, 혹은 확장 디바이스에 액세스할 때, 해당하는 LM 버스의 설정 비트 LMn에 「1」이 설정된다. 또한, 미접속 상태일 때는, 해당하는 LM 버스의 설정 비트 LMn에 「0」이 설정된다. 확장 디바이스에 액세스할 경우에는, 액세스하는 확장 디바이스의 LM 버스 번호의 설정 비트만을 「1」로 한다.
LM-Bus No. 설정 비트
전송처 LM4 LM3 LM2 LM1 LM0
기본 디바이스 0 0 0 0 0
확장 디바이스 하기 표
포트 0 0 0 0 0
LM-Bus No. 설정 비트 억세스 or 접속 상태 미접속 상태
No.1 LM0 1 0
No.2 LM1 1 0
No.3 LM2 1 0
No.4 LM3 1 0
No.5 LM4 1 0
기기본 디바이스로부터의 응답시의 송신원 AP는 기본 디바이스의 AP와, 각각의 LM 버스 상의 확장 디바이스의 접속 상태의 설정 비트를 자동적으로 OR로 조합시킨다.
예를 들면, 호스트가 포트 A(00h)로부터 기본 디바이스에 액세스할 경우에는, 송신처 AP='00100000'(20h), 송신원 AP='00000000'(00h) 이 된다. 여기서, h는 16진수 표시를 의미한다. 포트 A의 기본 디바이스의 응답은, 기본 디바이스에 확장 디바이스가 LM 버스 No. 1과 3에 접속되어 있을 경우, 송신처 AP='00000000'(00h), 송신원 AP='00100101'(25h)로 된다. 송신원 AP는 기본 디바이스의 AP='00100000'에 확장 디바이스의 접속 상태(LM0, LM2=1)가 충족되어(OR되어) 있다.
다음에, 호스트가 포트 B로부터 LM 버스 No. 1에 접속된 확장 디바이스에 액세스할 경우에는, 송신처 AP='01000001'(41h), 송신원 AP='01000000'(40h)으로 된다. LM 버스 No. 1에 접속된 확장 디바이스로부터의 응답은, 송신처 AP='01000000'(40h), 송신원 AP='01000001'(41h)로 된다.
도 57에는 호스트로부터 액세스할 때의 기본 디바이스, 확장 디바이스의 AP 일람(16진수 표현)이 도시되어 있다. 기본 디바이스의 응답시의 송신원 AP는 기본 디바이스 자신의 AP와, 접속되어 있는 확장 디바이스의 AP값의 총합(모든 OR)의 값으로 된다. 따라서, 기본 디바이스의 송신원 AP에는 확장 디바이스의 접속 정보를 포함한다. 호스트는 기본 디바이스의 송신원 AP로부터 확장 디바이스의 접속을 알 수 있다.
(기본 디바이스 AP의 초기 설정의 순서)
다음에, AP의 초기 설정 순서에 대해 설명한다. 게임을 행하는 사람은 기본 디바이스를 호스트의 임의의 포트에 접속할 수 있고, 또한 확장 디바이스를 기본 디바이스의 임의의 LM 버스에 접속할 수 있다. 이 때문에, 게임의 개시에 앞서, 호스트는 호스트의 각 포트에의 기본 디바이스, 확장 디바이스의 접속의 유무와, 각 디바이스의 AP를 아는 것이 필요해진다. 그래서, 기본 디바이스의 AP의 초기 설정 순서에 대해, 도 58의 플로우차트를 참조하여 설명한다.
상기 도면은, 호스트의 포트 A에 기본 디바이스가 접속되고, 이 기본 디바이스의 LM 버스의 No. 1 및 2에 확장 디바이스가 접속되어 있는 경우를 일례로서 설명하는 것이다. 상기 도면에는, 호스트의 동작과 기본 디바이스의 CPU의 동작이나타나 있다.
우선, 호스트, 기본 디바이스, 확장 디바이스 상호 간이 통신선에 의해 접속되고, 각 장치에 전원이 투입되면, 각 장치에 있어서, 도시하지 않은 ROM으로부터 CPU로 초기 프로그램이 부팅된다. 또, 후술하는 도 64에는 기본 디바이스용 MIE가, 도 66에는 확장 디바이스의 MIE가 설명되어 있다. 이 프로그램에 따라 기본 디바이스(의 CPU)는 후술하는 인터페이스의 레지스터와 포트를 초기화한다(S22, S24). 그 후, 기본 디바이스 자신의 AP를 생성한다. 이 경우, AP는 자신의 디바이스이기 때문에, AP의 비트 5만이 '1'로 되어 '--100000'으로 된다. 여기서, '-'는 미정의 값을 나타낸다(S26).
다음에, 기본 디바이스가 LM 버스 NO. 5를 구비하는지의 여부를 조사한다. LM 버스 No. 5는 다른 LM 버스와는 달리, 버스 접속이나 논리적인 접속이다. 이것은, 기본 디바이스에 확장 디바이스를 내장하고, 혹은 기본 디바이스와 확장 디바이스를 조합시켜 사용한다고 하는, 기본 디바이스 자신의 기능 확장으로서의 사용이 예정되어 있기 때문이다. 예를 들면, 진동 기능 부가 게임 컨트롤러를 작성할 경우, 게임 컨트롤러를 기본 디바이스로 하고, 이것에 진동부를 LM 버스 No. 5를 통해 접속함으로써 전체적으로 진동부 부착 게임 컨트롤러를 실현한다. 이 No. 5 버스의 유무는, 기본 디바이스의 CPU에는 이미 알려져(ROM 등에 정보가 기록되어 있다)있고, 컨피그레이션 등은 특별히 필요로 하지 않는다. 이 설명의 예에서는, LM 버스 No. 5는 없는 것으로 한다(S28).
다음에, 기본 디바이스의 CPU는 외부 소켓의 LM 버스의 설정을 행한다. 도 64에 도시한 바와 같이, 기본 디바이스는 I/O부로부터 각 LM 버스의 소켓의 특정 단자, 예를 들면 단자 ID0, ID1에, 상기 LM 버스의 번호에 대응한 전압값의 조합을 발생한다. 기본 디바이스가 설정하는 각 LM 버스의 단자 ID0, ID1로의 출력 논리의 예를 표 6에 나타낸다(S30).
ID0 ID1 LM-Bus No. 소켓 No.
0 0 1 1
1 0 2 2
0 1 3 3
1 1 4 4
기본 디바이스는, LM 버스 No.1 소켓 단자 ID0, ID1에는 각각 「0」,「0」을, LM 버스 No.2의 소켓의 단자 ID0, ID1에는 각각 「1」, 「0」을 출력한다. 이 논리 출력 전압은 LM 버스, I/O 포트를 통해 확장 디바이스에 제공된다. 확장 디바이스는 기본 디바이스로부터의 논리 출력의 값을 보고, 자신이 어떤 LM 버스(확장 소켓)에 접속되었는지를 알 수 있다(S32).
기본 디바이스는, 각 LM 버스의 소켓이 특별히 고려된 특정한 단자, 예를 들면 단자 ID2의 논리 레벨을 판독한다. 단자 ID2는 풀다운용 저항을 통해 접지되어 있고, 이 소켓에 확장 디바이스가 접속되면, 확장 디바이스측으로부터 전압 Vcc가 인가되도록 이루어져 있다. 그 결과, 당해 소켓에 확장 디바이스가 접속되어 있을 경우에는, 단자 ID2의 논리 레벨은 「1」로 된다. 또한, 확장 디바이스가 접속되어 있지 않는 경우에는 단자 ID2의 논리 레벨이 「0」으로 된다. 기본 디바이스는 LM 버스로 출력한 ID0, ID1에 대응한 ID2의 논리 레벨을 판별함으로써, 상기 단자 ID0, ID2로의 논리 출력으로 나타낸 LM 버스 No.의 접속 혹은 미접속을 판별할 수 있다. 반복하면, 단자 ID2는 확장 디바이스의 접속 확인용으로서, ID2가 「0」이면 미접속, 「1」이면 접속을 나타낸다. 이 예에서는, LM 버스 No. 1의 ID2와 LM 버스 No. 2의 ID2가 「1」로 된다 (S34).
또, 소켓의 단자 ID0, ID1의 논리 출력은 일정한 조건 하에서, 기본 디바이스로부터 확장 디바이스로의 리셋 신호로서도 기능한다. 예를 들면, 기본 디바이스가, 확장 디바이스로의 출력 ID0, ID1을 반전시키면, 확장 디바이스로의 동작 정지 신호로 되고, 확장 디바이스는 동작을 정지한다. 예를 들면, ID0, ID1='00'일 때, ID0, ID1='11'로 반전하면, 확장 디바이스는 처리를 정지한다. 또한, 기본 디바이스가 출력 ID0, ID1을 반전시키고, 또 출력 ID0, ID1을 반전시켜 원래대로 복귀하면, 확장 디바이스로의 리셋 신호가 되어, 확장 디바이스는 리셋한다. 예를 들면, 기본 디바이스가, ID0, ID1= '00'일 때, ID0, ID1= '11'(정지 신호)를 출력하여 확장 디바이스를 정지시키고, 그 후 기본 디바이스가 리셋한다. 기본 디바이스가 복귀된 후, ID0, ID1= '00'(리셋 신호)으로 하면(원래대로 복귀), 확장 디바이스는 리셋한다. 리셋 후에는 후술하는 소프트 리셋 후와 동일한 상태가 된다.
다음에, 기본 디바이스는 기본 디바이스로부터 송신할 때의 송신원 AP를 생성한다. 기본 디바이스의 AP와 단자 ID2의 상태로부터 송신원 AP는, '--1xxxxx'로 된다. 비트 0∼4의 'x'는 LM 버스의 접속 상태에서 「0」이나「1」로 된다. 이 예에서는, 송신원 AP는 LM 버스 No. 1과 2만으로 접속되어 있기 때문에, '--100011'로 된다(S36).
기본 디바이스는, 호스트로부터 보내지는 커맨드의 일종인 디바이스 리퀘스트[Device Request]의 수신을 대기한다. 기본 디바이스는 디바이스 리퀘스트[Device Request] 이외에는 대기 상태 그대로, 스텝 34로부터의 처리를 반복한다(S38; 아니오). 본 예에서는, 호스트의 포트 A에 기본 디바이스가 접속되어 있다. 이 기본 디바이스로의 호스트로부터의 송신처 AP는 포트 A의 기본 디바이스를 지정하는 '00100000'이 된다. 제5 비트의 「1」이 기본 디바이스의 지정을, 제6 및 제7 비트의 「00」이 포트 A의 지정을 나타낸다.
한편, 호스트는 포트 A에서 D로 기본 디바이스 및 확장 디바이스(주변 장치)에 접속되었는지의 여부를 알기 위해, 각 포트에 순차 커맨드[Device Request]를 보내고 기본 디바이스의 응답을 대기한다(H22). 호스트로부터 포트 A의 기본 디바이스로 커맨드[Device Request]가 보내지면(S38; 예), 기본 디바이스는 그 수신 프레임의 송신원 AP를 판독하고, 그 제6 및 제7 비트로부터 자신이 접속되어 있는 포트 No.를 취득한다. 본 예에서는, 포트 A이므로 '0'이다(S40).
기본 디바이스는 스텝 S26에서, 앞에서 형성한 하위 6비트와 포트의 상위 2비트에 의해, 기본 디바이스 자신의 AP(8비트)를 완성한다(S42). 즉, 취득한 포트 A의 '00'(제6 및 제7 비트)과, 기본 디바이스가 앞에서 형성한 AP='--100000'(제0 비트∼제5 비트)을 조합시켜, 기본 디바이스 자신의 AP='00100000'(16진수 표시로 20h)를 완성한다.
다음에, 기본 디바이스는 송신 프레임의 송신원 AP를 완성시킨다. 먼저, 스텝 S36에 있어서, 하위 6bit만이 완성되어 있던 송신원 AP에, 포트의 bit를 상위에 부가한다. 이 예에서는, 송신원 AP='--100011'에 포트의 bit '00'을 부가하여, 송신원 AP는 '00100011'로 된다(S44). 이 송신원 AP의 코드를 보면, 포트 A에 기본 디바이스가 접속되고, 그 기본 디바이스의 LM 버스 No. 1 및 2에 확장 디바이스가 접속되어 있는 것을 알 수 있다.
기본 디바이스는 디바이스 리퀘스트[Device Request]에 대해 회신하도록, 송신 프레임을 작성한다(S46). 기본 디바이스는 커맨드, 디바이스 리퀘스트[Device Request]에 대응한 회신 커맨드의 디바이스 스테이터스[Device Status]를 준비한다. 송신처 AP는 포트 A를 나타내는 '00000000', 송신원 AP는 상술한 '00100011'로 된다.
기본 디바이스는 디바이스 스테이터스[Device Status]를 포함하는 송신 프레임을 송출하고, 호스트에 커맨드를 회신한다(S48). 이 후, 기본 디바이스의 AP는 차단되지 않는 한, '00100000'으로 된다. 기본 디바이스는 항상 LM 버스의 소켓의 단자 ID2의 상태를 감시한다. 그리고, LM 버스로의 확장 디바이스의 접속 상태가 변하면 송신원 AP의 비트를 변화시켜, 확장 디바이스의 접속 상태에 대응한 송신원 AP를 보유한다.
호스트는 기본 디바이스로부터의 송신 프레임을 수신하고, 포트 A로의 기본 디바이스의 접속과, 그 LM 버스 No. 1 및 2로의 확장 디바이스의 접속을 알 수 있다(H24). 호스트는 기본 디바이스에 액세스하는 것만으로 그 기본 디바이스에 접속된 확장 디바이스의 존재를 알 수 있다. 또한, 후술하는 바와 같이, 호스트는 커맨드, 디바이스 스테이터스[Device Status]에 의해 포트에 접속되어 있는 기본 디바이스의 내용(주변 장치의 종류 등)을 알 수 있다.
또, 상술한 AP의 설정에 있어서는, 기본 디바이스에 확장 디바이스를 접속하는 소켓 No.를 고정하여, 각 소켓으로의 확장 디바이스의 접속의 유무를 확인하고 있다(소켓 No. (LM 버스 No.) 고정 방식). 즉, 기본 디바이스는 (a) 기본 디바이스 자신의 초기화 후에, 먼저 LM 버스(소켓) No.에 대응하는 ID0, ID1의 설정을 행하고, (b) 그 후, 각 소켓의 ID2의 논리 레벨을 보고, 각 LM 버스로의 확장 디바이스의 접속의 유무를 판별하고 있다. 그리고, (c) ID2의 접속 정보로 어떤 번호의 LM 버스에 확장 디바이스가 접속되었는지를 알았으므로, 이 정보를 기초로 하여, 송신 프레임의 송신원 AP의 하위 6비트를 작성한다. (d) 호스트로부터 수신한 프레임의 송신원 AP로부터 기본 디바이스가 접속된 호스트의 접속 포트의 정보를 얻고, 기본 디바이스의 송신원 AP의 상위 2비트를 추가하여 송신원 AP를 완성한다.
이것에 대해, 기본 디바이스가 먼저 ID2의 체크를 행하여 사용되는 LM 버스를 파악하고, 사용되는 LM 버스에 LM 버스 No. 을 할당하는 것으로 하여도 된다(소켓 No. (LM 버스 No.) 할당 방식). 즉, 기본 디바이스는 (a) 기본 디바이스 자신의 초기화 후, ID2의 논리를 보고, 그 LM 버스로의 확장 디바이스의 접속의 유무를 판별한다. (b) 다음에, 단자 ID2에서 접속을 판별한 LM 버스에 ID0, ID1을 할당한다. 할당이 중복되지 않도록 No.가 작은 순으로 할당한다. 이 ID0, ID1과 LM 버스 No. 의 예를 표 7에 나타낸다. 접속 상태에 변화가 없는 LM 버스는 앞의 상태의 번호를 유지한다.
ID0 ID1 LM-Bus No.
0 0 1
0 1 2
1 0 3
1 1 4
그리고, 기본 디바이스는 (c) ID2와, ID0, ID1의 정보에 기초하여, 송신할 때의 송신원 AP의 하위 6비트를 작성한다. (d) 호스트로부터 수신한 프레임의 송신원 AP로부터 기본 디바이스가 접속된 호스트의 접속 포트의 정보를 얻고, 기본 디바이스의 송신원 AP의 상위 2비트를 추가하여 송신원 AP를 완성한다.
기본 디바이스가 일단 송신원 AP를 확립한 후에, 호스트로부터 송신원 AP를 갱신하여야 할 지령을 받은 경우, 소켓 No. 고정 방식에서는 이미 각 소켓에 ID0, ID1이 대응되어 있으므로, AP의 갱신을 위한 기본 디바이스의 처리는 상기 (b) 이후를 행한다. 소켓 No. 할당 방식에서는 소켓 No.가 변동하기 때문에, AP의 갱신을 위한 기본 디바이스의 처리는 상기 (a) 이후를 행한다.
(확장 디바이스 AP의 초기 설정 순서)
도 59의 플로우차트를 참조하여 확장 디바이스의 AP의 초기 설정 순서에 대해 설명한다. 상기 도면에 있어서는, 호스트, 기본 디바이스, 확장 디바이스의 각 동작이 병행하여 도시되어 있다. 또한, 상기 도면에 있어서 도 58과 대응하는 부분에는 동일 스텝 번호를 붙이고, 이러한 부분의 설명은 생략한다. 이 예에서는, 호스트의 포트 B에 기본 디바이스가 접속되고, 또한 상기 기본 디바이스의 LM 버스의 No. 2에 확장 디바이스가 접속되는 것으로 하여 설명한다.
우선, 호스트, 기본 디바이스, 확장 디바이스가 상호 접속되고, 각 장치로 전원이 공급된다(K22). 또, 후술하는 도 64에 의해 기본 디바이스용 MIE가, 도 66에 의해 확장 디바이스의 MIE가 설명된다. 확장 디바이스는 기본 디바이스에 접속되어 소위 파워온 리셋이 이루어지면, 내부 레지스터와 LM 버스의 포트의 초기화를 행한다(K24, K25).
확장 디바이스(의 CPU)는 제어 프로그램에 따라 LM 버스를 조사한다. 상술한 바와 같이, 각 LM 버스의 커넥터의 소정 단자, 예를 들면 단자 ID0, ID1에는 기본 디바이스(의 CPU)에 의해 LM 버스 번호에 대응한 논리 출력이 이루어져 있다. 확장 디바이스는 확장 디바이스가 접속하고 있는 LM 버스의 단자 ID0, ID1의 논리을 판독한다(K28). 본 예에서는, 확장 디바이스는 소켓(2)에 접속되었으므로, 소켓의 단자 ID1, ID0에는 ='01'의 논리 출력이 설정되어 있다. 확장 디바이스는 단자 ID0, ID1의 논리 출력과 표 6을 참조하여 LM 버스 No. 을 판별한다. 본 예에서는, ID1, ID0='01'이므로, LM 버스 No.는 「2」로 판별된다(K30).
확장 디바이스는 확장 디바이스 자신의 AP를 작성한다. 확장 디바이스는 자신이 확장 디바이스인 것을 알고 있다. 이것은, 미리 ROM에 필요한 정보를 기록함으로써, 혹은 확장 디바이스의 제어 프로그램에 직접 기록하는 것 등에 의해 이루어진다. 표 2에 나타내는 레지스터의, AP의 비트 5(디바이스/확장 디바이스 설정 비트)를 '0'으로 설정하고, 비트 0∼4(LM 버스 No. 설정 비트)가 접속되어 있는 LM 버스의 No.에 대응하여 '1'로 설정한다. 이 예에서는, LM 버스가 No.2이므로 bit1이 '1'로 설정된다. 따라서, 확장 디바이스 자신의 AP는 AP='--000010'으로 된다(K32).
다음에, 확장 디바이스는 확장 디바이스의 송신원 AP를 작성한다. 확장 디바이스는 기본 디바이스와는 달리, 송신원 AP에서 접속 체크를 행하지 않기 때문에, 「송신원 AP= 확장 디바이스의 AP」로 한다. 이 예에서는, 송신원 AP=확장 디바이스의 AP='--000010'으로 된다(K34).
확장 디바이스는 호스트로부터의 자신의 AP='--000010'을 지정한 커맨드[Device Request]를 포함하는 프레임의 착신을 대기한다(K36). 커맨드[Device Request] 이외에는 대기 상태인 채, 계속 대기한다(K36; 아니오).
상술한 바와 같이, 호스트는 이미 기본 디바이스로부터 LM 버스의 접속 상황이 보고되어 있으므로(S48), 확장 디바이스가 어떤 LM 버스에 접속되어 있는지를 알고 있다(H26). 따라서, 확장 디바이스를 사용하는 어플리케이션만 확장 디바이스에 커맨드[Device Request]를 송신하여 확장 디바이스를 사용할 수 있도록 한다. 본 예에서는, 호스트가 송신하는 송신 프레임의 송신원 AP는 포트 B를 나타내는 '01000000', 송신처 AP는 확장 디바이스이고 또한 LM 버스 No.2를 지정하는 '01000010'으로 된다 (H28).
확장 디바이스는 커맨드[Device Request]를 포함하는 프레임을 수신한다(K36; 예). 그 프레임 데이타의 송신원 AP='01000000'을 판독하여, 호스트의 포트 No.를 취득한다. 본 예에서는, 포트 B이므로 '01'이다. 확장 디바이스는, 먼저 하위 6비트만이 완성되어 있는 확장 디바이스의 AP에 포트 B의 비트를 상위에 부가하여 확장 디바이스 자신의 AP를 완성시킨다. 본 예에서는, 확장 디바이스의 AP='--000010'에 포트 B의 비트 '01'을 부가한다. 확장 디바이스의 AP는 AP='01000010'로 된다.
다음에, 확장 디바이스의 송신원 AP를 완성시킨다. 먼저 하위 6비트만이 완성되어 있는 송신원 AP에 포트의 비트를 상위에 부가한다. 본 예에서는, 송신원 AP='--000010'에 포트의 비트 '01'을 부가한다. 송신원 AP는 AP='01000010'로 된다(K42). 또, 확장 디바이스의 송신원 AP는 확장 디바이스의 AP와 동일하므로 이 처리(K42)는 생략하여도 좋다.
확장 디바이스는 호스트로 회신하기 위해 송신 프레임을 작성한다(K44). 커맨드, 디바이스 리퀘스트[Device Request]에 대응한 회신 커맨드의 디바이스 스테이터스[Device Status]를 준비한다. 송신처 AP는 호스트의 포트 B의 '01000000', 송신원 AP는 '01000010'로 된다. 확장 디바이스는 호스트에 커맨드를 회신한다(K46). 커맨드, 디바이그 스테이터스[Device Status]를 송신한다. 이 후, 확장 디바이스는 전원이나 케이블이 차단되지 않는 한, 자신의 AP 및 송신원 AP='01000010'를 보유한다.
호스트는 확장 디바이스로부터 커맨드[Device Status]를 수신함으로써 접속되어 있는 확장 디바이스의 내용(주변 장치의 각종 정보)을 얻는다.
(데이타 사이즈)
송수신 프레임에 포함되는 데이타 사이즈부의 구성에 대해 설명한다. 데이타 사이즈부는 표 8에 나타낸 바와 같이 1바이트로 구성된다.
데이타 사이즈의 구성
비트 7 6 5 4 3 2 1 0
데이타 DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0
여기서, 비트 0∼비트 7의 데이타 DS0∼ DS7은 데이타 사이즈를 나타낸다. 데이타 사이즈부는 데이타의 사이즈를 최소 0바이트에서 최대 1020바이트까지 4바이트 단위로 지정한다. 이것을 표 9에 나타낸다.
데이타 사이즈
비트 7 6 5 4 3 2 1 0
지정 데이타 사이즈 DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0
0바이트 0 0 0 0 0 0 0 0
4바이트 0 0 0 0 0 0 0 1
8바이트 0 0 0 0 0 0 1 0
: : : : : : : : :
508바이트 0 1 1 1 1 1 1 1
512바이트 1 0 0 0 0 0 0 0
516바이트 1 0 0 0 0 0 0 1
: : : : : : : : :
1012바이트 1 1 1 1 1 1 0 1
1016바이트 1 1 1 1 1 1 1 0
1020바이트 1 1 1 1 1 1 1 1
(데이타)송수신 프레임에 포함되는 데이타부의 구성에 대해 설명한다. 데이타부는 전송할 데이타를 데이타 사이즈로 지정한 사이즈(4바이트 단위)로 저장한다. 데이타 내용은 기능에 따라 다르다. 예를 들면, 컨트롤러계에서는 컨트롤러의 펑션 타입, 데이타 포맷이 들어 간다. 데이타부의 구성을 표 10에 나타낸다.
데이타 구성
비트 7 6 5 4 3 2 1 0
1st데이타 D17 D16 D15 D14 D13 D12 D11 D10
2nd데이타 D27 D26 D25 D24 D23 D22 D21 D20
3rd데이타 D37 D36 D35 D34 D33 D32 D31 D30
4th데이타 D47 D46 D45 D44 D43 D42 D41 D40
: : : : : : : : :
(데이타 전송)
호스트와 주변 장치(기본 디바이스, 확장 디바이스) 사이의 데이타 통신의 개략에 대해 설명한다. 이 데이타 통신에서는, 특히 게임 장치에 적합하도록 규약으로 연구가 이루어지고 있다. 우선, 데이타 통신은 기본적으로는 호스트로부터의 요구와, 그것에 대한 주변 장치로부터의 대답의 형식으로 행해진다. 호스트로부터 주변 장치에 대한 지시, 요구는 전부 커맨드(프레임)로 행한다. 주변 장치로 커맨드(프레임)를 송신하면, 주변 장치로부터 반드시 어느 한 커맨드가 호스트로 회신된다. 송신 에러가 발생했을 경우에는, 하드웨어의 기능에 따라 에러 플래그가 설정되어, 에러 처리를 행한다.
주변 장치는 호스트와의 접속 후, 호스트로부터 주변 장치의 내용을 인식하기 위한 커맨드, 디바이스 리퀘스트[Device Request]를 수신한 후에 활성화된다. 주변 장치는, 호스트로부터의 커맨드에 대해서는, 반드시 어느 한 커맨드를 회신한다. 주변 장치(혹은 거기서 실현되는 기능)는, 예를 들면 1인터벌 INT 중에 1회의 커맨드의 수신이 가능하다.
도 60은 호스트와 주변 장치 사이의 데이타 통신을 설명하는 설명도이다. 상술한 바와 같이, 호스트, 주변 장치(기본 디바이스, 확장 디바이스) 상호 간이 접속되어 전원이 공급되면, 데이타 통신의 개시에 앞서 각각의 AP가 확립된다. 이로써, 데이타 통신에 필요한 각 장치 고유의 AP, 송신원 AP, 송신처 AP를 얻을 수 있다.
호스트의 CPU가 어플리케이션을 실행함으로써, 주변 장치로의 액세스가 필요해진다. 어플리케이션이 출력한 송신 데이타, 송신 커맨드는 호스트 MIE의 라이트(기록) 버퍼, 커맨드 레지스터에 기록된다. 송신 데이타, 송신 커맨드는 이미 설명한 도 48에 도시된 프레임으로서 조립되어, 커맨드 대기 상태의 주변 장치로 송신된다. 주변 장치의 MIE는 프레임을 수신하면, 커맨드 및 데이타를 추출하여 주변 장치의 CPU로 제공한다. 주변 장치의 CPU는 커맨드를 해독하고 이 커맨드에 대응하는 처리를 행하여, 호스트에 회신 커맨드와 필요에 따라 회신해야 할 데이타를 얻는다. 이 데이타와 커맨드를 주변 장치의 MIE에 의해 프레임에 조립하여, 호스트로 송신한다. 그 후, 주변 장치는 다음 커맨드 대기 상태로 된다. 호스트의 MIE가 회신 프레임을 수취하면, 교신 상태를 스테이터스 레지스터에, 수신 데이타를 리드 버퍼에 기록한다. 호스트의 CPU는 양 레지스터로부터 데이타를 수취하여 어플리케이션을 속행한다. 이러한 동작을 반복하여 호스트와 주변 장치(기본 디바이스, 확장 디바이스) 사이의 데이타 통신이 행해진다.
또, 호스트의 MIE와 주변 장치의 MIE 상호 간의 보다 구체적인 통신에 대해서는 후술한다.
하드웨어로 에러 플래그가 설정되면, 에러 처리를 행한다. 호스트의 내부 인터페이스의 상세한 내용에 대해서는 후술한다.
(전송 에러)
데이타 전송에서의 전송 에러에 대해 설명한다. 하드웨어에서 검지할 수 있는 에러에는 패리티 에러, 타임 아웃(Time Out), 데이타 오버 플로우가 포함된다. 패리티 에러는 데이타 프레임의 패리티가 일치하지 않았을 때에 검출되는 에러이다. 타임 아웃은 SDCKA, SDCKB의 라인이 일정 상태를 유지한 채로, 타임아웃 시간이 되었을 때에 검출되는 에러이다. 데이타 에러 플로우는 데이타의 양이 송수신 버퍼의 용량을 초과했을 때에 검출되는 에러이다. 이들 이외의 에러(데이타의 손상 등)은 소프트웨어로 검지한다. 프레임을 수신했을 때에 하드웨어에서 검지할 수 있는 에러가 발생했을 경우 에러 플래그 등으로 알린다.
(호스트에서의 에러 처리)
호스트에서 수신 에러가 발생한 경우, 주변 장치(기본 디바이스, 확장 디바이스)로 송신한 커맨드에 의해 재송 커맨드를 송신한다. 재송 커맨드는 최대 3회까지 송신한다. 그래도 에러가 발생하면, 미접속이나 에러 표시 등의 처리를 행한다. 재송의 횟수와 처리 방법은 어플리케이션 소프트, 라이브러리에 따라 다르다. 주변 장치로부터 보내져 온 재송 커맨드는 호스트로부터의 송신 1회당 3회까지 접수하고, 그 이상은 미접속이나 에러 표시 등의 처리를 행한다. 미접속 처리는 에러가 있는 포트에 대해 하드웨어 리셋(리셋 패턴)을 송신한다. 그 후, 필요하면 디바이스 리퀘스트[Device Request]를 행한다.
(주변 장치에서의 에러 처리)
송신 에러가 발생한 경우, 주변 장치(기본 디바이스, 확장 디바이스)는 호스트로부터의 요구에 따라 재송은 행하지만, 주변 장치의 판단에 의해 재송 등의 에러 처리는 행하지 않는다. 수신 에러가 발생했을 경우, 주변 장치는 재송 커맨드를 호스트로 송신할 수 있다. 수신 시에 타임아웃이 발생한 경우에 주변 장치는 소프트 리셋을 행한다. 타임아웃의 검지는 기본 디바이스만이 행하고, 확장 디바이스로는 기본 디바이스로부터 ID 라인을 사용하여 리셋 신호를 보낸다.
(금지 사항)
본 규격에서는, 일정한 금지 사항을 마련하고 있다. 즉, (1) 호스트에 복수의 주변 장치(기본 디바이스, 확장 디바이스)가 접속된 상태에서, 주변 장치에서 주변 장치로의 직접 액세스는 금지한다. 원칙적으로 호스트를 통해야만 한다. (2) 주변 장치는 호스트만이 발행할 수 있는 커맨드를 사용하는 것은 허용되지 않는다. (3) 동일한 포트에 대해 연속하여 액세스하면 안된다.
단, 이들 금지 사항은, 실시예의 규격에 있어서의 예시적인 것으로, 본 발명의 범위를 감축하거나 발명의 응용을 한정할 의도의 것은 아니다. 이들 금지 사항을 허용하는 별도의 규격에 의한 데이타 통신을 행하는 것은 물론 가능하다.
(주변 장치의 접속과 차단)
호스트에서의 주변 장치(기본 디바이스, 확장 디바이스)의 접속과 차단의 판단 처리에 대해 설명한다. 이 판단 처리를 위해, 호스트는 각 포트의 주변 장치에 대해 커맨드, 디바이스 리퀘스트[Device Request]를 송신한다. 먼저 설명된 바와 같이, 호스트와 주변 장치의 접속 후에 전원이 공급되면, 호스트, 기본 디바이스, 확장 디바이스 각각에 대한 AP 확립의 순서가 실행된다. 따라서, 본 판단 처리 전에 송신처의 주변 장치의 AP는 각 포트로 결정되어 있다. 디바이스 리퀘스트 [Device Request]를 송신하는 간격은 바람직하게는 인터벌(INT) 마다이다. 주변 장치로부터 회신이 있었을 경우에는, 이 후 커맨드의 디바이스 리퀘스트[Device Request]를 송신할 필요는 없다. 또, 당연히 어플리케이션 소프트가 사용하지 않은 포트에 대해서는 호스트가 커맨드의 디바이스 리퀘스트[Device Request]를 송신할 필요는 없다.
(기본 디바이스의 접속 체크)
기본 디바이스의 접속 체크에 대해 설명한다. 호스트가 어떤 포트에 커맨드의 디바이스 리퀘스트[Device Request]를 송신하고, 기본 디바이스로부터 커맨드의 디바이스 스테이터스[Device Status]가 회신되면, 호스트는 그 포트에 디바이스 스테이터스[Device Status](후술)에 기록되어 있는 기본 디바이스가 접속되어 있다고 인식한다. 기본 디바이스로부터 아무런 반응이 없는 경우(타임아웃)에는, 그 포트는 기본 디바이스가 미접속이라 판단된다. 타임아웃(Time Out)은 커맨드 송신 후, 예를 들면 1.0㎳ 동안에 회신이 없을 경우에 생긴다.
(확장 디바이스의 접속 체크)
호스트는 각각의 포트에서 기본 디바이스만으로 액세스하면, 그 기본 디바이스에 접속되어 있는 확장 디바이스의 접속 상태도 모두 기본 디바이스로부터 회신되므로(송신원 AP), 모든 확장 디바이스에 대해 기본 디바이스와 같은 접속 체크를 할 필요는 없다. 또한, 기본 디바이스에 액세스하여, 기본 디바이스로부터의 회신으로 송신원 AP에 미접속이었던 확장 디바이스의 접속 설정 비트가 “1'로 변화하고 있을 때에는, 그 설정 비트로 나타나있는 확장 디바이스가 새롭게 접속된 것을 나타내고 있다. 기본 디바이스로의 액세스 후, 확장 디바이스에 대한 접속 상태를 알 수 있으므로, 확장 디바이스에 대해서도 디바이스 리퀘스트[Device Request]를 송신하고, 응답 커맨드의 디바이스 스테이터스[Device Status]를 대기한다. 이 때, 디바이스 스테이터스[Device Status]의 회신이 없으면 타임아웃하고, 그 확장 디바이스는 미접속으로 판단된다.
(접속 체크에 대한 주변 장치의 동작)
모든 주변 장치(기본 디바이스, 확장 디바이스)는 접속한 직후에는 스탠바이 상태에서 아직 장치로서의 동작을 개시하지 않고, 자신의 AP의 하위 6비트만 얻고 있다. 각 주변 장치는 디바이스 리퀘스트[Device Request]를 수신하기 전에 다른 커맨드를 수신하여도, 호스트에 대해 아무 반응도 하지 않는다. 그 후, 주변 장치는 호스트로부터의 커맨드, 디바이스 리퀘스트[Device Request]를 수신한다. 주변 장치는 수신 프레임의 송신원 AP로부터 자신이 접속되어 있는 포트의 AP를 기억하고, 자신의 AP, 송신원 AP를 완성하여, 디바이스 리퀘스트[Device Request]로 회신하도록 동작을 개시한다.
(기본 디바이스의 차단 체크)
호스트가, 접속되어 있는 기본 디바이스(이미 포트에의 접속이 확인되어 있던 기본 디바이스)에 대해 커맨드를 송신하여, 소정 시간 경과해도 그 기본 디바이스로부터 응답이 없을 경우(타임아웃), 호스트는 그 기본 디바이스가 차단되어, 미접속이 되었다고 인식한다. 미접속의 확인은 3회까지 행하고, 그래도 미접속이면 1인터벌(1 INT) 후에 리셋 패턴을 송출한다.
(확장 디바이스의 차단 체크)
호스트는, 이미 포트에의 접속이 확인되어 있는 확장 디바이스에 대해, 커맨드를 송신하여 회신이 없는 경우(타임아웃), 그 확장 디바이스가 차단되고, 미접속 상태가 되었다고 인식한다. 미접속의 확인은 3회까지 행하고, 그래도 미접속이면 1인터벌(1INT) 후에 리셋 패턴을 송출한다.
또한, 호스트가 기본 디바이스에 액세스하여, 기본 디바이스로부터의 회신 프레임을 수신한다. 그리고, 호스트가 수신 프레임의 송신원 AP의 확장 디바이스의 접속 설정 비트가 “0'으로 변화하고 있는 것을 판별했을 때, 그 접속 설정 비트 LMn으로 표시되어 있는 확장 디바이스가 차단되고, 미접속이 되었다는 것을 알 수 있다.
(차단에 대한 주변 장치의 동작)
기본 디바이스가 호스트의 포트로부터 분리되면, 당해 포트에 접속되어 있던 기본 디바이스로의 호스트로부터의 전원의 공급이 차단된다. 이 때문에, 기본 디바이스가 기억하고 있는 접속 포트의 정보는 소실된다. 따라서, 일단 커넥터를 분리한 기본 디바이스를 호스트의 포트에 재차 접속(하드웨어 리셋)하여도, 그 상태에서는 기본 디바이스는 동작을 개시하지 않는다. 마찬가지로, 확장 디바이스가 기본 디바이스의 소켓으로부터 분리된 경우에도, 확장 디바이스로의 전원의 공급이 차단되기 때문에, 기억하고 있던 접속 포트의 정보가 소실된다. 이 때문에, 분리한 확장 디바이스를 기본 디바이스의 소켓에 재차 접속하여도 동작을 개시하지 않는다.
(리셋)
리셋에는 2종류가 있다. 하드 리셋(리셋 패턴)과 소프트 리셋(리셋 커맨드)이다. 리셋은 호스트로부터만 행할 수 있다. 하드 리셋은, 리셋 패턴에 의한 리셋으로, 어떤 포트에 접속된 주변 장치(기본 디바이스, 확장 디바이스) 모두를 초기화할 수 있다. 주변 장치로부터의 회신은 없다. 소프트 리셋은 리셋 커맨드의 디바이스 리셋 [Device Reset]에 의한 리셋으로, 특정한 주변 장치를 초기화 할 수 있다. 이 경우, 해당하는 주변 장치로부터는 커맨드의 디바이스 응답[Device Reply]이 회신되고, 그 후 이 주변 장치는 자신의 초기화를 실행한다.
리셋된 주변 장치(기본 디바이스, 확장 디바이스)는, 일부의 펑션을 제외하고, 변수나 RAM 내용 등의 기억되어 있던 데이타가 전원 투입 직후의 상태까지 초기화된다. 주변 장치의 AP도 초기화되므로, 재사용할 경우에는 호스트로부터 디바이스 리퀘스트 [Device Request]를 송신할 필요가 있다.
(디바이스 ID)
기술한 접속 체크에서 설명된 바와 같이, 호스트로부터 디바이스 리퀘스트[Device Request]를 수신한 주변 장치(기본 디바이스, 확장 디바이스)는 디바이스 스테이터스[Device Status]를 호스트로 회신한다. 이 디바이스 고유의 정보인 디바이스 스테이터스[Device Status]의 데이타 영역에는 디바이스에 대한 여러가지 정보가 기록되어 있다. 이 중 하나에 디바이스 ID가 포함된다. 디바이스 ID에는 기본 디바이스 혹은 확장 디바이스의, 펑션 타입, 펑션 정의 블럭의 선언부가 등록되어 있다. 모든 주변 장치는 반드시 하나의 디바이스 ID와, 하나 이상의 기능을 구비한다. 이에 따라, 호스트는 접속된 주변 장치의 내용(기종, 기능, 신호포맷 등)을 알 수 있다. 또, 각종 커맨드에 대해서는 후술한다.
(디바이스 ID의 구성)
디바이스 ID는, 표 11에 나타낸 바와 같이 16바이트(128비트)로 구성된다.
디바이스 ID의 구성
비트 7 6 5 4 3 2 1 0
1st데이타 FT31 FT30 FT29 FT28 FT27 FT26 FT25 FT24
2nd데이타 FT23 FT22 FT21 FT20 FT19 FT18 FT17 FT16
3rd데이타 FT15 FT14 FT13 FT12 FT11 FT10 FT9 FT8
4th데이타 FT7 FT6 FT5 FT4 FT3 FT2 FT1 FT0
5st데이타 FD131 FD130 FD129 FD128 FD127 FD126 FD125 FD124
6st데이타 FD123 FD122 FD121 FD120 FD119 FD118 FD117 FD116
7st데이타 FD115 FD114 FD113 FD112 FD111 FD110 FD19 FD18
8st데이타 FD17 FD16 FD15 FD14 FD13 FD12 FD11 FD10
9st데이타 FD231 FD230 FD229 FD228 FD227 FD226 FD225 FD224
10st데이타 FD223 FD222 FD221 FD220 FD219 FD218 FD217 FD216
11st데이타 FD215 FD214 FD213 FD212 FD211 FD210 FD29 FD28
12st데이타 FD27 FD26 FD25 FD24 FD23 FD22 FD21 FD20
13st데이타 FD331 FD330 FD329 FD328 FD327 FD326 FD325 FD324
14st데이타 FD323 FD322 FD321 FD320 FD319 FD318 FD317 FD316
15st데이타 FD315 FD314 FD313 FD312 FD311 FD310 FD39 FD38
16st데이타 FD37 FD36 FD35 FD34 FD33 FD32 FD31 FD30
여기서, FT는, 배리어블이 구비하고 있는 펑션의 종류를 나타낸다. FD1은 1개째 펑션의, 펑션 정의 블럭을 나타낸다. FD2는 2개째 펑션의, 펑션 정의 블럭을 나타내고 있다. FD3은 3개째 펑션의, 펑션 정의 블럭을 나타내고 있다. FD1, FD2 및 FD3은 FT로 표시되는 펑션에 의해 내용의 의미가 다르다.
다음에, 상기 FT0∼FT31의 펑션 타입의 내용을 표 12에 나타낸다. FT 펑션 타입은 주변 장치가 장비하고 있는 펑션을 나타낸다. 펑션 타입은 전부 32종류이며, 각각 커맨드, 데이타 포맷이 결정되어 있다.
펑션 타입
비트 펑션 비트 펑션
ET31 예약 ET15 예약
ET30 예약 ET14 예약
ET29 예약 ET13 예약
ET28 예약 ET12 예약
ET27 예약 ET11 예약
ET26 예약 ET10 예약
ET25 예약 ET9 예약
ET24 예약 ET8 예약
ET23 예약 ET7 (가)라이트건
ET22 예약 ET6 (가)FFB
ET21 예약 ET5 (가)음성 출력
ET20 예약 ET4 (가)음성 입력
ET19 예약 ET3 (가)타이머
ET18 예약 ET2 B/W LCD
ET17 예약 ET1 스토리지
ET16 예약 ET0 컨트롤러
하나의 주변 장치에서, 예를 들면 3종류까지의 펑션을 설정할 수 있고, 구비하고 있는 펑션의 대응하는 설정 비트를 '1'로 한다. 설정 비트에는 우선 순위가 존재하여, 최상위 비트(FT31)가 가장 높고, 최하위 비트(FT0)가 가장 낮게 되어있다. 우선 순위 순으로 3개까지 펑션·라이브러리가 설정된다.
표 11에서, FD131∼FD10은 제1 펑션 정의 블럭을 나타낸다. 하나째의 펑션을 구성하는 개개의 요소를 정의하는 블럭이다. 그 내용은 펑션에 따라 다르다. 상세는 각각의 펑션 사양서(도시하지 않음)에 의해 규정된다.
FD231∼FD20은 제2 펑션 정의 블럭을 나타낸다. 2개째의 펑션을 구성하는 개개의 요소를 정의하는 블럭이다. 내용은 펑션에 따라 다르다. 상세는 각각의 펑션 사양서에 의해 규정된다.
마찬가지로, FD331∼FD30은 제3 펑션 정의 블럭을 나타낸다. 3개째의 펑션을 구성하는 개개의 요소를 정의하는 블럭이다. 내용은 펑션에 따라 다르다. 상세는 각각의 펑션 사양서에 의해 규정된다.
(펑션의 데이타 포맷과 정의 블럭)
펑션의 데이타 포맷과 정의 블럭에 대해 설명한다. 이들은, 주변 장치와 데이타의 교환을 행하기 위한 데이타의 형식을 나타낸다.
우선, 주변 장치(병렬)는 표 13과 같이 분류, 구별된다.
주변 장치의 분류
디바이스 타입 병렬 타입
기본 디바이스 컨트롤러 표준 컨트롤러, 조이스틱, 스티어링
기타 키보드, 마우스, 건
확장 디바이스 확장 기기 음성 입력, 건, 백업 메모리
표 13에 나타낸 바와 같이, 기본 디바이스의 대표적인 것은 게임 컨트롤러이다. 게임 컨트롤러의 펑션 타입은 컨트롤러이고, 호스트의 포트에 접속하여 사용된다. 게임 컨트롤러는 많은 어플리케이션 소프트로 이용할 수 있도록, 표준이 되는 데이타 포맷이 결정되어 있다.
컨트롤러계의 펑션의 요소는, 이하와 같다.
·디지탈 방향 키 A : Ra, La, Da, Ua
·디지탈 방향 키 B : Rb, Lb, Db, Ub
·디지탈 버튼 : A, B, C, D, X, Y, Z, START
·아날로그 키 : Al, A2, A3, A4
·아날로그 레버 : A5, A6
또한, 컨트롤러계 주변 장치는, 이하의 요소를 반드시 구비하는 것이 조건이다.
·디지탈 방향키 A : Ra, La, Da, Ua
·디지탈 버튼 : A, B, START
(기본 디바이스의 그 밖의 타입)
그 밖의 타입은 게임 컨트롤러 이외의 펑션 타입의 주변 장치이다. 각 주변 장치에 의해 데이타의 내용과 포맷, 리드/라이트 사이클 등이 다르기 때문에, 각각의 기능에 대응한 데이타 포맷, 펑션·라이브러리를 갖는다.
(확장 디바이스)
기본 디바이스의 기능을 확장하기 위한 주변 장치이다. 각 주변 장치에 의해, 데이타의 내용과 포맷, 리드/라이트 사이클 등이 다르기 때문에, 각각의 기능에 대응한 데이타 포맷, 펑션·라이브러리를 갖는다.
(컨트롤러계 펑션)
펑션 타입이 컨트롤러의 데이타 포맷과, 디바이스 ID의 정의 블럭을 나타낸다.
리드 데이타 포맷을 표 14에 나타낸다. 리드 데이타 포맷은, 컨트롤러의 데이타를 판독할 때의 포맷이다. 데이타 포맷의 사이즈는 8바이트이다.
컨트롤러·리드 포맷
비트 7 6 5 4 3 2 1 0
1st데이타 Ra La Da Ua Start A B C
2nd데이타 Rb Lb Db Ub D X Y Z
3rd데이타 A17 A16 A15 A14 A13 A12 A11 A10
4th데이타 A27 A26 A25 A24 A23 A22 A21 A20
5th데이타 A37 A36 A35 A34 A33 A32 A31 A30
6th데이타 A47 A46 A45 A44 A43 A42 A41 A40
7th데이타 A57 A56 A55 A54 A53 A52 A51 A50
8th데이타 A67 A66 A65 A64 A63 A62 A61 A60
상기 표에서, 1번째 데이타는 디지탈 버튼의 데이타이다(ON= "0", OFF= "1"). 2번째 데이타는 디지탈 버튼의 데이타이다(ON="0" , OFF="1"). 3번째 데이타는 아날로그축 1의 데이타(00h←→FFh의 값)이다. 4번째 데이타는 아날로그축 2의 데이타(00h←→FFh의 값)이다. 5번째 데이타는 아날로그축 3의 데이타(80h±7Fh의 값)이다. 6번째 데이타는 아날로그축 4의 데이타(80h±7Fh의 값)이다. 7번째 데이타는 아날로그축 5의 데이타(80h±7Fh의 값)이다. 8번째 데이타는 아날로그축 6의 데이타(80h±7Fh의 값)이다.
(라이트 데이타 포맷)
컨트롤러에 데이타를 기록할 때의 포맷은 존재하지 않는다. 데이타 사이즈는 0바이트이다. 임시로 데이타를 기록하더라도, 반응하지 않는다.
(펑션 정의 블럭)
게임 컨트롤러의 정의 블럭 FD는 표 14에 나타내는 리드 포맷으로 사용하는 요소를 분할하여 지정한다. 게임 컨트롤러의 펑션 정의 블럭의 예를 표 15에 나타낸다.
컨트롤러의 펑션 정의 블럭 FD의 구성
비트 7 6 5 4 3 2 1 0
1st데이타 RB15 RB14 RB13 RB12 RB11 RB10 RB9 RB8
2nd데이타 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
3rd데이타 0 0 0 0 0 0 0 0
4th데이타 0 0 0 0 0 0 0 0
상기 표에서, RBn은 리드 포맷 분할 블럭을 나타낸다.
블럭 분할의 예를 표 16에 나타낸다.
컨트롤러·리드 포맷·블럭 분할
비트 7 6 5 4 3 2 1 0
1st데이타 RB1 RB0
2nd데이타 RB9 RB8 RB7 RB6 RB5 RB4 RB3 RB2
3rd데이타 RB10
4th데이타 RB11
5th데이타 RB12
6th데이타 RB13
7th데이타 RB14
8th데이타 RB15
표 14와 대응시켜, 사용하는 블럭의 설정 비트를 '1'로, 미사용을 '0'으로 셋한다. 미사용의 블럭은 펑션·라이브러리로부터 무시된다.
(표준 컨트롤러의 디바이스 ID와 데이타 포맷)
표준 컨트롤러의 디바이스 ID의 예를 표 17에 나타낸다. 상기 표는, 컨트롤러만의 펑션을 갖는 표준 컨트롤러의 디바이스 ID의 예를 나타내고 있다.
표준 컨트롤러의 디바이스 ID
비트 7 6 5 4 3 2 1 0
1st데이타 0 0 0 0 0 0 0 0
2nd데이타 0 0 0 0 0 0 0 0
3rd데이타 0 0 0 0 0 0 0 0
4th데이타 0 0 0 0 0 0 0 1
5th데이타 0 0 1 1 1 1 0 0
6th데이타 0 0 0 1 1 1 1 1
7th데이타 0 0 0 0 0 0 0 0
8th데이타 0 0 0 0 0 0 0 0
9th데이타 0 0 0 0 0 0 0 0
10th데이타 0 0 0 0 0 0 0 0
11th데이타 0 0 0 0 0 0 0 0
12th데이타 0 0 0 0 0 0 0 0
13th데이타 0 0 0 0 0 0 0 0
14th데이타 0 0 0 0 0 0 0 0
15th데이타 0 0 0 0 0 0 0 0
16th데이타 0 0 0 0 0 0 0 0
상기 표에 나타내는 디바이스 ID는 제1번째 데이타로부터 제16번째 데이타까지 차례로 00h-00h-00h-01h-3Ch-1Fh-00h-00h-00h-00h-00h-00h-00h-00h-00h-00h로 된다.
표준 컨트롤러의 데이타 포맷(리드 포맷)을 표 18에 나타낸다.
표준 컨트롤러의 리드 포맷
비트 7 6 5 4 3 2 1 0
1st데이타 Ra La Da Ua Start A B C
2nd데이타 1 1 1 1 1 X Y Z
3rd데이타 A17 A16 A15 A14 A13 A12 A11 A10
4th데이타 A27 A26 A25 A24 A23 A22 A21 A20
5th데이타 A37 A36 A35 A34 A33 A32 A31 A30
6th데이타 A47 A46 A45 A44 A43 A42 A41 A40
7th데이타 1 0 0 0 0 0 0 0
8th데이타 1 0 0 0 0 0 0 0
표준 컨트롤러에는 라이트 포맷은 예정되어 있지 않다.
(스토리지계 펑션)
스토리지계 펑션은 데이타를 보존하기 위한 스토리지계 펑션의 펑션 타입과, 펑션 정의 블럭을 나타낸다. 펑션 정의 이외의 정보(전량 등)는, 커맨드의 겟 미디어 정보[Get Media Info]로 취득한다.
펑션 타입은 FT1='1', 펑션(스토리지) 정의 블럭은 표 19와 같이 된다.
스토리지의 펑션 정의 블럭의 구성
비트 7 6 5 4 3 2 1 0
1st데이타 PT7 PT6 PT5 PT4 PT3 PT2 PT1 PT0
2nd데이타 BB7 BB6 BB5 BB4 BB3 BB2 BB1 BB0
3rd데이타 WA3 WA2 WA1 WA0 RA3 RA1 RA1 RA0
4th데이타 RM FD6 FD5 FD4 FD3 FD2 FD1 FD0
상기 표에서, PT0∼PT7은 파티션 수를 나타낸다. 파티션은 1개∼256개까지 설정할 수 있다. 파티션 수=(PT+1)[개]이다. BB0∼BB7은 1블럭(Block)의 바이트 수를 나타낸다. 32바이트∼8192바이트까지 설정할 수 있다. 1블럭의 바이트 수=(BB+1)×32[바이트]이다. RA0∼RA3은 1블럭 리드의 액세스 수를 나타낸다. 1블럭의 데이타를 리드하기 위해서는 몇회 액세스해야만 하는지를 설정한다. 액세스 수는 1회∼15회까지 설정할 수 있다. 1액세스의 데이타량은 1블럭의 용량을 액세스 수로 등분할한 양이다. 액세스수=RA[회], 1액세스의 용량=1블럭의 용량/RA[바이트], RA=0은 리드의 액세스가 없는 것을 나타낸다. WA3∼WA0은 1블럭 라이트의 액세스 수를 나타낸다. 1블럭의 데이타를 기록하기 위해서는, 몇회 액세스해야만 하는지를 설정한다. 액세스수는 1회∼15회까지 설정할 수 있다. 1액세스의 데이타량은 1블럭의 용량을 액세스수로 등분할한 양이다. 액세스수=WA[회], 1액세스의 용량=1블럭의 용량/WA[바이트], WA=0은 라이트의 액세스가 없는 것을 나타낸다. RM은 제거할 수 있는 미디어를 나타낸다. 데이타를 보존하는 미디어를 제거할 수 있는(FD나 플래시 메모리 카드 등)지를 설정한다. RM의 설정값의 예를 표 20에 나타낸다.
RM의 값
미디어 RM
고정 0
제거 가능 1
또한, 표 19에서, FD6∼FD0은 예약 비트를 나타낸다. 예약 비트는 장래를 위한 예약용 설정 비트이다. 통상 전(全) 비트를 '0'으로 하여 둔다.
(B/WLCD계 펑션)
B/WLCD계 펑션은 간단한 영상을 출력하는, 모노크롬의 도트 매트릭스 액정 디스플레이계의 펑션 타입과, 펑션 정의 블럭을 나타낸다. 펑션 정의 이외의 정보(해상도 등)는 커맨드[Get Media Info]로 취득한다. 펑션 타입 FT2='1'이다. B/WLD계 펑션 정의 블럭는, 예를 들면 표 21에 나타낸 바와 같이 된다.
B/W LCD의 펑션 정의 블럭의 구성
비트 7 6 5 4 3 2 1 0
1st데이타 PT7 PT6 PT5 PT4 PT3 PT2 PT1 PT0
2nd데이타 BB7 BB6 BB5 BB4 BB3 BB2 BB1 BB0
3rd데이타 WA3 WA2 WA1 WA0 0 0 0 0
4th데이타 H/V B/W FD5 FD4 FD3 FD2 FD1 FD0
표 21에서, PT7∼PT0은 LCD 수를 나타낸다. 1개∼256개까지 설정할 수 있다. LCD 수=(PT+1) [개] 이다. BB7∼BB0은 블럭 전송 1회의 바이트수를 나타낸다. 32바이트∼8192바이트까지 설정할 수 있다. 1블럭의 바이트수=(BB+1)×32 [바이트] 이다. WA3∼WA0은 1블럭 라이트의 액세스 수를 나타낸다. 1블럭의 데이타를 기록하기 위해서는, 몇회 액세스해야만 하는지를 설정한다. 액세스수는 1회∼15회까지 설정할 수 있다. 1액세스의 데이타량은 1블럭의 용량을 액세스수로 등분할한 양이다. 액세스 수=WA[회], 1액세스의 용량=1블럭의 용량/WA[바이트], WA=0은 기록의 액세스가 없는 것을 나타낸다.
H/V는 LCD 데이타의 배열이 가로인지 세로인지를 지정한다. 이것을 표 22에 나타낸다.
H/V의 값
데이타의 배열 H/V
가로 0
세로 1
표 21에서, B/W는 액정 디스플레이가 노멀리 블랙(Normally Black)인지, 노멀리 화이트(Normally White)인를 지정한다. 이것을 표 23에 나타낸다.
B/W의 값
노멀리 B/W
블랙 0
화이트 1
(그 밖의 펑션)
컨트롤러계 이외의 펑션의 데이타 포맷과 펑션 정의 블럭의 상세 내용에 대해서는, 각 펑션의 개별 사양서(도시하지 않음)에 의해 정해진다.
(실제의 주변 장치로의 액세스 예)
주변 장치로의 실제의 액세스 방법의 예에 대해 이하에 설명한다.
(접속 후의 처리)
(1) 호스트는, 기본 디바이스로부터 회신된 커맨드, 디바이스 스테이터스[Device Status]에 기술하고 있는 상품 보낼 곳, 제품명, 라이센스, 동작 전류 등을 확인하여, 호스트의 상품 등을 보낼 곳과 정합되지 않는 것, 어플리케이션이 서포트하고 있지 않는 것, 하드웨어로 동작 불가능한 것 등을 확인한다. 호스트는 기본 디바이스가 부적격한 경우, 당해 기본 디바이스의 하드 리셋, 또는 이후 당해 기본 디바이스를 액세스하지 않는 처리를 행한다.
(2) 호스트는, 디바이스 스테이터스[Device Status]에 기술하고 있는 데이타로부터, 기본 디바이스의 펑션 타입을 확인한다. 호스트는 펑션 타입 설정 비트의 상위로부터 검색하여, 상위 3개까지의 펑션·라이브러리를 호출한다. 그 후, 펑션의 정의 블럭으로부터 필요해지는 데이타의 준비를 행한다.
(3) 호스트는, 송신원 AP의 값으로부터, 확장 디바이스가 접속되어 있는 것을 판별했을 경우, 그 확장 디바이스에 디바이스 리퀘스트[Device Request]를 송신하여, (1)로부터의 처리를 반복한다.
(펑션으로의 액세스)
접속 후, 호스트는 주변 장치와의 통신으로 들어가 주변 장치의 펑션으로 액세스한다. 이것을 포트 A에 접속되어 있는 주변 장치가 표준(게임) 컨트롤러(기본 디바이스)인 경우를 예로 들어 설명한다.
(1) 호스트는, 표준 컨트롤러에 데이타를 요구한다. 커맨드는 겟 컨디션[Get Condition]을 사용한다. 이 커맨드는 펑션의 물리적인 상태를 바꾸도록 지정하는 커맨드이다. 호스트는 게임 컨트롤러에 대해, 버튼이나, 키, 레버의 상태를 요구한다. 커맨드 송신의 간격은 1인터벌(INT)마다가 바람직하고, 예를 들면 그 보다 빠른 액세스는 금지된다. 호스트로부터 주변 장치(컨트롤러)로 송신되는 송신 데이타의 예를 표 24에 나타낸다.
호스트로부터 주변 장치에의 송신 데이타
송신 순서 데이타 설정예 설명
1st 커맨드 코드 09h [Get Condition]을 지정
2nd 송신처 AP 20h 포트 A의 디바이스를 지정
3rd 송신원 AP 00h 포트 A로부터 송신
4th 데이타 사이즈 01h 데이타 사이즈는 4Byte
5th 펑션 타입 00h 펑션 타입은 컨트롤러를 알림.
6th 00h
7th 00h
8th 01h
(2) 컨트롤러로부터 데이타 포맷에 의거하여 데이타가 호스트로 회신된다. 커맨드는 데이타 트랜스퍼[Data Transfer]가 사용된다. 주변 장치(컨트롤러)로부터 호스트로 송신되는 데이타의 예를 표 25에 나타낸다.
주변 장치에서 호스트로의 송신 데이타
송신 순서 데이타 설정예 설명
1st 커맨드 코드 08h [Data Transfer]를 설정
2nd 송신처 AP 00h 포트 A의 지정
3rd 송신원 AP 20h 확장 디바이스는 없음
4th 데이타 사이즈 03h 데이타 사이즈는 12바이트
5th 펑션 타입 00h 펑션 타입은, 컨트롤러를 알림.
6th 00h
7th 00h
8th 00h
9th 리드 포맷 01h 컨트롤러 포맷에 따라, 컨트롤러의 데이타가 저장됨.사용하는 블럭은 이미 디바이스 ID로 선언하고 있음.
10th FFh
11th FFh
12th 00h
13th 80h
14th 80h
15th 80h
16th 80h
펑션 타입은, 호스트가 송신한 타입이 그대로 저장되고, 그에 따라 리드 포맷이 부가된다. 컨트롤러의 리드 포맷은 8바이트이다.
(예외 처리)
예외 처리는 데이타 송수신을 커맨드로 컨트롤할 수 없는 장치를 위해 준비된 특별한 처리이다. 대표적인 것은 광선총이다.
광선총(Light-GUN)
(1) 호스트는, 주변 장치가 슈팅 게임에 이용하는 광선총이나 모의총의 디바이스 ID를 갖는 것을 인식했을 경우에는, 광선총을 사용할 때에 M 버스를 통상 모드에서 SDCKB 점유 모드로 전환한다. 주변 장치측으로부터 모드 전환은 불가능하다. 호스트가 SDCKB 점유 패턴(도 52 참조)을 송신하고, 포트가 SDCKB 점유 모드가 되면, 그 포트의 모든 주변 장치가 SDCKB 점유 모드가 되어, SDCKB 점유 모드로 동작하는 주변 장치 이외에는 동작하지 않는다. 하나의 포트에 광선총의 디바이스 ID를 갖는 주변 장치가 복수 접속되어 있는 경우에는, 호스트는 주의 메시지 등으로 사용자에게 알려, 접속수를 하나로 하도록 표시나 음성으로 안내한다.
(2) M 버스를 SDCKB 점유 모드로부터 복귀하기 위해서는, 호스트가 해제 처리를 행한다. SDCKB 점유 모드 종료 후에는 곧 통상 모드가 된다.
(3) 광선총일 경우, 1인터벌(INT)의 화면 재로딩 시간 중, 수직 블랭킹 기간을 제외한 시간, 즉 TV 화면을 묘화하고 있는 기간이 SDCKB 점유 모드가 된다. 화면을 묘화하고 있는 기간이 끝나고 블랭킹 기간이 되었을 때, 곧 통상 모드로 전환하여, 그 포트의 다른 주변 장치에 대해 데이타의 송수신을 할 수 있다.
(4) 광선총의 기능을 실현하기 위해서는, 수광 소자를 갖는 부분을 1펑션(확장 디바이스라도 가능함)으로 하고, 트리거나 방향 키, 아날로그 키 등의 부분을 별도의 1펑션(확장 디바이스라도 가능)으로 한다. 이렇게 함으로써, 종래 광선총을 사용할 때에는 방향키를 사용할 수 없는 문제를 극복할 수 있다. 또한, 광선총이 단체(單體)의 펑션이 되므로, 다른 확장 장치와의 접속도 가능해진다.
(5) SDCKB 점유 모드 중에는, 타임 아웃(Time Out) 처리는 행하지 않는다.
(호스트의 내부 인터페이스)
M버스 드라이버와 호스트용 MIE와의 인터페이스(도 46, 도 63 참조)를 설명한다.호스트의 내부 인터페이스의 개요
호스트의 내부 인터페이스의 개요
도 63에 도시하는 패리페럴 컨트롤러는 복수의 레지스터에 의해 구성되는 레지스터 셋트를 타겟부(52a) 내에 구비하고 있다. 즉, 패리페럴 컨트롤러는 32비트의 DMA 인스트럭션 테이블 어드레스 레지스터, DMA 트리거 셀렉션 레지스터, DMA 인에이블 레지스터, DMA 스타트/스테이터스 레지스터, 시스템 컨트롤 레지스터, 스테이터스 레지스터, 하드 트리거 클리어 레지스터, 워크 램 영역 프로텍션 레지스터 등을 포함하여 구성된다.
이하, 호스트의 패리페럴 인터페이스의 기본 동작을 설명한다. 패리페럴 컨트롤러는 V_BLANK 신호에 동기(시스템 컨트롤 레지스터에 의해 기동 지연 설정 가능)하여, DMA 인스트럭션 테이블 어드레스 레지스터에서 나타내는 워크 RAM(Work RAM) 상의 송신 데이타를 송신 데이타 FIFO에 로드한다. 워크 RAM은 메인 메모리 상의 소정 영역을 할당함으로써도 구성할 수 있다. 송신 데이타는 인스트럭션+수신 데이타 스토어 어드레스+송출 데이타에 의해 구성된다.
인스트럭션은 패리페럴 컨트롤러에 제공되는 명령이며, 인스트럭션 종료, 출력 포트, 송출 데이타 길이 등을 설정한다. 또한, 인스트럭션이 종료를 나타내지 않은 경우, 송신 데이타 FIFO가 엠프티가 되는 대로, 계속해서 워크 RAM 상의 송신 데이타를 송신 데이타 FIFO에 로드한다(32바이트 단위로 행해진다). 수신 데이타 스토어 어드레스에는 수신 데이타를 스토어하는 선두 어드레스를 설정한다. 송출 데이타는 어플리케이션 프로토콜로 지배되는 실제로 주변 장치에 전송되는 데이타이다(4바이트 단위). 주변 장치로부터의 수신 데이타는 4바이트 단위이며, 수신 데이타 FIFO가 풀(32 바이트)이 되는 대로, 수신 데이타 스토어 어드레스로 지시되는 워크 RAM의 영역으로 전송된다. 단, FIFO가 풀이 아니어도 수신이 종료되는 대로, 강제적으로 32바이트로서 전송한다(유효 데이타+무효 데이타).
또한, 주변 장치가 미접속이거나 장애 등에 의해 Time Out(예를 들면, 1mSec)을 일으킨 경우, 32비트의 ffff_ffffh가 그 인스트럭션에 대응하는 선두 수신 데이타 스토어 어드레스에 기록된다. 패리티 에러를 일으킨 경우, 32비트의 ffff_ff00h가 기록된다. 일련의 동작이 종료한 경우, 패리페럴 컨트롤러는 동작을 정지하고 DMA 스타트/스테이터스 레지스터에 상태를 반영한다.
레지스터 맵
DMA 인스트럭션 테이블 어드레스 레지스터
DMA 인스트럭션 테이블 어드레스 레지스터는 32비트로 구성되는 판독 기록 가능 레지스터이다. 구성 요소는 패리페럴 컨트롤러로의 명령(인스트럭션), 수신 데이타 스토어 어드레스, 송신 데이타군의 선두 어드레스를 나타내는 비트(Ct31∼Ct5)이다.
DMA 트리거 셀렉션 레지스터
DMA 트리거 셀렉션 레지스터는 32비트로 구성되는 판독 기록 가능한 레지스터이다. 구성 요소는 송수신의 기동 트리거를 소프트웨어 기동으로 할 것인지, 하드웨어 기동(V 블랭크 아웃)으로 할 것인지의 선택 비트(Ts)이다.
DMA 인에이블 레지스터
DMA 인에이블 레지스터는 32비트로 구성되는 판독 기록 가능한 레지스터이다. 구성 요소는 송수신의 인에이블, 디스에이블의 선택 비트(Tn)이다. 소프트웨어 트리거 시, 본(本) 비트를 인에이블로 하고, DMA 스타트/스테이터스 레지스터에서 나타내는 DMA 스타트 비트를 '1'로 함으로써 송수신이 개시된다. 하드웨어 트리거 시, 본(本) 비트를 인에이블로 하고 하드 트리거(V 블랭크 아웃)가 검출되는 대로, 송수신이 개시된다. 또한, 인에이블 상태에서 '0'을 기록함으로써 강제 종료할 수 있다.
DMA 스타트/ 스테이터스 레지스터
DMA 스타트 레지스터는 32비트로 구성되는 판독 기록 가능한 레지스터이다. 구성 요소는 송수신의 소프트웨어 스타트를 행하는 비트(Ss)이다. 또한, 판독 시에는 송수신 상태를 나타내는 스테이터스가 된다. 기동 트리거로서 소프트웨어 트리거를 선택했을 때만 '1'의 기록이 유효하게 되어 송신이 개시된다.
시스템 컨트롤 레지스터
시스템 컨트롤 레지스터는 32비트로 구성되는 판독 기록 가능한 레지스터이다. 구성 요소는 주변 장치에 대한 데이타 송출로부터의 타임 아웃(Time Out) 설정 비트(To15∼To0), 하드웨어 트리거 시 V 블랭크 아웃마다 기동을 행할 것인지, 클리어 레지스터 상의 플래그를 클리어할 때까지 정지하고 있을 것인지의 선택 비트(Si), 전송레이트의 설정 비트(Dc3∼Dc0), 하드웨어 기동 시의 기동 타이밍의 설정(V 블랭크 아웃으로부터의 지연 설정) 비트(Dt3∼Dt0)이다. 타임 아웃 설정 시간은 설정 시간 = 20㎱×To15∼To0가 된다. 예를 들면, 300㎲ = 20㎱×3a98h로 설정할 수 있다. Si는 자동 기동의 반복 설정 비트이다. 동 비트가 '0'일 때는 각 인터벌마다 행한다. '1'일 때는 하드 트리거 클리어 레지스터의 플래그 클리어까지, 다음 기동은 행하지 않는다. Dc1∼Dc0는 전송 레이트 설정 비트를 나타낸다.
스테이터스 레지스터
스테이터스 레지스터는 32비트로 구성되는 판독 전용 레지스터이다. 구성 요소는 패리페럴 컨트롤러가 동작 중(송수신 중)을 나타내는 비트(D0), 내부 블럭의 프레임 카운터를 모니터하는 비트(Fm2∼Fm0), 내부 블럭의 스테이트 카운터를 모니터하는 비트(St5∼St0), 각 포트의 입출력 라인을 모니터하는 비트(La3∼La0, Lb3∼Lb0)이다. 이 레지스터는 하드웨어 디버그용 레지스터이며, 어플리케이션으로는 사용하지 않는다.
하드 트리거 클리어 레지스터
하드 트리거 클리어 레지스터는 32비트로 구성되는 기록 전용 레지스터이다. 이 레지스터의 구성 요소는 패리페럴 컨트롤러의 싱글 하드웨어 자동 기동 정지의 해제 비트(Tc)이다. 이 비트에 '1'을 기록함으로써 자동 정지가 클리어된다.
워크 램 영역 프로텍션 레지스터
워크 램 영역 프로텍션 레지스터는 32비트로 구성되는 기록 전용 레지스터이다. 이 레지스터의 구성 요소는 16비트의 기록 시큐리티 코드, 수신 데이타의 스토어 어드레스의 범위 선두(Ha), 종료(Ta) 어드레스를 설정하는 비트이다.
송신 데이타 어드레스 카운터 레지스터
송신 데이타 어드레스 카운터 레지스터는 32비트로 구성되는 판독 전용 레지스터이다. 구성 요소는 패리페럴 컨트롤러가 판독하는 워크 RAM(Work RAM) 상의 송신 데이타의 어드레스 포인트를 나타낸다. 디버그용 레지스터이기 때문에 어플리케이션으로는 사용하지 않는다.
수신 데이타 어드레스 카운터 레지스터
수신 데이타 어드레스 카운터 레지스터는 32비트로 구성되는 판독 전용 레지스터이다. 구성 요소는 패리페럴 컨트롤러가 기록하는 워크 RAM(Work RAM) 상의 수신 데이타의 어드레스 포인트를 나타낸다. 디버그용 레지스터이기 때문에 어플리케이션으로는 사용하지 않는다.
수신 데이타 베이스 어드레스 레지스터
수신 데이타 베이스 어드레스 레지스터는 32비트로 구성되는 판독 전용 레지스터이다. 구성 요소는 패리페럴 컨트롤러가 기록하는 워크 RAM 상의 수신 데이타의 선두 어드레스를 나타낸다. 디버그용이기 때문에 어플리케이션으로는 사용하지 않는다.
송신 데이타
다음에, 송신 데이타에 대해서 설명한다. 송신 데이타는 1개의 단위를 인스트럭션, 수신 데이타 스토어 어드레스, 송출 데이타로 구성한다. 워크 RAM 상에 인스트럭션+수신 데이타 스토어 어드레스+송출 데이타+인스트럭션+수신 데이타 스토어 어드레스+송출 데이타…로 배치하면 패리페럴 컨트롤러는 순차 실행한다.
인스트럭션
인스트럭션은 패리페럴 컨트롤러를 제어하기 위해 어플리케이션 프로그램으로부터 상기 컨트롤러에 제공되는 32비트의 데이타이다. 구성 요소는 실효 인스트럭션의 최종을 나타내는 최종 비트(Ef), 송수신의 대상이 되는 액티브 포트의 선택 비트(Po1, Po0), 패턴 선택 비트(Pn2∼Pn0), 송출 데이타 길이 선택 비트(Ln8∼Ln0)이다. 패리페럴 컨트롤러는 Ef 비트에 '1'을 검출한 경우, 이 인스트럭션으로 처리를 종료한다(송신 데이타의 최종 커맨드는 반드시 Ef 비트를 '1'로 해야만 한다). 또한, Ef 비트에 '0'을 검출한 경우, 다음의 인스트럭션을 실행한다. 패턴 선택 비트에 [START]를 선택한 경우, 송출 데이타를 출력한다. 그 외의 패턴(SDCKB 점유 허가, RESET, SDCKB 점유 해제)을 선택한 경우, 포트에는 정보 패턴 출력만으로 송출 데이타 길이의 지정은 무효가 된다. SDCKB 점유 허가 패턴을 선택한 경우, 그 인스트럭션의 Ef 비트는 '1'로 해야만 한다. 다음의 인스트럭션의 실행은 SDCKB 점유 해제 패턴 이외에, 전부 무효가 된다. 또한, 패리페럴 컨트롤러는 SDCKB 점유하는 동안, SDCKB 라인에서 입력되는 네가티브 에지를 HV 카운터의 래치 신호로서 출력한다. 송출 데이타 길이 선택 비트 Ln은 예를 들면 4바이트 단위로 1024바이트까지 지정할 수 있다.
수신 데이타 스토어 어드레스
수신 데이타 스토어 어드레스는 수신 데이타를 스토어하기 위한 선두 어드레스의 설정 비트(Ra)이다.
송출 데이타
송출 데이타는 실제로 주변 장치로 송신되는 데이타이다. 송출 데이타의 데이타 길이는 상기 인스트럭션으로 설정되는 송출 데이타 길이의 사이즈만큼 존재해야만 한다(32비트 단위).인터럽트 레지스터
인터럽트 레지스터
인터럽트 관련 레지스터는 본 인터페이스에는 포함되지 않는다. 본 인터페이스로부터는 인터럽트 블럭에 6개의 신호가 접속되어 있다. 인터럽트가 생기는 것은, 예를 들면 송수신 종료(DMA 종료)의 경우, 송수신 동작(DMA)이 V BLANKIN에 걸쳐있는 경우, 수신 FIFO가 풀 상태일 때에, 또한 수신 FIFO에 데이타 기록을 행하고자 한 경우, DMA 인스트럭션 테이블 어드레스의 프로텍션 영역 외 설정 및 기동의 경우, 불법(illegal) 인스트럭션의 페치인 경우 등이다.
HV 카운터 레지스터
라이트 건(Light-Gun) 모드에서의 HV 카운터 레지스터는 본 인터페이스에는 포함되지 않는다. 본 인터페이스로부터는 묘화 블럭에 HV 래치 신호가 접속되어 있다. 어플리케이션은 V BLANK 기간에 묘화 블럭의 HV 카운터값을 판독한다.
송수신 시퀀스
다음에, 송수신 시퀀스에 대해서 설명한다. 송수신 시퀀스에는 이하에 설명하는 통상 시퀀스와 SDCKB 점유 순서가 포함된다.
통상 시퀀스
통상 시퀀스의 일례를 도 61에 도시한다. 도 61은 후에 상세히 설명되는 도 63에 도시되는 호스트 CPU, 패리페럴 컨트롤러, 도 64에 도시되는 주변 장치 A 및 B의 데이타 송수신의 흐름을 나타내고 있다.
도 61에서 호스트 CPU는 상술된 AP의 확립에 따라 각 포트로의 주변 장치 접속의 유무와 각 주변 장치의 송신처 AP를 알고 있다. 그리고, 각 주변 장치로의 디바이스 리퀘스트[Device Request]의 송신 및 그 회신에 의해 각 주변 장치의 내용을 파악하고 있다. CPU는 예를 들면, 어플리케이션 등의 요구에 기초해서 주변 장치 A와의 데이타 통신을 행하도록, DMA 동작의 워크 RAM에 송신 데이타를 설정하고, 패리페럴 컨트롤러의 타겟부(52a) 내의 레지스터에 인스트럭션 등의 각종 설정을 행한다. 또한, 예를 들면, 주변 장치 B와의 데이타 통신을 행하도록 워크 RAM에 송신 데이타를 설정하고, 패리페럴 컨트롤러의 타겟부(52a) 내의 레지스터에 인스트럭션 등의 각종 설정을 행한다. 이 인스트럭션은 패리페럴 컨트롤러에 주어지는 명령이며, 인스트럭션 종료, 출력 포트, 송출 데이타 길이 등을 설정한다. 또한, 인스트럭션이 종료를 나타내지 않은 경우, 송신 FIFO(53a)가 앰프티가 되는 대로, 계속하여 워크 RAM 상의 송신 데이타를 송신 FIFO(53a)에 로드한다. 로드는 예를 들면, 32바이트 단위로 행해진다.
패리페럴 컨트롤러는 예를 들면, 공급되는 비디오 신호의 V 블랭크(V BLANK) 신호의 상승(블랭킹 기간 종료)에 동기하고, DMA 인스트럭션 테이블 어드레스 레지스터에서 나타내는 워크 RAM(Work RAM) 상의 송신 데이타를 송신 FIFO(53a)에 로드한다. 또, 이미 상술한 바와 같이, 시스템 컨트롤 레지스터에 의해 기동 지연 설정이 가능하다. 패리페럴 컨트롤러는 CPU가 출력한 인스트럭션 및 데이타에 기초하여 도 48에 도시하는 프레임 형식의 송신 데이타를 형성하고, 이 송신 데이타를 해당 포트의 M 버스로 보낸다.
주변 장치 A는 M 버스 상의 데이타 신호를 항상 감시하고 있다. 송신 데이타의 송신처 AP가 자신의 어드레스(AP)인 것을 확인하면, 이 송신 데이타를 받아들인다. 주변 장치 A는 커맨드에 대응하는 처리를 행하고, 소정 프레임 형식의 회신 데이타를 작성하여 M 버스에 송신한다.
패리페럴 컨트롤러는 주변 장치 A로부터의 데이타를 수신하면, 수신 데이타를 수신 FIFO(56b)에 일단 받아들이고 이것을 DMA 동작의 워크 RAM에 전송한다. 주변 장치로부터의 수신 데이타는, 예를 들면 4바이트 단위이며 수신 FIFO(56b)가 풀(32바이트)이 되는 대로, 수신 데이타 스토어 어드레스로 나타내는 워크 RAM으로 전송된다. 단, 수신 FIFO(56b)가 풀되지 않아도 수신이 종료하는 즉시, 강제적으로 32바이트로 해서 전송한다(유효 데이타 + 무효 데이타). 다음에, 워크 RAM에 남아 있는 주변 장치 B에 송신해야 할 데이타를 판독하여, 송신 데이타의 FIFO(53a)에 받아들이고, 주변 장치 B로의 송신 데이타를 형성한다. 이것을 주변 장치 B가 접속되어 있는 포트의 M 버스로 송출한다.
주변 장치 B도 마찬가지로, M 버스 상의 데이타 신호를 항상 감시하고 있다. 송신 데이타의 송신처 AP가 자신의 어드레스(AP)인 것을 확인하면, 이 송신 데이타를 취득한다. 주변 장치 B는 커맨드에 대응하는 처리를 행하며, 소정 프레임 형식의 회신 데이타를 작성하여 M 버스로 송신한다.
패리페럴 컨트롤러는 주변 장치 B로부터의 데이타를 수신하면, 수신 데이타를 수신 FIFO(56b)에 일단 받아들이고, 이것을 DMA 동작의 워크 RAM으로 전송한다.
CPU는 공급되는 비디오 신호의 V 블랭크(V BLANK) 신호의 하강(블랭킹 기간 개시)에 동기하고, 패리페럴 컨트롤러로부터 스테이터스를 판독한다. 이에 따라, 주변 장치로부터의 데이타의 존재를 알 수 있다. 워크 RAM의 해당 영역으로부터 보존된 수신 데이타를 판독한다. 이 데이타를 어플리케이션으로 되돌린다.
이러한 순서를 반복하여 호스트와 주변 장치와의 데이타 통신이 행해진다. 일련의 동작이 종료한 경우, 패리페럴 컨트롤러는 동작을 정지하고 DMA 스타트/스테이터스 레지스터에 상태를 반영한다.
또한, 주변 장치가 미접속이나 장애 등에 의해 타임 아웃(예를 들면, 1mSec)을 일으킨 경우, 32비트의 ffff_ffffh가 그 커맨드에 대응하는 선두 수신 데이타 스토어 어드레스에 패리페럴 컨트롤러에 의해 기록된다. 패리티 에러를 일으킨 경우, 32비트의 ffff_ff00h가 기록된다. CPU는 이것에 대응한 처리를 행한다.
SDCKB 점유 순서(light-GUN)
다음에, SDCKB 점유 순서에 대해서 도 62를 참조하여 설명한다. SDCKB 점유 순서는, 예를 들면 사격 게임(shooting game)에서의 주변 장치로서의 광선총과 호스트와의 데이타 통신에 사용된다.
상술한 바와 같이, CPU는 상술한 AP의 확립에 의해 각 포트로의 주변 장치 접속의 유무와 각 주변 장치의 송신처 AP를 알고 있다. 그리고, 각 주변 장치로의 디바이스 리퀘스트(Device Request)의 송신 및 그 회신에 의해 각 주변 장치의 내용을 파악하고 있다. CPU는 예를 들면, 사격 게임 어플리케이션의 요구에 기초하여 광선총과의 데이타 통신을 행하도록, DMA 동작으로 워크 RAM에 송신 데이타를 설정하고, 패리페럴 컨트롤러의 타겟부(52) 내의 레지스터에 인스트럭션 등의 각 종 설정을 행한다.
예를 들면, 총(gun) 게임의 어플리케이션이 SDCKB 점유를 CPU에 요구하면, CPU는 포트의 동작을 통상 모드로부터 SDCKB 점유 모드로 한다. 상술한 커맨드에 의해, 선택 포트, SDCKB 점유 허가를 포함하는 송신 데이타를 워크 RAM에 기록한다. DMA 커맨드 테이블 어드레스 레지스터에 워크 RAM 상의 데이타의 어드레스를 기록한다.
패리페럴 컨트롤러는 예를 들면, 공급되는 비디오 신호의 V 블랭크(V BLANK) 신호의 상승(블랭킹 기간 종료)에 동기하여, DMA 커맨드 테이블 어드레스 레지스터에서 나타내는 워크 RAM(Work RAM) 상의 송신 데이타를 송신 데이타 FIFO(53a)에 로드 한다. 패리페럴 컨트롤러는 워크 RAM으로부터 커맨드 및 데이타를 판독하고, 도 52에 도시하는 형식의 SDCKB 점유 허가 패턴의 신호를 형성하고 이것을 해당 포트의 M 버스로 보낸다.
주변 장치 A는 M 버스 상의 데이타 신호를 항상 감시하고 있다. SDCKB 점유 허가 패턴을 수신하면, 주변 장치 A는 임의의 타이밍으로 출력을 M 버스로 송출하는 것이 가능해진다. 사용자에 의해 주변 장치 A(광선총)가 조작되면(방아쇠가 당겨진다), 주변 장치 A(광선총)는 트리거 신호를 M 버스로 송출한다.
패리페럴 컨트롤러는 주변 장치 A로부터의 트리거 신호의 데이타를 수신하면, 도시하지 않은 HV 카운터의 래치 신호를 출력한다. HV 카운터는 텔레비젼 화면 상을 주사하는 휘점(輝点) 위치에 대응하는 값을 헤아린다. 래치된 HV 카운터값에 의해, 주변 장치 A(광선총)를 트리거했을 때의 화면 상의 착탄(着彈) 위치를 판별가능하다.
CPU는 주변 장치가 광선총인 경우 공급되는 비디오 신호의 1인터벌의 텔레비젼 화면 묘화 기간을 SDCKB 점유 기간으로서 할당한다. 그래서, 묘화 기간이 끝나 V 블랭크(V BLANK) 신호가 하강하면(블랭킹 기간 개시), CPU는 SDCKB 점유 모드를 해제하여 해당 포트의 동작을 SDCKB 점유 모드로부터 통상 모드로 한다. 이 때문에, CPU는 상술한 커맨드에 의해 선택 포트, SDCKB 점유 해제를 포함하는 송신 데이타를 워크 RAM에 기록한다. DMA 커맨드 테이블 어드레스 레지스터에 워크 RAM 상의 데이타의 어드레스를 기록한다.
패리페럴 컨트롤러는 즉시, DMA 커맨드 테이블 어드레스 레지스터에서 나타내는 워크 RAM(Work RAM) 상의 송신 데이타를 송신 FIFO로 로드한다. 패리페럴 컨트롤러는 워크 RAM으로부터 커맨드 및 데이타를 판독하여, SDCKB 점유 허가 해제 패턴의 신호를 형성하고 이것을 해당 포트의 M 버스로 보낸다.
주변 장치 A는 M 버스 상의 데이타 신호를 항상 감시하고 있다. SDCKB 점유 해제 패턴을 수신하면, 주변 장치 A는 출력의 인에이블 상태를 해제한다.
이와 같이 해서, 비디오 신호의 1인터벌 중, 텔레비젼을 묘화하고 있는 기간은 SDCKB 점유 모드가 되며 수직 블랭킹 기간은 통상 동작 모드가 된다. 따라서, 광선총과 같은 랜덤하게 출력을 발생하는 주변 장치를 사용하고 있는 경우에도 동일한 M 버스에 접속된 다른 주변 장치를 사용 가능하다.레지스터 설정 방법
레지스터 설정 방법
레지스터 설정의 일례에 대해서 소프트 기동과 하드 기동(트리거마다 자동 기동)인 경우에 대해서 설명한다.
소프트 기동에서는 이하의 경우에 레지스터의 소정치 설정을 행한다.
초기화
1. 워크 RAM(Work RAM) 영역 프로텍션 레지스터 설정
2. 시스템 컨트롤 레지스터 설정
3. DMA 트리거 셀렉션 레지스터 설정
실행 순서
4. 워크 RAM(Work RAM)으로의 데이타 설정(DMA 커맨드 테이블)
5. DMA 커맨드 테이블 어드레스 레지스터 설정
6. DMA 인에이블 레지스터 설정
7. DMA 스타트/스테이터스 레지스터 설정
종료 확인
8. DMA 스타트/스테이터스의 확인
9. 워크 RAM으로 수신 데이타 판독
하드 기동(트리거마다 자동 기동)에서는 이하의 경우에 레지스터로의 소정치의 설정을 행한다.
초기화
1. 워크 램 영역 프로텍션 레지스터 설정
2. 시스템 컨트롤 레지스터 설정
3. DMA 트리거 셀렉션 레지스터 설정
실행 순서
4. 워크 RAM(Work RAM)으로의 데이타 설정(DMA 커맨드 테이블)
5. DMA 커맨드 테이블 어드레스 레지스터 설정
6. DMA 인에이블 레지스터 설정
7. DMA 스타트/스테이터스 레지스터 설정
종료 확인
8. DMA 스타트/스테이터스의 확인
9. 워크 RAM으로 수신 데이타 판독호스트의 MIE 블럭도
호스트의 MIE 블럭도
도 63은 호스트의 패리페럴 컨트롤러(MIE; 1h)의 개략 구성(패리페럴 컨트롤러)을 나타내는 블럭도이다. 도 63에서 도 21과 대응하는 부분으로는 동일 부호를 붙이고 있다.
도 63에서 이니시에이터부(50)는 패리페럴 컨트롤러(1h)가 동작 상태가 되었을 때, 버스 마스터로 되어 워크 RAM으로 억세스하는 역할을 담당한다. 주변 장치에 송신해야 할 데이타의 워크 RAM으로부터의 판독이나 주변 장치로부터 수신한 데이타의 워크 RAM으로의 기록 등을 행한다. 클럭 디바이더(51)는 송신 데이타의 비트레이트(전송레이트) 선택용 클럭 분주 회로이다. 타겟부(52a)는 루트 버스 상에서 타겟으로서 동작하는 블럭이며, 호스트의 CPU에 의해 32비트로 판독/기록되는 전술한 레지스터군으로 구성된다. 주로, 인스트럭션 등이 기록된다. 송신 데이타 템포러리 레지스터(53b)는 32바이트의 송신 데이타 FIFO(53a)로부터의 송신용 데이타 32비트를 보유해 두기 위한 레지스터이다. 송신 데이타 FIFO(53a)는 송신 데이타를 일시 보유하는 32바이트의 FIFO(First In First Out), 즉 선입 선출 동작의 레지스터이다. 수신 데이타 FIFO(56b)는 32바이트의 수신 데이타 FIFO이다. 수신 데이타 템포러리 레지스터(56a)는 수신 데이타 32비트를 보유해 두기 위한 레지스터이다. 데이타의 수신 완료 즉시, 수신 데이타를 수신 데이타 FIFO(56b)에 기록한다. 인터럽트 신호 제어부(54)는 인터럽트(인터럽트 처리)부로 보내는 1 클럭 펄스의 인터럽트 신호를 일정한 조건 하에서 발생한다. 프레임 컨트롤러(58)는 인스트럭션 등에 기초해서 송신 프레임(스타트 패턴, 데이타 패턴, 엔드 패턴 등)을 컨트롤하는 블럭이다. 프레임 인코더(59)는 프레임 패턴을 작성하는 블럭이다. 교호 시프트 레지스터(병렬/직렬; 60)는 병렬 송신 데이타를 교대로 2개의 직렬 라인으로 변환하는 회로이다. 또한, 교호 시프트 레지스터(60)는 송신 데이타의 패리티 계산을 행하고 송신 데이타의 최후에 패리티 데이타(예를 들면, 1바이트의 패리티 비트)를 부가한다. 프레임 데이타(61)는 수신 신호의 프레임을 해석하는 회로이다. 교호 시프트 레지스터(직렬/병렬; 62)는 2개의 직렬 라인으로부터 교대로 전송되어 오는 데이타를 병렬 데이타로 변환하는 회로이다. 또한, 교호 시프트 레지스터(62)는 수신 데이타의 패리티 계산을 행한다. 그 계산 결과와 수신한 패리티 데이타를 대조하여 에러의 유무를 판별한다. 에러가 있으면, 인터럽트 신호 제어부(54)를 통해 CPU의 인터럽트 컨트롤러에 에러를 알린다. 이에 따라, CPU는 재송신 지령 등의 에러 처리를 행할 수 있다. HV 래치 신호 컨트롤러(63)는 직렬 라인으로부터의 HV 래치 신호를 묘화 프로세서부(비디오 신호 형성부; 1f)의 HV 카운터로 건네주는 회로이다. 포트 컨트롤러(57)는 송수신의 대상이 되는 액티브 포트를 컨트롤한다. 즉, 인스트럭션에 의해 선택된 송신 포트의 3 스테이트 버퍼(68a∼68h)를 제어하여 셀렉터(64, 65)의 각 출력 SDCKA 및 SDCKB를 선택 포트로 도출한다. 셀렉터(64)는 프레임 컨트롤러(58)에 의해 제어되며 프레임 인코더(59)의 출력 또는 교호 시프트 레지스터(60)의 출력을 선택하여 SDCKA 신호를 형성하고, 선택된 3 스테이트 버퍼(68)를 통해 M 버스 라인에 출력한다. 셀렉터(65)는 프레임 컨트롤러(58)에 의해 제어되며, 프레임 인코더(59)의 출력 또는 교호 시프트 레지스터(60)의 출력을 선택하여 SDCKB 신호를 형성하고, 선택된 3 스테이트 버퍼(68)를 통해 M 버스 라인으로 출력한다. 셀렉터(66)는 포트 컨트롤러(57)의 지령에 따라 수신 포트를 선택하고 버퍼 증폭기(69)를 거친 수신 신호 SDCKA를 프레임 디코더(61) 및 교호 시프트 레지스터(62)에 공급한다. 셀렉터(67)는 포트 컨트롤러(57)의 지령에 따라 수신 포트를 선택하고 버퍼 증폭기(69)를 거친 수신 신호 SDCKB를 프레임 디코더(61) 및 교호 시프트 레지스터(62)에 공급한다.
주변 장치의 내부 인터페이스
도 64는 주변 장치로서의 기본 디바이스의 회로 구성을 개략적으로 나타내는 블럭 회로도이다. 또한, 도 65는 도 64에 도시되는 소켓 컨트롤부(203) 및 통신 처리부(204)의 인터페이스(기본 디바이스용 MIE)를 보다 상세하게 설명하는 블럭 회로도이다. 이것 등의 예에서는 설명(도면 작성)의 편의상, 외부 확장 소켓은 2개만 그려져 있지만 실제로는 이미 상술한 바와 같이 4개의 외부 확장 소켓을 구비할 수 있다.
CPU 블럭(201)은 입력 조작 정보를 담당하는 송신 데이타의 형성이나 호스트(1)로부터의 요구에 대한 회신 데이타 처리 등의 기본 디바이스의 제어 기능을 담당하고 있다. 이것에는 상술한 셋업 시의 디바이스 AP, 확장 디바이스 AP의 확립 등의 초기 동작이 포함된다. I/O 블럭(202)은 입력 수단의 조작 정보를 데이타 신호로 변환한다. 기본 디바이스(2)가 게임 장치의 컨트롤 패드인 경우, 복수의 디지탈 버튼이나 복수의 아날로그 키 등이 입력 수단에 상당한다. 또한, I/O 블럭(202)은 CPU의 출력에 따라 각 확장 소켓의 ID0, ID1 단자를 통해 접속된 확장 디바이스에 LM 버스의 번호를 알린다. ID0, ID1 단자의 역할은 도 59를 참조한 확장 디바이스의 AP의 설정 순서로 이미 설명되어 있다. 소켓 컨트롤 블럭(203)은 각 확장 소켓으로의 확장 장치의 접속의 유무를 판별한다. 그리고, 확장 장치가 접속된 확장 소켓의 3 스테이트 버퍼를 도통하여, 호스트로부터 디바이스로 도출된 데이타선 SDCKA 및 SDCKB를 각각 LM 버스의 데이타선 SDCKA 및 SDCKB에 접속한다. 따라서, 호스트(1)에서 M 버스를 보면, 등가적으로는 M 버스에 복수의 주변 장치(기본 디바이스, 확장 디바이스)가 병렬로 접속되어 있는 것 같이 보인다. 통신 처리 블럭(204)은 수신 데이타의 디코드, CPU의 출력 데이타의 인코드 등을 행한다. CPU 블럭(201)∼통신 처리 블럭(204)은 1칩 집적 회로 구성으로 하는 것이 가능하다.
통신 처리부(204)는 호스트(1)로부터 수신한 프레임의 복조, CPU부(201)가 출력한 송신 데이타의 프레임화(디코드)의 역할을 담당하고 있다. 통신 처리부(204)는 소켓 컨트롤부(203)와 함께 MIE(입출력 인터페이스)의 주요 부분을 구성한다.
호스트가 M 버스에 출력한 SDCKA 신호(하행 신호)는 버퍼 증폭기(212a)를 통해 통신 처리부(204)로 공급된다. 또한, 버퍼 증폭기(212a)를 거친 SDCKA 신호는 각각 3 스테이트 버퍼(215a, 215b)를 통해, SDCKADS-1 신호 및 SDCKADS-2 신호로서 LM 버스(1, 2)에 공급된다.
호스트가 M 버스로 출력한 SDCKB 신호(하행 신호)는 버퍼 증폭기(212b)를 통해 통신 처리부(204)로에 공급된다. 또한, 버퍼 증폭기(212b)를 거친 SDCKB 신호는 각각 3 스테이트 버퍼(216a, 216b)를 통해 SDCKBDS-1 신호 및 SDCKBDS-2 신호로서 LM 버스(1, 2)에 공급된다.
한편, 디바이스의 통신 처리부(204)가 출력하는 호스트(상류)를 향한 SDCKA 신호는 OR 게이트 214a(의 제1 입력 단자) 및 3 스테이트 버퍼(211a)를 거쳐서 M 버스의 데이타선 SDCKA으로 출력되며, 호스트의 MIE에 의해 수신된다. 또한, 통신 처리부(204)가 출력하는 호스트를 향한 SDCKB 신호는 OR 게이트 214b(의 제1 입력 단자) 및 3 스테이트 버퍼(211b)를 거쳐서 M 버스의 데이타선 SDCKB를 출력되며, 호스트의 MIE에 의해 수신된다. 통신 처리부(204)가 SDCKA 신호 및 SDCKB 신호를 송출할 때에는 OR 게이트 213a(의 제1 입력 단자)를 통해 3 스테이트 버퍼(211a)의 제어 단자에 인에이블 신호를 공급하여 게이트(211a)를 개방(도통)시키고, 또한 OR 게이트 213b(의 제1 입력 단자)를 통해 3 스테이트 버퍼(211b)의 제어 단자에 인에이블 신호를 제공하여 게이트(211b)를 개방시킨다. 3 입력 OR 게이트(213a, 213b)의 각 입력 단자는 저항을 통해 접지된다. 입력 단자에 신호 입력이 없는 경우에는 당해 입력 단자는 접지 레벨로 유지된다. 또한, 32 입력 OR 게이트(214a, 214b)의 각 입력 단자는 저항을 통해 전원 Vcc에 접속된다. 이 때문에, 신호 입력이 없는 입력 단자는 「H」 레벨로 유지된다.
제1 확장 디바이스가 LM 버스(1)로 출력한 SDCKA 신호는 확장 소켓(1)의 단자 SDCKAUS-1을 통해 OR 게이트 214a(의 제2 입력 단자) 및 3 스테이트 버퍼(211a)를 거쳐서 M 버스의 데이타선 SDCKA으로 출력된다. 제1 확장 디바이스가 LM 버스(1)로 출력한 SDCKB 신호는 확장 소켓(1)의 단자 SDCKBUS-1을 통해 OR 게이트 214b(의 제2 입력 단자) 및 3 스테이트 버퍼(211b)를 거쳐서 M 버스의 데이타선 SDCKB로 출력된다. 제1 확장 디바이스가 SDCKA 신호 및 SDCKB 신호를 송출할 때는, 제1 확장 디바이스는 LM 버스(1)의 신호선 SDCKAEN(1), OR 게이트 213a(의 제2 입력 단자)를 통해 3 스테이트 버퍼(211a)의 제어 단자로 인에이블 신호를 공급하여 게이트(211a)를 개방시킨다. 또한, LM 버스(1)의 신호선 SDCKBEN(1), OR 게이트 213b(의 제2 입력 단자)를 통해 3 스테이트 버퍼(211b)에 인에이블 신호를 공급하여 게이트(211b)를 개방시킨다.
마찬가지로, 제2 확장 디바이스가 LM 버스로 출력한 SDCKA 신호는 확장 소켓(2)의 단자 SDCKAUS-2를 통해 OR 게이트 214a(의 제3 입력 단자) 및 3 스테이트 버퍼(211a)를 거쳐서 M 버스의 데이타선 SDCKA로 출력된다. 제2 확장 디바이스가 LM 버스로 출력한 SDCKB 신호는, 확장 소켓(2)의 단자 SDCKBUS-2를 통해 OR 게이트 214b(의 제3 입력 단자) 및 3 스테이트 버퍼(211b)를 거쳐서 M 버스의 데이타선 SDCKB로 출력된다. 제2 확장 디바이스가 SDCKA 신호 및 SDCKB 신호를 송출할 때에는 제2 확장 디바이스는 LM 버스(2)의 신호선 SDCKAEN(2), OR 게이트 213a(의 제3 입력 단자)를 통해 3 스테이트 버퍼(211a)의 제어 단자로 인에이블 신호를 공급하여 게이트(211a)를 개방시킨다. 또한, LM 버스(2)의 신호선 SDCKBEN(2), OR 게이트 213b(의 제3 입력 단자)를 통해 3 스테이트 버퍼(211b)의 제어 단자로 인에이블 신호를 공급하여 게이트(211b)를 개방시킨다.
기본 디바이스의 동작 전원은 호스트(1)로부터 M 버스의 전원선 Vcc 및 GND를 통해 공급된다. 확장 디바이스의 동작 전원은 기본 디바이스로부터 LM 버스의 전원선 Vcc 및 GND를 통해 공급된다.
도 65에 도시한 바와 같이, 소켓 컨트롤부(203)는 LM 버스 컨트롤러(203a)에 의해 구성된다. LM 버스 컨트롤러(203a)는 확장 소켓의 접속용 체크용으로 설치된 특정 단자의 전압을 감시한다. 이 예에서는, 확장 소켓의 ID2 핀의 전압을 감시한다. 기본 디바이스측의 ID2 핀은 저항 R을 통해 기본 디바이스측의 접지 전원 GND에 접속되어 있다. 도 66에 도시한 바와 같이, 기본 디바이스의 확장 소켓에 확장 장치를 접속하면, 확장 소켓의 단자 Vcc 및 GND를 통해 확장 디바이스(3)에 전원 Vcc 및 GND가 공급된다. 이 확장 디바이스측의 전원 Vcc가 기본 디바이스의 확장 소켓의 단자 ID2를 통해 저항 R에 인가한다. LM 버스 컨트롤러(203a)는 저항 R에 생기는 전압의 유무(혹은 대소)에 따라 소켓으로의 확장 장치의 접속의 유무를 판별한다. LM 버스 컨트롤러(203a)는 각 LM 버스로의 확장 디바이스의 접속의 유무를 후술하는 컨트롤 레지스터(204a)에 알린다. 이에 따라, 컨트롤 레지스터(204a)에는 각 확장 포트의 사용의 유무에 대응한 LMM 플래그가 설정된다. 또한, LM 버스 컨트롤러(203a)는 확장 디바이스가 접속된 확장 소켓 LM 버스의 3 스테이트 버퍼의 게이트를 개방하여 M 버스의 데이타선 SDGKA 및 SDCKB와, LM 버스의 데이타선 SDCKADS 및 SDCKBDS를 각각 접속한다. LM 버스 컨트롤러(203a)는 다른 부의 동작과는 독립하여, 확장 커넥터 버스의 활성화를 제어할 수 있지만, 이것에 CPU의 판단을 개재시킬 수도 있다. 즉, LM 버스 컨트롤러(203a)가 확장 디바이스의 접속을 검출하고, 검출 출력을 컨트롤 레지스터(204a)에 설정한다. CPU(201)는 컨트롤 레지스터(204a)를 감시함으로써 LM 버스로의 확장 디바이스의 접속을 인지한다. CPU(201)는 확장 디바이스의 접속을 허용하는 경우에 해당 LM 버스의 접속을 지령하는 플래그 LMC를 컨트롤 레지스터(204a)에 설정한다. LM 버스 컨트롤러(203a)는 플래그 LMC에 대응하는 LM 버스의 3 스테이트 버퍼(215, 216)를 개방(도통)시킨다. 이러한 동작에 의해, 도 47에 도시한 바와 같이 기본 디바이스에 확장 디바이스가 접속되면, 기본 디바이스가 확장 디바이스의 접속을 자동적으로 인식하고 확장 디바이스를 M 버스에 접속한다.
통신 처리부(204)는 컨트롤 레지스터(204a), 패리티 레지스터(204b), 프레임 컨트롤러(204c), 라인 모니터(204d), 프레임 인코더(204e), 교호 시프트 레지스터 P/S(204f), 템포러리 레지스터(204g), 프레임 디코더(204h), 교호 시프트 레지스터 S/P(204i), 송수신 버퍼(204j), 데이타 길이 레지스터(204k)를 포함하여 구성된다.
컨트롤 레지스터(204a)는 데이타의 송수신을 제어하기 위한 각 종 플래그등을 유지하는 레지스터이다. 각종 플래그에 대해서는 후에 [표 26]을 참조하여 설명한다. 패리티 레지스터(204b)는 직렬/병렬, 병렬/직렬 변환에 관한 계산 및 패리티 계산용 더블 버퍼이다. 송수신 버퍼(204j)는 데이타의 송수신 시에 사용하는 데이타 저장용 레지스터이다. 프레임 컨트롤러(204c)는 컨트롤 레지스터(204a)의 각종 플래그를 감시하여 프레임의 송수신의 제어를 행한다. 또한, 스타트 패턴, 엔드 패턴, SDCKB 점유 패턴, 리셋 패턴 등의 검출에 대응하여, 해당하는 플래그를 컨트롤 레지스터(204a)에 설정한다. 프레임 인코더(204e)는 데이타에 패턴부를 부가하여 프레임의 생성을 행한다. 교호 시프트 레지스터 P/S(204f)는 병렬 데이타를 직렬 데이타로 변환하는 병렬/직렬 변환을 행한다. 라인 모니터(204d)는 SDCKA, SDCKB 신호선을 모니터한다. 데이타 길이 레지스터(204k)는 송신 시의 송신 데이타량을 지정하는 레지스터이다.
주변 장치의 CPU부(201)에서 본 MIE와의 인터페이스는 21개의 컨트롤 플래그(CFLAG)와 데이타 길이 레지스터(LREG; 204k) 및 최대 1024바이트의 송수신 버퍼(TRBF; 204j)에 의해 구성된다. 송수신 버퍼는 디바이스에 대응하여 용량이 최적화된다.
상기 구성에 의한, MIE 컨트롤러(CPU; 201)와 기본 디바이스용 MIE(소켓 컨트롤; 203, 통신 처리; 204)와의 인터페이스를 설명한다.
호스트로부터 데이타선 SDCKA 및 SDCKB를 통해 송신된 프레임 데이타는 프레임 디코더(204h)에 수신된다. 프레임 디코더(204h)는 SDCKA 및 SDCKB 신호로부터 프레임 데이타를 복조하고, 프레임 데이타로부터 패턴 부분과 데이타 부분을 분리한다. 프레임 디코더(204h)는 스타트 패턴, 엔드 패턴, SDCKB 점유 패턴, 리셋트 패턴 등의 패턴 부분을 검출하면, 그 패턴 부분의 검출 정보가 프레임 컨트롤러(204c)로 보내진다. 프레임 컨트롤러(204c)는 수신을 제어함과 동시에, 패턴 검출에 대응하여 컨트롤 레지스터에 플래그를 설정한다. 이 플래그에는 수신 플래그 RXB, 수신 완료 플래그 RFB, SDCKB 점유 모드 플래그 POS, 리셋 패턴 수신 플래그 HRES가 포함된다.
분리된 데이타 부분은 교호 시프트 레지스터(204i)로 보내진다. 시프트 레지스터(204i)는 데이타의 직렬/병렬 변환 기능을 가지며, 분리한 직렬 데이타를 병렬 데이타로 변환하여 템포러리 레지스터(204g)로 보낸다. 템포러리 레지스터(204g)는 수신 데이타의 패리티 체크의 계산을 행한다. 또한, 수신 데이타의 패리티 비트 부분을 추출하여 패리티 레지스터(204b)에 보유한다. 패리티 체크의 결과와 패리티 레지스터(204b)의 패리티 비트를 비교하여 에러를 검출하면, 컨트롤 레지스터(204a)에 패리티 에러 플래그 PERR이 설정된다. 에러 체크된 데이타는 송수신 버퍼(204j)에 저장된다. 수신 데이타의 량이 송수신 버퍼(204j)의 용량을 초과하면, 컨트롤 레지스터(204a)에 버퍼 오버플로우 플래그 BFOV를 설정한다. 오버플로우된 데이타는 송수신 버퍼(204j)에는 저장되지 않는다. 수신이 완료하면, 컨트롤 레지스터(204a)에 수신 완료 플래그 RFB가 설정된다. CPU(201)는 컨트롤 레지스터(204a)의 내용을 모니터하고 있으며, 수신 완료 플래그 RFB의 설정에 대응하여 송수신 버퍼(204j)에 저장된 수신 데이타를 판독한다.
CPU(201)가 데이타를 송신할 때는 송신 데이타를 송수신 버퍼에 저장하고, 데이타 길이 레지스터(204k)에 송신 데이타량을 기록한다. CPU(201)는 컨트롤 레지스터(204a)에 송신 플래그 TXB, 엔드 패턴 송출 플래그 ENP(후속의 송신 데이타가 없는 경우)를 설정한다. 송수신 버퍼(204j)의 송신 데이타는 템포러리 레지스터(204g)로 보내지며 패리티 계산이 행해진다. 템포러리 레지스터(204g)는 패리티 계산의 결과를 1바이트의 패리티 비트로서 보유하고 송신 데이타의 최후에 부가한다. 송신 데이타는 템포러리 레지스터(204g)로부터 교호 시프트 레지스터(204f)에 공급되며, 직렬 데이타로 변환되어 프레임 인코더(204e)에 공급된다. 프레임 인코더(204e)는 송신 데이타 및 패리티 데이타의 전후에 각각 스타트 패턴 및 엔드 패턴을 부가하여 송신 프레임을 형성한다. 프레임 컨트롤러(204c)는 OR 게이트(213a, 213b)를 통해 각각 3 스테이트 버퍼(211a, 211b)를 개방한다. 송신 프레임은 프레임 인코더(204e)에 의해 SDCKA 신호 및 SDCKB 신호로 인코드된다. SDCKA 신호 및 SDCKB 신호는 각각 M 버스의 데이타선 SDCKA 및 데이타선 SDCKB로 출력된다.
라인 모니터(204d)는 데이타선 SDCKA 및 데이타선 SDCKB를 항상 감시하고 있다. 이 결과(신호의 유무)를 컨트롤 레지스터(204a)에 SDCKA 라인 모니터 플래그 및 SDCKB 라인 모니터 플래그로서 설정한다. CPU(201)는 이것 등의 플래그를 참조하여 호스트로부터 보내지는 데이타의 타임 아웃을 조사할 수 있다.
도 62에 도시한 바와 같이, 확장 디바이스의 MIE는 기본 디바이스의 MIE와 마찬가지로 구성되지만, 소켓 컨트롤부는 구비하지 않는다. 도 62의 서포트 기능부는 기본 디바이스의 입력 수단과 I/O부(202)에 상당하는 부분으로, 예를 들면 LCD 표시기, 음성 출력 카트리지, 음성 입력 카트리지, 광선총 카트리지, 진동 카트리지, 메모리 카트리지 등의 개성화된 기능을 담당하는 부분이다. CPU부(301) 및 통신 처리부(304)는 각각 디바이스의 CPU부(201) 및 통신 처리부(204)에 대응한다.
다음에, 상술한 기본 디바이스(혹은 확장 디바이스)의 MIE 내에 설치된 컨트롤 레지스터(204a), 데이타 길이 레지스터(204k) 및 송수신 버퍼(TRBF)의 구성에 대해서 설명한다.
각종 컨트롤 플래그(CFLAG)를 포함하는 컨트롤 레지스터(204a)의 구성을 [표 26]에 나타낸다. 컨트롤 플래그는 데이타의 송신과 수신을 제어하기 위한 21개의 플래그로 구성된다. 어떤 플래그를 사용하여 레지스터를 구성하는지는 주변 장치의 종류에 따라 다르다.
CFLAG의 구성
Dir R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Data HRES CTXB TFB TXB BFOV RFB ENDP LMC1 LMC2 LMC3 LMC4
Ini 0 0 0 0 0 0 0 0 0 0 0
Dir R R R R R R R R R R
Data RXB EMP SDAM SDBM PERR POS LMM1 LMM2 LMM3 LMM4
Ini 0 0 - - 0 0 - - - -
[표 26]에서 R/W는 판독/기록 가능한 것을 나타낸다. R은 판독만 가능한 것을 나타낸다. Ini는 초기 설정을 나타낸다. HRES는 리셋트 패턴 수신 플래그를 나타낸다. 리셋트 패턴 수신 플래그 HRES는 리셋트 패턴을 수신하면 '1'이 되며, MIE 컨트롤러의 초기화를 재촉한다. TXB는 송신 플래그이다. 송신 혹은 수신 중에 TXB에 기록을 행하면, 그 경우의 데이타의 내용은 보증되지 않는다. CTXB는 컨티뉴 송신 플래그이다. 송수신 버퍼(204j)의 용량을 초과하여 송신하는 경우는 계속되는 데이타를 송수신 버퍼(204j)에 저장 후, 송신 플래그 TXB가 아닌 컨티뉴 송신 플래그 CTXB로 송신한다. TFB는 송신 완료 플래그이다. BFOV는 송수신 버퍼 오버플로우 플래그이다. 오버플로우 플래그 BFOV는 수신 개시 시와 송신 개시 시에 '0'으로 클리어된다. 송수신 버퍼(204j)가 오버플로우를 일으키면, 오버플로우 플래그 BFOV가 '1'로 셋트된다. RFB는 수신 완료 플래그이다. ENDP는 엔드 패턴 송출 플래그이다. 송신 데이타에 엔드 패턴을 부가하는 경우에는 ENDP='1'로 셋트한다. RXB는 수신 플래그이다. 수신 플래그 RXB는 데이타 수신 시에 변화한다. EMP는 엠프티 플래그이다. 송신 시에 송수신 버퍼(204j)로 송신하는 데이타가 없어지면(비게 되면), 엠프티 플래그 EMP가 '1'로 셋트된다. PERR은 패리티 에러 플래그이다. 패리티 에러 플래그 PERR은 수신된 프레임의 패리티가 일치하지 않을 때에 '1'로 셋트되며, 정상 시에 '0'으로 클리어된다. POS는 SDCKB 점유 모드 플래그이다. SDCKB 점유 모드 플래그 POS는 M 버스가 통상 모드(POS='0')인지 SDCKB 점유 모드(POS='1')인지를 나타낸다. SDAM은 SDCKA 라인 모니터 플래그(기본 디바이스만으로 설치된다)이다. SDBM은 SDCKB 라인 모니터 플래그(기본 디바이스만으로 설치된다)이다. SDRM, SDBM은 각각 데이타선 SDCKA, SDCKB의 라인 상태를 나타낸다. LMC 1∼4는 LM 버스 1∼4의 접속 플래그(기본 디바이스만으로 설치된다)이다. 플래그 LMC 1∼4는 LM 버스 1∼4의 접속(='1'), 절단(='0')을 지시한다. LMM 1∼4는 LM 버스 1∼4 접속 모니터 플래그(기본 디바이스만으로 설치된다)이다. 플래그 LMM 1∼4는 LM 버스(1∼4)의 사용 상태를 나타낸다. MIE 컨트롤러는 플래그 SDAM, SDBM을 체크하여 호스트로부터 오는 데이타의 타임 아웃을 조사한다. 타임 아웃 처리는 기본 디바이스만이 행하며, 확장 디바이스는 행하지 않는다.
데이타 길이 레지스터(LREG)
데이타 길이 레지스터의 구성을 [표 27]에 나타낸다. 데이타 길이 레지스터는 송신 시의 1 프레임 사이즈를 지정하기 위한 1바이트의 레지스터이다.
LREG의 구성
Bit 7 6 5 4 3 2 1 0
Dir R/W R/W R/W R/W R/W R/W R/W R/W
Data Ln7 Ln6 Ln5 Ln4 Ln3 Ln2 Ln1 Ln0
Ini - - - - - - - -
[표 27]에서 R/W는 판독/기록 양쪽이 가능한 것을 나타낸다. 초기 상태에서는 모든 비트(bit)는 부정(不定)이다. Ln은 데이타 길이를 나타낸다. 00h≤Ln≤FFh이다. Ln의 값과 데이타 길이의 대응 관계를 [표 28]에 나타낸다.
데이타 길이
Bit 7 6 5 4 3 2 1 0
데이타 길이 Ln7 Ln6 Ln5 Ln4 Ln3 Ln2 Ln1 Ln0
4Byte 0 0 0 0 0 0 0 0
8Byte 0 0 0 0 0 0 0 1
: : : : : : : : :
512Byte 0 1 1 1 1 1 1 1
516Byte 1 0 0 0 0 0 0 0
: : : : : : : : :
1020Byte 1 1 1 1 1 1 1 0
1024Byte 1 1 1 1 1 1 1 1
데이타의 송수신 중 및 수신 후에는 데이타 길이 레지스터(LREG)의 값이 부정(不定)이다. 데이타 길이는 4바이트 단위로 지정할 수 있다.
다음에, 데이타 버퍼에 대해서 설명한다. 데이타의 버퍼로서 상술한 송수신 버퍼(TRBF; 204j)가 사용된다. 송수신 버퍼(204j)는 1프레임의 송신 데이타와 수신 데이타를 저장하는 버퍼 영역이다. 용량은 최소 4바이트로부터 4바이트 단위로 최대 1024바이트까지이다. 용량은 주변 장치마다 최적화된다. 송신과 수신에서 공통된 버퍼를 가지며, 그 중에서 커맨드 코드, 송신처 AP, 송신원 AP, 데이타 사이즈와 데이타의 영역으로 나눠 사용한다.
송수신 버퍼의 구성을 [표 29]에 나타낸다. [표 29]에서 R/W는 판독/기록의 양쪽이 가능한 것을 나타낸다. 초기 상태에서는 버퍼의 내용은 부정(不定)이다. [표 29]의 제1번째의 데이타(1st Data)로부터 순서대로 송신되며 수신 데이타는 제1번째의 데이타 기억 영역부터 순서대로 기록된다. 또, 1st Data∼4st Data 부분은 저장해야 할 데이타가 정해진 영역이다.
TRBF의 구성
Bit 7 6 5 4 3 2 1 0
Dir R/W R/W R/W R/W R/W R/W R/W R/W
1stData D17 D16 D15 D14 D13 D12 D11 D10
2ndData D27 D26 D25 D24 D23 D22 D21 D20
3rdData D37 D36 D35 D34 D33 D32 D31 D30
4thData D47 D46 D45 D44 D43 D42 D41 D40
5thData D57 D56 D55 D54 D53 D52 D51 D50
6thData D67 D66 D65 D64 D63 D62 D61 D60
7thData D77 D76 D75 D74 D73 D72 D71 D70
8thData D87 D86 D85 D84 D83 D82 D81 D80
: : : : : : : : :
[표 29]에서 제1 데이타 부분(1st Data)은 커맨드 코드를 저장하기 위한 영역이다. 제2 데이타 부분(2nd Data)은 송신처 AP의 값을 저장하기 위한 영역이다. 제3 데이타 부분(3rd Data)은 송신원 AP의 값을 저장하기 위한 영역이다. 제4 데이타 부분(4th Data)은 데이타의 사이즈를 저장하기 위한 영역이다. 제4 데이타 D4(D40∼D47)의 값이 '00h'일 때는 데이타 없음을 의미한다. 제5 데이타 부분(5th Data) 이후는 파라메터의 데이타를 저장하기 위한 영역이다. 데이타 사이즈로 지정된 바이트수만큼 데이타를 저장한다. 데이타 사이즈 이후의 데이타 영역의 내용은 부정(不定)이다.
호스트의 MIE와 기본 디바이스의 MIE와의 데이타 전송 순서
상술한 구성의 호스트의 MIE와 기본 디바이스의 MIE에 의한 데이타 수신 및 데이타 통신에 대해서 설명한다. 또, 확장 디바이스에서도 마찬가지의 데이타 전송 순서이므로, 호스트의 MIE와 확장 디바이스의 MIE와의 데이타 전송 순서에 대해서는 설명을 생략한다.
데이타 수신 순서
우선, 기본 디바이스의 데이타 수신 순서의 개략에 대해서 설명한다. 데이타의 수신은 호스트 및 기본 디바이스의 각 MIE가 자동적으로 행한다. 호스트로부터 데이타 신호가 송출되며, 기본 디바이스의 수신이 시작되면, MIE에 의해 송신 플래그 TXB, 송신 완료 플래그 TFB, 수신 완료 플래그 RFB가 '0'으로 클리어된다. 수신 플래그 RXB가 '1'일 때는 MIE가 데이타 수신 중임을 나타내고, RXB가 '0'일 때는 수신 종료를 나타낸다. 데이타의 수신이 정상적으로 완료하고, 데이타가 송수신 버퍼(TRBF)에, 패리티 에러의 상태가 패리티 에러 플래그 PERR에 저장되면, 수신 완료 플래그 RFB가 '1'로 셋트되며(인터럽트 처리인 경우는 여기에서 수신 인터럽트가 발생한다), 수신 처리가 종료한다. 수신 플래그 RXB와 수신 완료 플래그 RFB가 양쪽 모두 '1'인 경우는 수신에 에러가 생긴 것을 나타낸다. 또한, 수신 데이타가 송수신 버퍼의 용량을 초과한 경우는 송수신 버퍼 오버플로우 플래그 BFOV가 '1'로 셋트되고, 수신 개시로부터 송수신 버퍼의 용량분까지의 수신 데이타가 송수신 버퍼에 저장된다. 프레임 데이타의 패리티가 불일치인 경우는 PERR이 '1'로 셋트되며 정상인 경우는 '0'으로 클리어된다.
도 67은 호스트로부터 디바이스(주변 장치)로의 송신 데이타의 용량이 송수신 버퍼(204j)의 용량을 초과하지 않은 경우의 디바이스측의 MIE의 데이타 수신을 설명하는 도면이다.
우선, 호스트측에서 송신해야 할 송신 데이타가 워크 RAM(1e)에 형성되며, 호스트의 MIE가 이 데이타를 포함하는 프레임 데이타를 형성하여 M 버스에 송신을 개시한다. 디바이스의 MIE는 프레임 데이타를 수신하고, 프레임 디코더(204h)에서 디코드한다. 프레임 데이타의 데이타 부분(데이타 패턴) 및 패리티 데이타는 교호 시프트 레지스터(204i)에서 직병렬 변환되며 템포러리 레지스터(204g)에서 패리티 체크(패리티 계산)된다. 체크된 데이타 부분은 송수신 버퍼(204k)에 저장되며 패리티 데이타는 패리티 레지스터(204b)에 저장된다.
프레임 컨트롤러(204c)는 프레임 디코더(204h)가 프레임 데이타의 스타트 패턴을 검출하면, 컨트롤 레지스터(204a)의 송신 플래그 TXB, 송신 완료 플래그 TFB, 수신 완료 플래그 RFB를 '0'으로 클리어한다. 상술한 바와 같이, 수신 플래그 RXB가 '1'일 때는 MIE가 데이타 수신 중인 것을 나타내고, 수신 플래그 RXB가 '0'일 때는 수신 종료를 나타낸다. CPU부(201)는 수신 플래그 RXB가 '1'인 것을 판독하여 데이타를 수신하고 있는 것을 판별한다. 또한, CPU부(201)는 플래그 SDAM 및 SDBM을 체크함으로써 데이타선 SDCKA 및 SDCKB의 사용을 모니터할 수 있다. 프레임 컨트롤러(204c)는 프레임 디코더(204h)가 프레임 데이타의 엔드 패턴을 검출하면 수신 종료를 판별하고 수신 플래그 RXB를 '0'으로 설정한다.
패리티 레지스터부(204b)는 수신 데이타의 패리티 체크 결과와 수신한 패리티 데이타를 비교하여 패리티 에러의 유무를 판단한다. 에러의 유무를 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR에 기록한다. 프레임 데이타의 수신이 정상적으로 완료하고, 데이타가 송수신 버퍼(204j)에 패리티 에러의 상태가 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR에 저장되면, 수신 완료 플래그 RFB가 '1'로 셋트되며 수신 처리가 종료한다. 수신 완료 플래그 RFB는 CPU부(201)로의 인터럽트 신호로 할 수 있다.
CPU부(201)는 정기적으로 수신 완료 플래그 RFB를 감시하거나 혹은 수신 완료 플래그 RFB가 '1'로 셋트됨에 따른 인터럽트 신호를 받으면, 수신 데이타를 처리하는 프로그램을 실행한다. 우선, 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR이 에러의 존재를 나타내지 않은 것을 확인한다. 다음에, 송수신 버퍼(204j)로부터 수신 데이타를 CPU부(201) 내의 메인 메모리에 취득한다. 그리고, 호스트로부터 송신된 커맨드, 파라메터에 대응하는 처리를 행하고, 회신 데이타 등의 형성 처리 등을 행한다.
또, 수신 플래그 RXB와 수신 완료 플래그 RFB가 양쪽 모두 '1'인 경우는 원래 양립하지 않은 상태이기 때문에, CPU는 수신에 에러가 생긴 것을 판별하고 대응하는 처리를 행한다. 또한, CPU부(201)는 패리티 에러 플래그 PERR이 에러의 존재를 나타내는 경우, 예를 들면 호스트에 대해서 재송신 요구의 커맨드를 송신하는 처리를 행한다.
도 68은 호스트로부터 기본 디바이스(주변 장치)로의 송신 데이타의 용량이 송수신 버퍼 TRBF의 용량을 초과할 경우의 기본 디바이스측의 MIE의 데이타 수신을 설명하는 도면이다. 수신 데이타가 송수신 버퍼(204j)의 용량을 초과한 경우에는 송수신 버퍼 오버플로우 플래그 BFOV가 '1'로 셋트되며, 수신 데이타는 수신 개시로부터 송수신 버퍼의 용량분까지가 송수신 버퍼에 저장된다. 이 경우의 동작에 대해서 설명한다.
우선, 도 67의 경우와 마찬가지로, 호스트측에서 송신해야 할 송신 데이타가 워크 RAM(1e)에 형성되며, 호스트의 MIE가 이 데이타를 포함하는 프레임 데이타를 형성하여 M 버스에 송신을 개시한다. 기본 디바이스의 MIE는 프레임 데이타를 수신하고 프레임 디코더(204h)에서 디코드한다. 프레임 데이타의 데이타 부분(데이타 패턴) 및 패리티 데이타는 교호 시프트 레지스터(204i)에서 직병렬 변환되며, 템포러리 레지스터(204g)에서 패리티 체크(패리티 계산)된다. 체크된 데이타 부분은 송수신 버퍼(204j)에 저장되며, 패리티 데이타는 패리티 레지스터(204b)에 저장된다.
프레임 컨트롤러(204c)는 프레임 디코더(204h)가 프레임 데이타의 스타트 패턴을 검출하면 컨트롤 레지스터(204a)의 송신 플래그 TXB, 송수신 완료 플래그 TFB, 수신 완료 플래그 RFB를 '0'으로 클리어한다. 상술한 바와 같이, 수신 플래그 RXB가 '1'일 때는 MIE가 데이타 수신 중인 것을 나타내며, 수신 플래그 RXB가 '0'일 때는 수신 종료를 나타낸다. CPU부(201)는 플래그 RXB가 '1'인 것을 판독하여 데이타를 수신하고 있는 것을 판별한다. 또한, CPU부(201)는 플래그 SDAM 및 SDBM을 체크함으로써 데이타선 SDCKA 및 SDCKB의 사용을 모니터할 수 있다.
송수신 버퍼(204j)는 수신 데이타가 송수신 버퍼(204j)의 용량을 초과하면, 컨트롤 레지스터의 송수신 버퍼 오버플로우 플래그 BFOV를 '1'로 셋트한다. 이것은 예를 들면, 송수신 버퍼(204j) 내장의 어드레스 카운터가 메모리의 최대 어드레스값이 되었을 때에 검출 출력을 발생함으로써 오버플로우를 검출하는 것이 가능하다. 수신 데이타의 량이 송수신 버퍼(204j)의 용량을 초과한 후에도 수신 데이타는 템포러리 레지스터를 경유하여 송수신 버퍼에 공급되지만, 송수신 버퍼는 데이타를 취득하지 않는다. 따라서, 패리티 계산만이 전(全) 데이타에 대해서 행해진다. 수신 데이타의 패리티 데이타 부분은 패리티 레지스터에 저장된다.
프레임 컨트롤러(204c)는 프레임 디코더(204h)가 프레임 데이타의 엔드 패턴을 검출하면, 수신 종료를 판별하고 수신 플래그 RXB를 '0'으로 설정한다.
패리티 레지스터부(204b)는 수신 데이타의 패리티 체크의 결과와 수신한 패리티 데이타를 비교하여, 패리티 에러의 유무를 판단한다. 에러의 유무를 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR에 기록한다. 데이타가 송수신 버퍼(204j)에, 패리티 에러의 상태가 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR에 설정되면, 수신 완료 플래그 RFB가 '1'로 셋트되며 수신 처리가 종료한다. 수신 완료 플래그 RFB는 CPU부(201)로의 인터럽트 신호로 할 수 있다.
CPU부(201)는 정기적으로 컨트롤 레지스터의 수신 완료 플래그 RFB를 감시함으로써, 혹은 수신 완료 플래그 RFB가 '1'로 셋트됨에 따른 인터럽트 신호를 수신함으로써 수신 데이타를 처리하는 프로그램을 실행해야 하는 것을 알 수 있다. 또한, 컨트롤 레지스터(204a)의 패리티 에러 플래그 PERR이 에러의 존재를 나타내고 있지 않은 것을 확인한다. 또한, 송수신 버퍼 오버플로우 플래그 BFOV가 '1'로 셋트되어 있는 것을 확인한다. CPU부(201)는 도중까지의 데이타인 것을 인지한 후에 송수신 버퍼(204j)로부터 수신 데이타를 CPU부(201) 내의 메인 메모리에 취득한다. 그리고, 해당하는 처리를 행한다.데이타 송신 방법
데이타 송신 방법
다음에, 기본 디바이스로부터 호스트로의 데이타의 송신 순서에 대해서 도 69를 참조하여 설명한다. 또, 확장 디바이스에서 호스트로의 데이타 전송 순서는 기본 디바이스에서 호스트로의 데이타 전송 순서와 마찬가지이므로 그 설명은 생략한다.
기본 디바이스는 호스트로부터 커맨드를 수신하면, 이에 응답하도록 회신 데이타를 형성하고 이것을 호스트에게 송신한다. 상술한 바와 같이, 호스트는 커맨드 송신 후 미리 정해진 시간(예를 들면, 1.0㎳) 이내에 응답이 없는 경우는 미접속으로 한다. 따라서, 기본 디바이스는 이 기간 중에 커맨드를 회신해야만 한다.
우선, 기본 디바이스의 CPU부(201)는 송수신 버퍼(204j)에 송신 데이타(커맨드, 파라메터)를 기록한다. 그 후, 데이타 길이 레지스터(204k)에 송신 데이타의 데이타량을 기록하고, 컨트롤 레지스터의 엔드 패턴 플래그 ENDP를 '1'로 설정한다.
CPU부(201)가 컨트롤 레지스터(204a)의 송신 플래그 TXB를 '1'로 설정하면, MIE는 데이타 길이 레지스터에서 지정된 사이즈의 데이타를 송신하도록 송신 동작을 개시한다. 송신 플래그 TXB가 '1'로 설정되면 컨트롤 레지스터(204a)의 수신 플래그 RXB, 수신 완료 플래그 RFB, 송신 완료 플래그 TFB, 송수신 버퍼 오버플로우 플래그 BFOV는 '0'으로 설정(클리어)된다. 또, 데이타 길이 레지스터(204k)에 설정된 데이타량이 송수신 버퍼(204j)의 용량을 초과할 때, 송수신 버퍼 오버플로우 플래그 BFOV는 '1'이 되며 송수신 버퍼(204j)의 전 데이타를 송신한다.
프레임 컨트롤러(204c)는 송신 플래그 TXB의 '1'의 설정에 대응하여 송수신 버퍼(204j)에 저장된 송신 데이타를 송출시킨다. 송신 데이타는 템포러리 레지스터(204g)에서 패리티 계산되며, 교호 시프트 레지스터(204f)에서 병직렬 변환되어 프레임 인코더(204e)로 송신된다. 템포러리 레지스터(204g)에 의해 송신 데이타의 최후에 패리티 데이타가 부가된다. 프레임 인코더(204e)는 프레임 컨트롤러(204c)의 제어 하에서 스타트 패턴, 송신 데이타(커맨드, 파라메터), 패리티 데이타, 엔드 패턴을 순차 송출한다. 이것 등의 데이타에 의해 구성되는 송신 프레임은 상술한 SDCKA 신호 및 SDCKB 신호에 포함되어 M 버스로 송출된다. 송수신 버퍼(204j)로부터 최후의 데이타가 송출되면, 컨트롤 레지스터의 송신 플래그 TXB는 '0', 엠프티 플래그 EMP는 '1', 컨티뉴 송신 플래그는 '0'으로 설정된다. 송신 완료 후의 송수신 버퍼(204j)의 내용은 부정(不定)이다. 프레임 컨트롤러(204c)는 엔드 패턴을 송출하고, 데이타의 송신이 정상적으로 완료하면 컨트롤 레지스터(204a)의 송신 완료 플래그 TFB를 '1'로 설정한다. 기본 디바이스의 MIE는 M 버스로부터의 입력 대기 상태가 된다. CPU부(201)는 주기적으로 컨트롤 레지스터(204a)의 송신 완료 플래그 TFB를 '1'을 감시함으로써 송신 종료를 인식한다. 또한, CPU부(201)는 송신 중을 나타내는 송신 플래그 TXB와 송신 완료 플래그 TFB가 모두 '1'인 경우, 에러가 생긴 것으로 판별한다.
한편, 호스트의 MIE는 기본 디바이스로부터 송신된 프레임 데이타를 수신한다. 프레임 디코더(61)가 데이타의 스타트 패턴을 검출하면, 인터럽트 신호 제어부(54)를 통해 호스트의 CPU(1a)의 인터럽트 컨트롤러에 신호가 보내지며, 데이타의 수신이 CPU에 알려진다. 수신 데이타는 교호 시프트 레지스터(62)에 의해 직병렬 변환되며, 수신 데이타 템포러리 레지스터(56a), 수신 데이타 FIFO(56b)를 거쳐서 이니시에이터부(50)로부터 워크 RAM(1e)으로 송신된다. 워크 RAM(1e) 상의 수신 데이타의 저장 장소는 CPU(1a)에 의해 미리 지정된 수신 데이타 스토어 어드레스를 선두 위치로 한다. 프레임 디코더(61)가 엔드 패턴을 검출하면 수신은 종료하고, 인터럽트 신호 제어부(54)로부터 수신 완료를 나타내는 신호가 인터럽트 컨트롤러로 보내진다. 이에 따라, CPU는 수신 완료를 알고, 워크 RAM(1e) 상의 수신 데이타로 엑세스하여 처리를 행할 수 있다.다음에, 기본 디바이스의 송신 데이타가 그 송수신 버퍼(204j)의 용량을 초과할 경우의 데이타 송신에 대해서 도 70을 참조하여 설명한다. 또, 확장 디바이스의 경우도 기본 디바이스의 경우와 마찬가지의 순서로 행해진다.
다음에, 기본 디바이스의 송신 데이타가 그 송수신 버퍼(204j)의 용량을 넘는경우의 데이타 송신에 대해서 도 70을 참조하여 설명한다. 또, 확장 디바이스의 경우도 기본 디바이스의 경우와 마찬가지의 순서로 행해진다.
기본 디바이스의 CPU부(201)는 송신 데이타가 송수신 버퍼(204j)의 용량을 초과하고 있는 경우는 데이타를 송수신 버퍼(204j)의 용량으로 몇개의 블럭으로 분할하여 송신할 수 있다.
기본 디바이스의 CPU부(201)는 호스트로부터 커맨드를 수신하면, 이에 응답하도록 회신 데이타를 형성하고 이것을 호스트로 송신한다. 호스트는 커맨드 송신 후 미리 정해진 시간(예를 들면, 1.0㎳) 이내에 응답이 없을 경우는 미접속으로 판단한다. 따라서, 기본 디바이스는 이 기간 중에 커맨드 및 파라메터를 회신해야만 한다.
우선, 기본 디바이스의 CPU부(201)는 송신해야 할 데이타의 량과 송수신 버퍼(204j)의 용량을 비교하여 송신 데이타의 데이타량이 큰 것을 인식한다. CPU부(201)는 송신 데이타를 송수신 버퍼(204j)의 용량(예를 들면, 1024바이트) 이하의 길이로 구분하여 송수신 버퍼(204j)에 기록한다(데이타의 블럭화). 그 후, CPU부(201)는 데이타 길이 레지스터(204k)에 송수신 버퍼(204j)에 저장한 송신 데이타의 데이타량을 기록하고 컨트롤 레지스터(204a)의 엔드 패턴 플래그 ENDP를 '0'으로 설정한다.
CPU부(201)가 컨트롤 레지스터(204a)의 송신 플래그 TXB를 '1'(송신 모드)로 설정하면, MIE는 데이타 길이 레지스터로 지정된 사이즈의 데이타를 송신하도록 송신 동작을 개시한다. 송신 플래그 TXB가 '1'로 설정되면, 프레임 컨트롤러(204c)는 컨트롤 레지스터(204a)의 수신 플래그 RXB, 수신 완료 플래그 RFB, 송신 완료 플래그 TFB, 엠프티 플래그 EMP, 송수신 버퍼 오버플로우 플래그 BFOV를 '0'으로 설정(클리어)한다.
프레임 컨트롤러(204c)는 송신 플래그 TXB의 '1'의 설정에 대응하여 송수신 버퍼(204j)에 저장된 송신 데이타를 송출시킨다. 송신 데이타는 템포러리 레지스터(204g)에서 패리티 계산되며, 교호 시프트 레지스터(204f)에서 병직렬 변환되어 프레임 인코더(204e)로 보내진다. 프레임 인코더(204e)는 프레임 컨트롤러(204c)의 제어에 따라, 스타트 패턴, 송신 데이타(커맨드, 파라메터)를 순차 송출한다. 플래그 ENDP를 '0'으로 설정함으로써, 이 데이타의 블럭의 마지막에는 패리티 데이타 및 엔드 패턴은 부가되지 않는다. 이것 등의 데이타에 의해 구성되는 송신 프레임은 상술한 SDCKA 신호 및 SDCKB 신호에 포함되어 M 버스로 송출된다. 송수신 버퍼(204j)로부터 최후의 데이타가 송출되면, 컨트롤 레지스터의 엠프티 플래그 EMP는 '1', 컨티뉴 송신 플래그는 '0'으로 설정된다.
CPU부(201)는 컨트롤 레지스터(204a)의 엠프티 플래그 EMP를 주기적으로 감시한다. 엠프티 플래그 EMP가 '1'이 된 것을 확인하면, 이어지는 송신 데이타를 송수신 버퍼의 용량 이하로 구분하여 송수신 버퍼(204j)에 저장한다. 이 데이타의 길이를 데이타 길이 레지스터(204k)에 설정한다. 다음에, CPU부(201)는 컨트롤 레지스터(204a)의 컨티뉴 송신 플래그 CTXB를 '1'로 설정한다.
컨티뉴 송신 플래그 CTXB가 '1'로 설정되면, 프레임 컨트롤러(204c)는 컨트롤 레지스터(204a)의 엠프티 플래그 EMP, 송수신 버퍼 오버플로우 플래그 BFOV를 '0'으로 설정(클리어)한다.
프레임 컨트롤러(204c)는 송신 플래그 TXB의 '1'의 설정에 대응하여 송수신 버퍼(204j)에 저장된 송신 데이타를 송출시킨다. 송신 데이타는 템포러리 레지스터(204g)에서 패리티 계산되며, 교호 시프트 레지스터(204f)에서 병직렬 변환되어, 프레임 인코더(204e)로 보내진다. 프레임 인코더(204e)는 프레임 컨트롤러(204c)의 제어에 따라, 송신 데이타(커맨드, 파라메터)를 순차 송출한다. 이것 등의 데이타는 상술한 SDCKA 신호 및 SDCKB 신호에 포함되어 M 버스에 송출된다. 송수신 버퍼(204j)로부터 최후의 데이타가 송출되면, 컨트롤 레지스터의 엠프티 플래그 EMP는 '1', 컨티뉴 송신 플래그 CTXB는 '0'으로 설정된다.
CPU부(201)는 컨트롤 레지스터를 정기적으로 감시함으로써 엠프티 플래그 EMP가 ''1'이 된 것을 알 수 있다. CPU부(201)는 남아 있는(미송신의) 송신 데이타를 송수신 버퍼(204j)의 용량 이하로 구분하여 송수신 버퍼(204j)에 저장한다. 이 예의 경우, 남아 있는 데이타는 송수신 버퍼(204j)의 용량 이하가 되었으므로, 나머지의 데이타 전부를 송수신 버퍼(204j)에 저장한다. 이 데이타의 길이를 데이타 길이 레지스터(204k)에 설정한다. 또한, 최후의 데이타 블럭의 송신이 되므로, 최후에 엔드 패턴을 부가하도록 엔드 패턴 송출 플래그 ENDP를 '1'로 설정한다. 계속해서, CPU부(201)는 컨트롤 레지스터(204a)의 컨티뉴 송신 플래그 CTXB를 '1'로 설정한다.
컨티뉴 송신 플래그 CTXB가 '1'로 설정되면, 프레임 컨트롤러(204c)는 컨트롤 레지스터(204a)의 엠프티 플래그 EMP, 송수신 버퍼 오버플로우 플래그 BFOV를 '0'으로 설정(클리어)한다.
프레임 컨트롤러(204c)는 송신 플래그 TXB의 '1'의 설정에 대응하여 송수신 신 버퍼(204j)에 저장된 송신 데이타를 송출시킨다. 송신 데이타는 템포러리 레지스터(204g)에서 패리티 계산되며 교호 시프트 레지스터(204f)에서 병직렬 변환되어 프레임 인코더(204e)로 보내진다. 템포러리 레지스터(204g)는 전 송신 데이타에 대해서 패리티 계산한 결과를 패리티 데이타(1바이트의 패리티 비트)로서 송신 데이타의 최후에 부가한다. 프레임 인코더(204e)는 프레임 컨트롤러(204c)의 제어에 따라, 송신 데이타(커맨드, 파라메터), 패리티 데이타, 엔드 패턴을 순차 송출한다. 이것 등의 데이타는 상술한 SDCKA 신호 및 SDCKB 신호에 포함되어 M 버스로 송출된다. 송수신 버퍼(204j)로부터 최후의 데이타가 송출되면, 컨트롤 레지스터의 엠프티 플래그 EMP는 '1', 컨티뉴 송신 플래그 CTXB는 '0'으로 설정된다. 송신이 종료하였므로 송신 플래그 TXB, 송신 완료 플래그 TFB는 모두 '0'으로 설정된다.
CPU부(201)는 컨트롤 레지스터(204a)를 정기적으로 감시함으로써, 각 플래그의 상태로부터 전 데이타의 송신이 완료한 것을 알 수 있다.
한편, 호스트의 MIE는 스타트 패턴을 수신함으로써 수신 동작을 개시하고 수신 데이타(커맨드, 파라메터)를 워크 RAM(1e)에 축차 저장한다. 워크 RAM(1e)에서의 저장 장소는 미리 DMA 레지스터로 지정되어 있다. 수신한 각 데이타 블럭을 워크 RAM(1e)에서 연결함으로써 원래의 송신 데이타가 복원된다. 호스트의 MIE가 마지막으로 엔드 패턴을 수신하면 해당 MIE는 수신을 종료한다.
이상 설명한 바와 같이, 송신 데이타를 분할하여 보내는 블럭 송신시에는, 최초의 블럭은 송신 플래그 TXB를 사용하고, 2번째 이후의 블럭은 컨티뉴 송신 플래그 CTXB를 사용하여 나머지 데이타를 송신한다. 1블럭의 데이타를 송신한 후, 다음 블럭을 송신하기까지의 시간이 소정 시간, 예를 들면 1.0㎳를 초과하면 호스트에서 타임 아웃(Time Out)이 되므로, 디바이스측은 제2 블럭 이후를 이 시간 이내에 송신한다. 블럭의 사이즈는 각 블럭 단위로 설정 가능하다. 각 블럭의 송신마다 블럭의 사이즈를 데이타 길이 레지스터(204k)에 설정한다. 최종 블럭 이외에는 엔드 패턴 플래그를 '0'으로 송신하고 엔드 패턴은 부가하지 않는다. 최종 블럭을 송신할 때에는 엔드 패턴 플래그를 '1'로 하여 송신 데이타의 최후에 엔드 패턴을 부가한다.
이와 같이 해서, 기본 디바이스는 자신의 송수신 버퍼의 용량 이상의 데이타를 호스트에게 보낼 수 있게 된다. 확장 디바이스도 마찬가지이다.
플래그와 통신 상태의 관계
기본 디바이스의 컨트롤 레지스터의 플래그(204a)와 통신 상태와의 관계를 설명한다.
(1) 기본 디바이스의 플래그의 상태(당해 기본 디바이스가 호스트와 통신하고 있는 경우)
(a) 기본 디바이스로부터 호스트에 데이타를 송신하는 경우
호스트로의 데이타 송신
Bit 송신 개시 송신 중 송신 종료 송신 에러
TXB 1 1 0 1
TFB 0 0 1 1
RXB 0 0 0 0
RFB 0 0 0 0
송신 플래그 TXB와 송신 완료 플래그 TFB가 모두 '1'일 때는 송신 에러이다.
(b) 기본 디바이스가 호스트로부터 데이타를 수신하는 경우
호스트로부터의 데이타 수신
Bit 수신 중 수신 종료 수신 데이타 저장 수신 에러
TXB 0 0 0 0
TFB 0 0 0 0
RXB 1 1 0 1
RFB 0 0 1 1
수신 플래그 RXB와 수신 완료 플래그 RFB가 모두 '1'일 때는 수신 에러이다.
(2) 기본 디바이스의 플래그의 상태(어느 확장 디바이스가 호스트와 교신하고 있는 경우)
(a) 확장 디바이스가 호스트에 데이타를 송신하고 있는 경우
다른 주변 장치의 송신 상태에 대한 자신의 플래그의 상태
Bit 송신 개시 송신 중 송신 종료 송신 에러
TXB 0 0 0 0
TFB 0 0 0 0
RXB 0 0 0 0
RFB 0 0 0 0
어느 하나의 확장 디바이스(송신 디바이스)가 호스트에 데이타를 송신하는 경우에는 당해 확장 디바이스가 LM 버스를 점유하는 것으로 해도 좋다. 이 점유는 송신 디바이스에 의해 OR 게이트(213, 214)를 제어함으로써 가능해진다. 이러한 경우, 송신 디바이스 이외의 기본 디바이스 및 확장 디바이스는 버스로부터 떨어져 있으므로 데이타 수신의 감시를 할 필요가 없으며 그 만큼 부담이 경감된다.
(b) 확장 디바이스가 호스트로부터 데이타를 수신하고 있는 경우
다른 주변 장치의 수신 상태에 대한 자신의 플래그 상태
Bit 수신 중 수신 종료 수신 데이타 저장 수신 에러
TXB 0 0 0 0
TFB 0 0 0 0
RXB 1 1 0 1
RFB 0 0 1 1
수신 플래그 RXB와 수신 완료 플래그 RFB가 모두 '1'일 때는 수신 에러이다.
에러 처리
에러 처리에 대해서 설명한다. 상술한 바와 같이, 송신 플래그 TXB 및 송신 완료 플래그 TFB가 모두 '1'일 때는 송신 에러이다. 수신 플래그 RXB 및 수신 완료 플래그 RFB가 모두 '1'일 때는 수신 에러이다. 또, 송신 처리 중에 에러가 생겼을 때, MIE가 송신 플래그 TXB 및 송신 완료 플래그 TFB를 모두 '1'로 설정하여 에러를 알게 하는 것으로 해도 좋다. 수신 처리 중에 에러가 생긴 경우도 마찬가지이다. 패리티 에러가 생긴 경우에는 패리티 에러 플래그 PERR이 설정(='1')된다. 수신 시에 수신 데이타가 송수신 버퍼의 용량을 초과한 경우(오버플로우)나, 송신 시에 버퍼 용량을 초과하여 데이타 길이를 지정한 경우는 송수신 버퍼 오버플로우 플래그 BFOV가 설정(='1')된다.
이와 같은 에러가 발생한 경우의 기본 디바이스에서의 에러 처리의 예에 대해 설명한다.
(a) 호스트에 송신하고 있을 때에 에러가 발생한 경우는 에러에 대해서는 아무것도 하지 않고서, 송신 플래그 TXB 및 송신 완료 플래그 TFB의 클리어만 행한다.
(b) 호스트로부터의 데이타 수신 시에 에러가 발생한 경우, 우선 데이타 송신처가 자신일 경우는, 호스트에 대해서 재전송 커맨드를 송신할 수 있다. 다음에, 데이타 송신처가 다른 디바이스일 경우는 자기의 수신 플래그 RXB, 수신 완료 플래그 RFB를 클리어한다.
(c) 호스트로부터의 데이타 수신 시의 에러가 타임 아웃(Time Out)인 경우는 기본 디바이스, 확장 디바이스 모두 리셋트한다. 즉, 가) 확장 디바이스로의 ID를 반전시켜서 확장 디바이스로의 동작 정지 신호로 한다. 이에 따라, 확장 디바이스는 처리를 정지한다. 나) 기본 디바이스가 리셋트하여 복귀 후, ID를 반전(원래대로 복귀한다)한다. ID가 반전하면 확장 디바이스는 리셋트된다. 다) 리셋트 후에는 소프트 리셋트 후와 동일한 상태이다.커맨드 레퍼런스
커맨드 레퍼런스
프레임에 사용되는 각종 커맨드에 대해서 설명한다. 커맨드 코드는 01h∼FEh까지의 254개가 사용 가능하다. 00h와 FFh는 사용할 수 없다. 이 코드는 「통신 에러 때문에 데이타는 보증하지 않는다」의 의미로 사용하는 것이 예약되어 있다. 커맨드에는 컨트롤 커맨드 및 에러 커맨드가 포함된다.
컨트롤 커맨드
컨트롤 커맨드는 커맨드 코드 01h∼DFh의 범위를 사용한다. 이 커맨드는 데이타의 송수신을 컨트롤하기 위한 커맨드이다. 호스트, 기본 디바이스, 확장 디바이스 각각의 펑션·라이브러리에는 동일한 커맨드 코드이며 다른 커맨드를 설치해서는 안된다. 커맨드를 증설하는 경우는 규격 관리자에게 사전에 신고하여 규격의 통일을 꾀하는 것이 바람직하다. 이하, 컨트롤 커맨드에 대해서 설명한다.
디바이스 리퀘스트(Device Request, 도 71)
발행권 : 호스트
커맨드 코드 : 01h
데이타 사이즈 : 00h
데이타 영역 : none
기대 응답값 : 디바이스 스테이터스[Device Status]
설명 : 송신처 AP의 주변 장치에 대해서 [Device Status]를 요구하는 커맨드이다. 포트에 대해서 접속 체크에도 사용한다.
올 스테이터스 리퀘스트(All Status Request, 도 72)
발행권 : 호스트
커맨드 코트 : 02h
데이타 사이즈 : 00h
데이타 영역 : none
기대 응답값 : 디바이스 올 스테이터스[Device All Status]
설명 : 송신처 AP의 주변 장치에 대해서 모든 디바이스 스테이터스(고정 디바이스 스테이터스(Fixed Device Status)와 자유 디바이스 스테이터스(Free Device Status)의 양쪽)를 요구한다.
디바이스 리셋트(Device Reset, 도 73)
발행권 : 호스트
커맨드 코드 : 03h
데이타 사이즈 : 00h
데이타 영역 : none
기대 응답값 : 디바이스 리플라이[Device Reply]
설명 : 송신처 AP에서 지정되는 주변 장치에 대해서 초기화할 수 있다.
동작순 : (1) 주변 장치는 디바이스 리플라이[Device Reply]를 회신한다. (2) 주변 장치는 자기를 초기화한다.
디바이스 킬(Device Kill, 도 74)
발행권 : 호스트
커맨드 코드 : 04h
데이타 사이즈 : 00h
데이타 영역 : none
기대 응답값 : 디바이스 리플라이[Device Reply]
설명 : 송신처 AP에서 지정되는 주변 장치에 대해서 동작을 인정하지 않는다. 주변 장치는 스탠바이 소비 전류로 대기하고, 커맨드를 일체 접수하지 않는다. 동작시키기 위해서는 하드 리셋트 또는 전원을 차단하여 재동작시킬 필요가 있다.
동작순 : (1) 주변 장치는 디바이스 리플라이[Device Reply]를 되돌린다. (2) 주변 장치는 동작을 정지한다.
디바이스 스테이터스(Device Status)
발행권 : 주변 장치
커맨드 코드 : 05h
데이타 사이즈 : 1Ch(28)
데이타 영역 : 디바이스 ID : 16바이트, 보낼 곳의 코드 : 1바이트, 제품명 : 31바이트, 라이센스 : 60바이트, 스탠바이 소비 전류 : 2바이트, 최대 소비 전류 : 2바이트
설명 : 호스트로부터의 디바이스 리퀘스트[Device Request]에 대하여, 고정 디바이스 스테이터스[Fixed Device Status] 데이타를 되돌려 준다. 내용의 상세는 후술하는 주변 장치의 정보에 기재되어 있다.
디바이스 올 스테이터스(Device All Status)
발행권 : 주변 장치
커맨드 코드 : 06h
데이타 사이즈 : 1Ch+(n/4)
데이타 영역 : 고정 디바이스 스테이터스[Fixed Device Status] : 112바이트, 디바이스 ID : 16바이트, 보낼 곳의 코드 : 1바이트, 제품명 : 31바이트, 라이센스 : 60바이트, 스탠바이 소비 전류 : 2바이트, 최대 소비 전류 : 2바이트, 자유 디바이스 스테이터스[Free Device Status] : n 바이트
설명 : 호스트로부터의 올 스테이터스 리퀘스트[All Status Request]에 대해서 고정 디바이스 스테이터스와 자유 디바이스 스테이터스의 양쪽을 되돌려 준다. 내용의 상세는 후술하는 주변 장치의 정보에서 설명된다.디바이스 리플라이(Device Reply)
디바이스 리플라이(Device Reply)
발행권 : 주변 장치
커맨드 코드 : 07h
데이타 사이즈 : 00h
데이타 영역 : none
설명 : 주변 장치로부터의 회신으로서 사용한다.
데이타 트랜스퍼(Data Transfer, 도 75)
발행권 : 주변 장치
커맨드 코드 : 08h
데이타 사이즈 : n(01h≤n≤FFh)
데이타 영역 : 펑션 타입: 4바이트, 데이타 : (n-1)×4바이트
기대 응답값 : none
설명 : 호스트로부터 지정된 펑션 타입의 데이타를 되돌려 준다. 데이타는 요구된 커맨드이고 상이하다.
겟 컨디션(Get Condition, 도 76)
발행권 : 호스트
커맨드 코드 : 09h
데이타 사이즈 : 01h
데이타 영역 : 펑션 타입: 4바이트
기대 응답값 : 데이타 트랜스퍼[Data Transfer]
설명 : 주변 장치의 펑션 타입으로 지정된 펑션의 물리적 상태를 요구한다. 주변 장치는 호스트로부터 보내져 온 펑션 타입과 동일한 타입으로 되돌려 준다. 한번에 지정할 수 있는 펑션 타입은 1개뿐이다.
겟 미디어 인포메이션(Get Media Information, 도 77)
발행권 : 호스트
커맨드 코드 : 0Ah
데이타 사이즈 : 02h
데이타 영역 : 펑션 타입: 4바이트, PT(파티션) : 4바이트(중 3바이트는 더미)
기대 응답값 : 데이타 트랜스퍼[Data Transfer]
설명 : 주변 장치의 펑션 타입과 PT에서 지정한 펑션의, 미디어(Media) 정보를 요구한다. 상세는 각각의 펑션 타입의 사양서에 의한다.
블럭 판독(Block Read, 도 78)
발행권 : 호스트
커맨드 코드 : 0Bh
데이타 사이즈 : 02h
데이타 영역 : 펑션 타입: 4바이트, 파티션(PT) : 1바이트, 페이즈(Phase) : 1바이트, 블럭 번호(Block No.) : 2바이트
기대 응답값 : 데이타 트랜스퍼[Data Transfer]
설명 : 주변 장치의 펑션 타입과 정보 기록 매체의 파티션, 페이즈, 블럭 번호로 지정한 장소(예를 들면, FDD, HDD, 메모리나 CD-ROM 등의 데이타 기록 장소)의 데이타를 요구한다. 상세는 각각의 펑션 타입의 사양서에 의한다.
블럭 기록(Block Write, 도 79)
발행권 : 호스트
커맨드 코드 : 0ch
데이타 사이즈 : 02h+n
데이타 영역 : 펑션 타입: 4바이트, 파티션 : 1바이트, 페이즈 : 1바이트, 블럭 번호 : 2바이트 기록 데이타 : n×4바이트
기대 응답값 : 디바이스 리플라이[Device Reply]
설명 : 주변 장치의 펑션 타입과, 파티션, 페이즈, 블럭 번호로 지정한 장소로 데이타를 기록한다. 상세는 각각의 펑션 타입의 사양서에 의한다.
겟 래스트 에러(Get Last Error, 도 80)
발행권 : 호스트
커맨드 코드 : 0Dh
데이타 사이즈 : 02h
데이타 영역 : 펑션 타입: 4바이트, 파티션 : 1바이트, 페이즈 : 1바이트, 블럭 번호 : 2바이트
기대 응답값 : 디바이스 리플라이[Device Reply]
설명 : 직전의 커맨드에 대해서 에러가 발생하는지를 조사한다. 에러가 없으면 디바이스 리플라이[Device Reply]를, 에러가 있으면 에러 커맨드를 되돌려준다. 파티션과 블럭 번호는 직전의 커맨드의 값을 그대로, 페이즈는 +1한다. 상세는 각각의 펑션 타입의 사양서에 의한다.
에러 커맨드
다음에, 에러 커맨드에 대해서 설명한다. 에러 커맨드는 커맨드 코드 E0h∼FEh의 범위를 사용한다. 에러 커맨드는 데이타의 송수신이나 처리에 대해서 에러가 발생한 것을 알린다. 호스트, 기본 디바이스, 확장 디바이스 각각의 펑션·라이브러리는 동일한 커맨드 코드이며 다른 커맨드를 설치하는 것은 금지된다. 에러 커맨드를 증설하는 경우는 규격 관리자에게 사전에 신고하여 규격의 통일을 꾀하는 것이 바람직하다. 이하, 에러 커맨드에 대해 설명한다.
펑션 타입 언노운(Function Type Unknown)
발행권 : 주변 장치
커맨드 코드 : FEh
데이타 사이즈 : 00h
데이타 영역 : none
설명 : 송신되어 온 펑션 타입으로 지정되는 펑션이 주변 장치에 존재하지 않는 경우에 발행한다.
생각되는 원인 : (1) 펑션 타입의 지정이 잘못되었다. (2) 데이타의 기술이 잘못되었다. (3) 디바이스 ID가 데이타 손상되었다. (4) 통신 중에 데이타 손상되었다.
대처 : (1) 펑션 타입의 지정을 바르게 한다. (2) 데이타의 기술을 바르게 한다. (3) 한번 더 디바이스 리퀘스트[Device Request]을 송신하고, 디바이스 ID를 얻는다. (4) 한번 더 송신해 본다(최대 3회까지, 이후 타임 아웃과 같은 처리).
커맨드 언노운(Command Unknown)
발행권 : 주변 장치
커맨드 코드 : FDh
데이타 사이즈 : 00h
데이타 영역 : none
설명 : 송신되어 온 커맨드가 주변 장치측의 펑션에 준비되어 있지 않을 때에 발행한다.
생각되는 원인 : (1) 커맨드의 지정이 잘못되었다. (2) 데이타의 기술이 잘못되었다. (3) 디바이스 ID가 데이타 손상되었다. (4) 통신 중에 데이타 손상되었다.
대처 : (1) 커맨드의 지정을 바르게 한다. (2) 데이타의 기술을 바르게 한다. (3) 한번 더 디바이스 리퀘스트[Device Request]을 송신하고 디바이스 ID를 얻는다. (4) 한번 더 송신해 본다(최대 3회까지, 이후 타임 아웃과 동일 처리).
트랜스미트 어게인(Transmit Again)
발행권 : 호스트, 주변 장치
커맨드 코드 : FCh
데이타 사이즈 : 00h
데이타 영역 : none
설명 : 송신되어 온 데이타가 어떠한 에러가 있는 경우, 한번 더 동일한 데이타를 보내도록 요구한다.
생각되는 원인 : (1) 패리티 에러가 발생하였다. (2) 데이타가 오버플로우하였다. (3) 통신 중에 데이타 손상되었다.
대처 : 한번 더 송신한다(최대 3회까지, 이후 타임 아웃과 동일 처리).
파일 에러(File Error)
발행권 : 주변 장치
커맨드 코트 : FBh
데이타 사이즈 : 01h
데이타 영역 : 펑션·에러 코드
설명 : 파일 펑션(File Function)에서 에러가 발생했을 때에 발행한다. 펑션·에러 코드로 상세한 에러를 되돌려 준다.
생각되는 원인 :
File Function의 펑션·에러 코드
Bit 7 6 5 4 3 2 1 0
1stData FE31 FE30 FE29 FE28 FE27 FE26 FE25 FE24
2ndData FE23 FE22 FE21 FE20 FE19 FE18 FE17 FE16
3rdData FE15 FE14 FE13 FE12 FE11 FE10 FE9 FE8
4thData FE7 FE6 FE5 FE4 FE3 FE2 FE1 FE0
[표 34]에서 에러가 발생한 항목이 '1'이 되며, 에러가 아닌 항목은 '0'이 된다.
FE0는 파티션 에러(PT Error), FE1은 페이즈 에러(Phase Error),
FE2는 블럭 에러(Block Error), FE3는 기록 에러(Write Error),
FE4는 데이타 길이 에러(Length Error), FE5는 CRC 에러(CRC Error)를 나타낸다. 이하는 예약된다.
LCD 에러(LCD Error)
발행권 : 주변 장치
커맨드 코트 : FAh
데이타 사이즈 : 01h
데이타 영역 : 펑션·에러 코드
설명 : LCD 펑션(LCD Function)에서 에러가 발생했을 때에 발행한다. 펑션·에러 코드이며 상세한 에러를 되돌려 준다.
생각되는 원인 :
LCD Function의 펑션·에러 코드
Bit 7 6 5 4 3 2 1 0
1stData FE31 FE30 FE29 FE28 FE27 FE26 FE25 FE24
2ndData FE23 FE22 FE21 FE20 FE19 FE18 FE17 FE16
3rdData FE15 FE14 FE13 FE12 FE11 FE10 FE9 FE8
4thData FE7 FE6 FE5 FE4 FE3 FE2 FE1 FE0
[표 35]에서 에러가 발생한 항목이 '1'이 되며, 에러가 아닌 항목은 '0'이 된다. FE0는 PT Error, FE1은 Phase Error, FE2는 Block Error, FE3는 Write Error, FE4는 Length Error, FE5는 none을 나타낸다. 이하는 예약된다.
주변 장치의 정보
기본 디바이스 및 확장 디바이스 고유의 정보(디바이스 스테이터스)에 대해서 설명한다. 디바이스 스테이터스는 재기록할 수 있거나 소거 못하도록 하고 그 대로의 데이타를 기록한다. 디바이스 스테이터스에는 고정 디바이스 스테이터스(Fixed Device Status)와 자유 디바이스 스테이터스(Free Device Status)가 있다. 고정 디바이스 스테이터스는 절대로 기술하지 않으면 안되는, 112바이트의 포맷이 정해진 디바이스 스테이터스이다. 모든 항목을 기술하지 않고 있으면 동작, 접속의 보증은 없다. 자유 디바이스 스테이터스는 개개의 디바이스에 의해 자유롭게 사용해도 좋은 디바이스 스테이터스이다. 용량은 최대 912바이트이다.
고정 디바이스 스테이터스(Fixed Device Status)
고정 디바이스 스테이터스는 하기의 항목 모두를 기술해야만 한다.
(1) 디바이스 ID
용량 : 16바이트
설명 : 주변 장치의 속성, 데이타 포맷(펑션)을 나타낸다. 디바이스 ID에 대해서는 프로토콜의 항에 관련 기재가 있다.
(2) 보낼 곳
용량 : 1바이트
설명 : 제품의 상품 등을 보낼 곳(판매 지역)을 나타낸다. 보낼 곳의 설정 비트의 구성을 [표 36]에 나타낸다. 보낼 곳의 설정 비트와 상품 등을 보낼 곳과의 관계를 [표 37]에 나타낸다.
보낼 곳의 설정 비트의 구성
Bit 7 6 5 4 3 2 1 0
data DES7 DES6 DES5 DES4 DES3 DES2 DES1 DES0
보낼 곳의 설정 비트
상품 등을 보낼 곳 설정 비트
북 아메리카 지역 DES0='1'
일본 지역 DES1='1'
아시아 지역 DES2='1'
유럽 지역 DES3='1'
예약 지역 1 DES4='1'
예약 지역 2 DES5='1'
예약 지역 3 DES6='1'
예약 지역 4 DES7='1'
보낼 곳의 설정 비트
상품 등을 보낼 곳 설정 비트
북 아메리카 지역 DES0='1'
일본 지역 DES1='1'
아시아 지역 DES2='1'
유럽 지역 DES3='1'
예약 지역 1 DES4='1'
예약 지역 2 DES5='1'
예약 지역 3 DES6='1'
예약 지역 4 DES7='1'
예를 들면, 전세계 공통인 경우는 DES='11111111'=FFh, 일본과 아시아 방향 공통의 경우는 DES='110'=06h가 된다. DES=00h는 지정 금지이다.
(3) 제품명
용량 : 31바이트
설명 : 제품명을 영어 또는 로마자로 기술한다. 전각, 반각을 문제삼지 않는다. 나머지의 용량(비트)에는 스페이스 코드(20h)를 넣는다. 이 제품명은 사전 등록한다.
(4) 라이센스
용량 : 60 바이트
설명 : 제품의 라이센스 표시를 영어 또는 로마자로 ASCII 코드로 기술한다. 나머지 용량에는 스페이스 코드(20h)를 넣는다. 예를 들면, 「Produced By or Under License From XXXXX, LTD.」라고 기술한다.
(5) 스탠바이 소비 전류
용량 : 2바이트
설명 : 일시 정지 시의 소비 전류를 0.1㎃ 단위로 16진수로 기술한다. 예를 들면, 10.5㎃인 경우는 00-69h로 기술한다.
(6) 최대 소비 전류
용량 : 2바이트
설명 : 최대 소비 전류를 0.1㎃ 단위로 16진수로 기술한다. 예를 들면, 127.9㎃인 경우는 04-FFh로 기술한다.
자유 디바이스 스테이터스(Free Device Status)
자유 디바이스 스테이터스는 제품의 기획자, 개발자, 설계자, 프로그래머 등이 자유롭게 기술할 수 있는 영역으로, 올 디바이스 리퀘스트[All Device Request]로 호스트는 취득할 수 있다. 어플리케이션 소프트 등으로 사용하는 경우에는 데이타 배열 등의 대응을 해 둘 필요가 있다.
본 발명을 이용한 기본 디바이스, 확장 디바이스의 다른 예에 대해서 도면을 참조하여 설명한다.
도 81은 상대 어드레스를 사용하는 제1 실시 형태에 관한, 다른 기본 디바이스(컨트롤러)의 구성예를 개략적으로 나타내고 있다. 상대 어드레스 방식에 따른 도 33에 도시한 U 디바이스 펑션의 구성예에서는 SDCKA OUT의 단자(저항이 접속되어 있다)에 의해 확장 디바이스의 접속의 유무를 판단하고 있지만, 이 예에서는 도 64에 도시하는 예와 마찬가지로, 각 확장 커넥터에 저항 R을 접속한 단자 ID2를 설치하여, 이 단자에서 발생된 전압을 판별하여 확장 소켓의 접속의 유무를 판단하고 있다.
도 81에서 기본 디바이스(게임 컨트롤러; 2)의 제어 회로는 소위 1 칩 마이크로 컴퓨터 시스템(200)에 의해 구성하는 것이 가능하다. 컴퓨터 시스템(200)에는 각 부의 제어를 행하는 CPU(201a), CPU(201a)의 제어 프로그램이나 데이타 라이브러리를 저장하는 ROM(201b), CPU 프로그램이나 데이타를 저장하여 데이타 처리를 행하기 위해서 사용되는 RAM(201c), 11개의 디지탈 스위치(206)의 압압 조작을 코드 데이타로 변환하는 I/O부(202a), 4개의 아날로그 스위치(207)의 가변적인 레벨 출력을 데이타 신호로 변환하는 A/D 변환기(202b), 기본 디바이스와 호스트와의 데이타 통신, 확장 디바이스와 호스트와의 데이타 통신의 보조를 행하는 기본 디바이스용 MIE(205)를 포함하고 있다. 또한, 컴퓨터 시스템(200)에는 전원 투입 시에 리셋트 신호를 생성하는 저항, 캐패시터, 다이오드로 이루어지는 리셋트 신호 생성 회로, 시스템의 각종 클럭 신호를 발생하는 크리스탈 발진기, 기본 디바이스용 MIE(205)의 신호용 전압 및 확장 디바이스용 신호 전압 3.3V를 전원 Vcc(+5V)로부터 생성하는 전압 변환 회로를 포함한다. 기본 디바이스로의 전원 Vcc(+5V)는 외부 접속 케이블을 통해 게임 장치로부터 공급된다. 외부 접속 케이블은 신호선 SDCKA, 신호선 SDCKB, 전원선 Vcc 및 접지선 GND에 의해 구성된다. 게임 장치로부터 외부 접속 케이블을 통해 공급되는 전원 Vcc(+5V)는 상술한 신호용 전원(+3.3V)과 함께 확장 커넥터를 통해 도시하지 않은 확장 디바이스에 공급된다.
CPU(201a), ROM(201b) 및 RAM(201c)은 도 33에서의 CPU에 A/D 변환기(202b) 및 I/O부(202a)는 I/O에, 기본 디바이스용 MIE(205)는 통신 처리부, 소켓 컨트롤부 및 게이트류에 대응하고 있다. 기본 디바이스(2)에는 M 버스를 통해 호스트로부터 전원 Vcc 및 접지 GND가 공급된다. 또한, 신호선 SDCKA 및 SDCKB에 의해 데이타 통신이 행해진다. 기본 디바이스와 확장 디바이스 간은 신호선 SDCKA-US-1, SDCKA-DS-1, SDCKA-EN-1, SDCKB-US-1, SDCKB-DS-1, SDCKB-EN-1, SDCKA-US-2, SDCKA-DS-2, SDCKA-EN-2, SDCKB-US-2, SDCKB-DS-2, SDCKB-EN-2, 전원 Vcc(+5V, 3.3V), 접지선 GND(4개)에 의해 접속된다. 또, 이 예에서는 기본 디바이스가 확장 커넥터를 2개 갖는 경우에 설명하고 있지만, 상술한 바와 같이, 외부로의 확장 커넥터를 4개 갖을 수 있다. 이 경우, 확장 디바이스의 접속을 확인하기 위한 ID2는 ID2-1∼ID2-4까지 구비한다. 기본 디바이스(2)의 동작은 도 33에 도시한 U 디바이스 펑션과 동일하므로 그 설명은 생략한다.
도 82는 절대 어드레스를 사용하는 제2 실시 형태에 관한, 다른 기본 디바이스(컨트롤러)의 구성예를 상대 어드레스를 사용하는 도 81의 예에 대응하여 나타내고 있다. 도 82에서 도 65 혹은 도 81과 대응하는 부분에는 동일 부호를 붙이고, 이러한 부분의 설명은 생략한다. 절대 어드레스 방식을 채용하는 기본 디바이스에서는 I/O 블럭(202a)은 CPU의 출력에 따라 각 확장 소켓의 ID0, ID1 단자를 통해 접속된 확장 디바이스에 LM 버스의 번호를 알린다. ID0, ID1 단자의 역할은 도 59를 참조한 확장 디바이스의 AP의 설정 순서로 설명되어 있다. I/O(202a)로부터 단자 ID0-1 및 ID1-1은 제1 확장 소켓에 단자 ID0-2 및 ID1-2는 제2 확장 소켓에 설치된다.
도 83 및 도 84는 각각 상대 어드레스 방식 및 절대 어드레스 방식의, LCD 표시기(LCD 카트리지)를 구비하는 확장 디바이스의 예를 나타내고 있다.
양 도면에서 확장 디바이스(LCD 카트리지; 3)의 제어 회로는 소위 1칩 마이크로 컴퓨터 시스템(300)에 의해 구성하는 것이 가능하다. 컴퓨터 시스템(300)에는 각 부의 제어를 행하는 CPU(301), CPU(301)의 제어 프로그램이나 데이타 라이브러리를 저장하는 ROM(302), CPU의 프로그램이나 데이타를 저장하여 데이타 처리를 행하기 위해서 사용되는 RAM(303), 확장 디바이스와 호스트와의 데이타 통신을 행하는 확장 디바이스용 MIE(304), 입력 및 출력의 인터페이스를 행하는 I/O부(305), LCD(308)의 표시를 제어하는 LCD 컨트롤러(306), LCD의 엘리멘트를 구동하는 LCD 드라이버(307)를 포함하고 있다. 확장 디바이스용 MIE(304)는 기본 디바이스의 MIE와 마찬가지로 구성되지만, LM 버스 컨트롤러(203a) 및 이에 관련된 게이트는 구비하고 있지 않다. LCD 카트리지는 호스트로부터 M 버스, LM 버스, MIE(304)를 통해 프레임 형식으로 송신된 문자 데이타, 정지화상 데이타, 동화상 데이타(LD, CD-V, DVD, 텔레비젼의 비디오 정보를 포함한다) 등을 RAM(303)에 저장한다. 그리고, CPU(301)에 의해 이것 등의 표시해야 할 데이타를 LCD 컨트롤러(306)에 제공하여 영상화한다.
또한, 컴퓨터 시스템(300)에는 전원 투입 시에 리셋트 신호를 생성하는 리셋트 신호 생성 회로, 클럭 신호를 발생하는 크리스탈 발진기, 필요에 따라 설치되는 디바이스용 MIE(205)의 신호 등의 전압 3.3V를 전원 Vcc(+5V)로부터 생성하는 전압 변환 회로(도시하지 않음)를 포함한다. 전원 Vcc(5V, 3.3V)는 기본 디바이스측으로부터 공급되지만, 확장 디바이스는 목적으로 하는 기능을 실현하는 데에 필요한 전압을 내부 회로에서 생성할 수 있다. 신호선 ID2에는 확장 디바이스측에서 전원 전압 Vcc가 인가된다. 절대 어드레스의 확장 디바이스에서는 상술한 바와 같이, I/O부(305)에 LM 버스 번호를 알리는 ID0, ID1이 접속된다.
도 85 및 도 86은 각각 상대 어드레스 방식 및 절대 어드레스 방식의 메모리 카트리지(확장 디바이스)의 예를 나타내고 있다. 양 도면에서 도 83 및 도 84와 대응하는 부분에는 동일 부호를 붙여서 이러한 부분의 설명은 생략한다.
이 예에서는 EEPROM이나 전지로 백업된 메모리 등의 불휘발성 RAM(312)을 구비하고 있다. 보존해야 할 데이타가 MIE(304)를 통해 RAM(303)에 저장된다. CPU(301)는 저장된 데이타를 불휘발성 RAM(312)에 외부 출력 버스 드라이버(311)를 통해 기록한다. 또한, CPU(301)는 호스트로부터의 지령에 따라 RAM(312)에 기록된 데이타를 RAM(303)에 판독하고, MIE(304)을 통해 호스트에 전송한다. 예를 들면, 플레이어가 게임을 도중에 멈추는 경우에, 호스트로부터 보내진 게임 도중까지의 게임 파라메터를 RAM(312)에 보존함으로써, 다음번의 게임을 게임 도중부터 재개하는 것이 가능해진다. 또, 불휘발성 RAM(312) 부분을 소켓을 통해 버스 드라이버(311)와 접속하도록 하여, 카드화한 복수의 불휘발성 RAM(312)을 교환 가능하게 할 수 있다. 또한, 컴퓨터 시스템(300)에 불휘발성 RAM(312)을 포함하도록 할 수도 있다.
도 87 및 도 88은 각각 상대 어드레스 방식 및 절대 어드레스 방식의 진동 카트리지(확장 디바이스)의 예를 나타내고 있다. 양 도면에서 도 83 및 도 84와 대응하는 부분에는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다.
이 예에서는 진동을 발생하는 편심추를 회전시키는 모터나 솔레노이드 등에 의한 진동체(322)를 구동하는 드라이버/컨트롤러부(321)를 구비한다. 진동체의 동작 지령 신호 혹은 동작 정지 지령 신호는 호스트로부터 MIE(304)를 통해 RAM(303)에 저장되며 CPU(301)에 의해 I/O부(305)를 통해 드라이버/컨트롤러부(321)에 제공된다.
도 89 및 도 90은 각각 상대 어드레스 방식 및 절대 어드레스 방식의 라이트 건(광선 총) 카트리지(확장 디바이스)의 예를 나타내고 있다. 양 도면에서 도 83 및 도 84와 대응하는 부분에는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다.
이 예에서는 텔레비젼 화면 상의 어느 부분(광선총의 착탄점)을 주사하는 전자빔에 의한 휘점(輝点)이 라이트 건 카트리지의 렌즈를 통해 수광 소자(332)에 받아들여진다. 수광 신호는 증폭기(331)에 의해 레벨 증폭된다. 게임 컨트롤러의 방아쇠(예를 들면, 후술하는 도 97b의 2d)가 조작되면 트리거 신호가 발생하고, 증폭기(331)의 출력이 검출 신호로서 MIE(304)에 공급된다. 이 신호는 호스트에 전송되어 HV 카운터의 래치 신호로서 사용된다.
도 91 및 도 92는 상대 어드레스 방식 및 절대 어드레스 방식의 음성 입력 카트리지(확장 디바이스)의 예를 나타내고 있다. 양 도면에서 도 83 및 도 84와 대응하는 부분으로는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다.
이 예에서는 마이크(345)의 출력이 증폭기(344)에서 적당한 레벨로 증폭되며, A/D 변환기(343)에 의해 샘플링된다. 샘플링된 음성 데이타는 버퍼 메모리(342)의 제1 및 제2 레지스터(FIFO)에 교대로 저장된다. 이 데이타를 버스 컨트롤러(341)가 판독하고 로컬 버스를 통해 MIE(304)의 송수신 버퍼에 송출한다. MIE(304)에 의해 음성 데이타는 프레임화되어 호스트(게임 장치)로 보내진다. 이러한 기능은 소위 음성 입력, 가라오케, 전화기, 통신기 등으로서 호스트를 사용하는 것을 가능하게 한다.
도 93 및 도 94는 각각 상대 어드레스 방식 및 절대 어드레스 방식의 음성 출럭 카트리지(확장 디바이스)의 예를 나타내고 있다. 양 도면에서 도 83 및 도 84와 대응하는 부분에는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다.
이 예에서는 호스트로부터 송신된 음성 데이타가 MIE(304)로부터 로컬 버스를 통해 버스 컨트롤러(351)에 공급된다. 버스 컨트롤러(351)는 음성 데이타를 FIFO(First In First Out) 동작의 메모리(352)에 저장하고 순차 전송되는 음성 데이타를 연결한다. 메모리(352)로부터 출력된 음성 데이타는 D/A 변환기(353)에 의해 음성 신호로 변환되며, 증폭기(354)에서 레벨 증폭되어 스피커(355)로부터 음성으로서 출력된다. 이러한 기능은 소위 호스트의 음성에 의한 응답(음성 출력) 기능, 게임의 효과음(특히, 복수 스피커 구성에 의한 음향 효과), 가라오케, 전화의 수화기 등으로서 사용 가능하다.
또, 상술한 발명의 실시 형태는 2개 규격의 형식으로 설명되어 있지만 제1 실시 형태의 구성 요소와 제2 실시 형태의 구성 요소를 기술적으로 모순되지 않는 범위에서 조합하는 것이 가능하다. 또한, 본 발명은 게임 장치로의 적용에 한정되는 것은 아니라 소형의 컴퓨터 시스템, 컴퓨터 네트워크, 컴퓨터 응용 장치, 휴대형 통신 단말 장치 등에도 적용 가능하다.
도 95 및 도 96은 호스트 및 주변 장치 상호 간을 접속하는 M 버스를 와이어리스 구성으로 한 다른 실시 형태를 나타내고 있다. 양 도면에서 제1 및 제2 실시 형태와 대응하는 부분으로는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다.
도 95에서 호스트(게임 장치; 1)의 패리페럴 컨트롤러(1h)와, 주변 장치(기본 디바이스; 2)의 패리페럴 컨트롤러와의 각각에 무선 모뎀 장치(500)가 접속되어 있다. 무선 모뎀 장치(500)는 데이타 컨트롤러(501), 송신부(502), 듀플렉서(503), 수신부(504), 안테나(505) 등에 의해 구성되며, 호스트와 주변 장치 상호 간의 통신 데이타를 중계한다. 이 경우, 주변 장치(2)는 전지 구동으로 할 수 있다.
데이타 컨트롤러(501)는 송신해야 할 SDCKA 신호 및 SDCKB 신호를 다중값 변조, 예를 들면 π/4 시프트 QPSK 변조에 의해 송신하도록, 데이타 처리를 행하여 I 신호 성분, Q 신호 성분의 데이타를 형성한다. 이 직교 성분의 데이타를 송신부(502)에 공급한다. 또한, 데이타 컨트롤러(501)는 수신부(504)에 의해 복호화된 I, Q 성분의 데이타로부터 SDCKA 신호 및 SDCKB 신호를 형성하여 패리페럴 컨트롤러(501)에 공급한다. 송신부(502)는 다치 변조기, 예를 들면 π/4 시프트 QPSK 변조를 행하는 직교 변조기를 구비하고, 프레임 데이타를 담당하는 주파수 f1의 캐리어 신호를 형성한다. 이 캐리어 신호는 듀플렉서(503)에 의해 안테나(505)로 도출되며 자유 공간에 전파로서 방사된다. 한편, 주변 장치(2)측의 안테나(505)에 도래한 전파는 캐리어 신호가 되며, 듀플렉서(503)에 의해 수신부(504)로 유도된다. 수신부(504)는 예를 들면, 동기 검파기를 구비하고 있으며 캐리어 신호로부터 I 신호 성분, Q 신호 성분을 분리하고 다중값 데이타를 복호한다. 상술한 바와 같이, 데이타 컨트롤러(501)는 다중값 데이타로부터 SDCKA 신호 및 SDCKB 신호를 형성하여 패리페럴 컨트롤러(501)에 공급한다.
이 결과, 호스트와 주변 장치 간을 접속한 M 버스의 케이블류가 불필요해진다. 와이어리스의 주변 장치(2)는 호스트로부터 이격된 배치나 사용 형태의 자유도가 증가한다. 상술한 무선 모뎀 장치(500)는 휴대형 전화 장치(혹은 PHS 장치)를 활용하는 것이어도 좋다. 이 경우에는 비교적 염가로 IC 칩을 입수할 수 있어, 주변 장치의 와이어리스 사용 뿐만 아니라 호스트를 통신 회선에 접속한 대전(對戰)형 게임이나 인터넷의 사용이 가능해진다.
또, SDCKA 신호 및 SDCKB 신호의 2개 신호에 대응하여 송신계 및 수신계를 이중으로 구성하고, 두개의 통신 채널 f1, f2를 사용하는 구성으로 해도 좋다. 또한, SDCKA 신호 및 SDCKB 신호를 일단 직렬 데이타의 프레임 신호로 복귀하고 나서 상대측으로 하나의 통신 채널 f1으로 송신하고, 수신측에서 복조한 프레임 신호로부터 SDCKA 신호 및 SDCKB 신호를 복호하는 구성으로 해도 좋다.
도 96은 도 95에 도시한 와이어리스 구성을 광 통신에 의해 구성한 예를 나타내고 있다. 도 96에서 도 95와 대응하는 부분에는 동일 부호를 붙이고 있다. 이러한 부분의 설명은 생략한다.
이 예에서는 광(예를 들면, 적외선)에 의한 통신을 행하기 때문에, 적외선 모뎀 장치(600)가 이용되고 있다. 적외선 모뎀 장치(600)는 데이타 컨트롤러(601), 변조기(602), 발행부(603), 수광부(604), 복조부(605) 등에 의해 구성된다. 데이타 컨트롤러(601)는 SDCKA 신호 및 SDCKB 신호를 일단 직렬 데이타의 프레임 신호로 복귀한다. 변조기(602)는 프레임 신호에 의해 구동 전류를 변조한다. 변조로서는 예를 들면, 레벨 변조 혹은 주파수 변조를 선택할 수 있다. 구동 전류는 발광부(603)의 발광 소자 예를 들면, 적외선 발광의 LED에 공급되어 LED를 점멸시킨다. LED의 점멸광은 광학계를 거쳐서 외부로 방사된다. 이 방사광은 다른쪽의 적외선 모뎀 장치(600)의 수광부(604)에 입사한다. 입사광은 수광 소자 예를 들면, 포토 트랜지스터에 의해 전기 신호로 변환되며, 복조부(605)에 의하여 디지탈 데이타 신호로 복조된다. 이 데이타 신호는 데이타 컨트롤러(601)에 의해 SDCKA 신호 및 SDCKB 신호로 복귀되며 패리페럴 컨트롤러로 보내진다. 호스트(게임 장치; 1) 혹은 주변 장치(2)의 패리페럴 컨트롤러에 대해서는 이미 상술되어 있다.
이와 같이, M 버스의 구성은 유선 뿐만 아니라 무선에 의해 구성할 수도 있다.
다음에, 호스트 및 주변 장치의 커넥터 등에 대해서 도 97을 참조하여 설명한다. 도 97a는 호스트로서의 게임 장치(1)와, 주변 장치로서의 기본 디바이스(게임 컨트롤러; 2)를 접속하는 M 버스 커넥터를 설명하는 설명도이다. 도 97에서 도 1과 대응하는 부분에는 동일 부호를 붙이고 있다.
이 예에서는 게임 장치의 정면측에 4개의 커넥터(소켓; 1i)를 구비하고 있다. 이 커넥터(1i) 중 어느 하나에 게임 컨트롤러(2)의 커넥터(플래그; 110)가 접속된다. 소켓(1i) 및 플래그(110)는 각각 5단자(핀)를 구비하는 후술하는 형상을 하고 있다. 게임 컨트롤러(2)의 상면에는 A, B, C 및 D 버튼(A, B, C, D 스위치; 2a), 십자키(상하 좌우 방향 지시 스위치; 2b), 게임 컨트롤러(2)의 보유부에는 트리거 레버(트리거 스위치; 2d)가 설치되어 있다(도 97b 참조). 이것 등의 버튼류는 디지탈 입력의 스위치류(206)를 액츄에이트한다. 또한, 아날로그 입력을 행하는 아날로그 스위치(207)를 액츄에이트하는 아날로그 버튼(아날로그 키; 2c)을 구비하고 있다. 아날로그 키는 예를 들면 화면 상의 커서나 포인터를 연속적으로 이동하기 위해서 사용된다.
도 97b는 기본 디바이스(게임 컨트롤러; 2)와 도시하지 않은 확장 디바이스(3)를 접속하는 LM 버스 커넥터(131)를 설명하는 설명도이다. 도 97에서 도 97a와 대응하는 부분에는 동일 부호를 붙이고 이러한 부분의 설명은 생략한다. 게임 컨트롤러(2)의 게임 장치(1c)와 서로 마주보는 배면측에는 2개의 LM 버스 커넥터(소켓; 131)가 설치되어 있다.
도 98a는 다른 게임 컨트롤러의 예를 나타내고 있다. 이 게임 컨트롤러는 확장 디바이스와 합체하는 기능을 갖고 있다.
도 98a에서 게임 컨트롤러(2)는 A, B, C 및 D 버튼(2a), 십자키(2b), 아날로그 키(2c), 레버(2d; 상술한 도 97b 참조), 스타트 버튼(스타트 스위치; 2e)을 구비하고 있다. 또한, 게임 컨트롤러의 배면측(도 97b 참조)에 확장 디바이스를 삽입하는 슬롯을 구비하고 있다. 게임 컨트롤러(2)의 상면 중앙의 배면측에 창(2f)이 설치되어 있다.
도 98b는 확장 디바이스(3)로서의 LCD 카트리지의 예를 나타내고 있다. LCD 카트리지(3)를 상기 슬롯에 삽입하고, 확장 커넥터(131)를 통해 게임 컨트롤러(2)에 접속하면, LCD 카트리지의 LCD 패널(308)이 이 창(2f)의 바로 아래에 위치하도록 구성된다. 이 결과, 게임 컨트롤러(2)에 LCD 카트리지(3)를 접속하면, 게임 장치(1)로부터 보내지는 비디오 화상 등을 게임 컨트롤러(2)로 볼 수 있게 된다. 또한, 이 LCD 카트리지(3)에는 십자키(2b), A, B, C, D 버튼(2a) 등이 설치되며 LCD 카트리지(2) 단체로도 형태형 게임 장치로서 즐길 수 있도록 구성되어 있다.
도 99∼도 101은 M 버스에 사용되는 M 버스 커넥터의 구성을 설명하는 도면이다.
도 99는 호스트(1)의 케이싱에 설치되는 버스 커넥터(1i)의 소켓측을 정면 방향(삽입 방향)으로부터 본 상태의 개략을 나타내고 있다. 소켓은 대략 D자형의 외주부(101)와, 대략 D자형의 6각형상의 핀 베이스(102)와, 외주부(101)와 핀 베이스(102) 사이에 형성된 대략 D자형의 홈(103)을 포함하여 구성되어 있다. 소켓은 절연성 플라스틱의 사출 성형품이며 핀 베이스(102)의 주면(상면)에는 접촉 핀 No.1, No.3, No.5가 형성되며 상기 주면과 평행한 반대면(하면)에는 접촉 핀 No.2 및 No.4가 형성되어 있다. 접촉 핀 No.2는 접촉 핀 No.1 및 No.3 상호 간에 존재하는 절연 영역과 대항하도록 배치되어, 접촉 핀 No.1 혹은 No.3와 용량 결합이 생기기 어렵게 되어 있다. 마찬가지로, 접촉 핀 No.4는 접촉 핀 No.3 및 No.5 상호 간에 존재하는 절연 영역과 대항하도록 배치되어, 접촉 핀 No.3 혹은 No.5와 용량 결합이 생기기 어렵게 되어 있다. 각 접촉 핀은 금속의 탄성체이며 도시하지 않은 핀 베이스(102)의 배면측의 5개의 기판 접속용 단자와 연결되어 있다. 접촉 핀 No.1과 No.5는 각각 데이타선 SDCKA 및 SDCKB와 접속된다. 접촉 핀 No.1 및 No.5 상호 간의 접촉 핀 No.3는 차폐선이 접속되어 데이타선이 접속되는 접촉 핀 No.1 및 No.5 상호 간의 결합이 방지된다. 접촉 핀 No.2 및 No.4는 전원선이며 각각 전원 Vcc 및 접지선 GND에 접속된다. 상술한 바와 같이, 접촉 핀 No.2 및 No.4의 각 금속면은 접촉 핀 No.1, No.3, No.5의 각 금속면과 직접 대항하지 않도록 배치되므로, 전원 Vcc 및 접지선 GND의 데이타선에 미치는 영향은 적다.
도 100은 버스 커넥터(1i)의 소켓에 대응하는 플래그측의 구성을 나타내고 있다. 도 100a는 플래그의 측면도, 도 100b는 상면도, 도 100c는 정면도이다. 플래그는 절연성이 좋은 플라스틱에 의해 성형되어 있으며, 참조 부호(111)은 와이어류와 접촉 핀의 단자와의 접속부를 내장하는 하우징, 참조 부호(112)는 단면이 소켓의 홈(103)의 형상에 대응한 대략 D자형의 삽입부, 참조 부호(113)은 삽입부의 대략 D자형의 내벽, 참조 부호(114)는 핀 베이스(102)의 외형에 대응한 형상의 홈, No.1∼No.5는 내벽(113)에 설치된 접촉 핀이다. 각 접촉 핀은 금속의 탄성체이며 소켓의 각 핀에 대응하여 설치된다. 플래그의 삽입부(112)를 소켓의 홈(103)에 삽입함으로써 서로의 접촉 핀 No.1∼No.5끼리 접속된다.
도 101은 M 버스 케이블의 주변 장치(기본 디바이스)측의 커넥터(플래그)를 설명하는 정면도이다. 절연성이 좋은 플라스틱에 의해 성형된 플래그(121)는 케이블의 각 와이어에 접속되는 단자 No.1∼No.5를 구비하고 있다. 각 단자는 대략 직육면체 혹은 판형체(板狀體)의 소켓의 일측면에 일렬로 배치되어 있다. 이 소켓(121)은 주변 장치의 기판의 배선에 커넥터(소켓)를 통하거나 혹은 납땜에 의해 직접 접속된다.
도 102는 기본 디바이스와 확장 디바이스를 접속하는 LM 버스 커넥터의 소켓(131)의 구성예를 나타내고 있다. 도 102a는 상면도, 도 102b는 정면도이다. 또한, 도 103은 LM 버스 커넥터의 플러그(141)의 구성예를 나타내고 있다. 도 103a는 상면도, 도 103b는 정면도이다.
소켓(131)은 개략적으로 삽입부(132), 피삽입부(133) 및 양자를 결합 혹은 수용하는 하우징(134)에 의해 구성된다. 마찬가지로, 플래그(141)도 삽입부(142), 피삽입부(143) 및 양자를 결합 혹은 수용하는 하우징(144)에 의해 구성된다. 소켓(131)의 삽입부(132)는 플래그(141)의 피삽입부(143)에 삽입되며, 플래그(141)의 삽입부(142)는 소켓(131)의 피삽입부(133)에 삽입된다.
소켓(131)의 삽입부(132)는 하우징(134)의 정면 좌측의 일면으로부터 돌기하는 기둥형체이며, 상기 기둥형체의 정면측 단부면에 좌우 방향으로 연장하는 「I」자형(직사각형)의 삽입홈(132a)이 형성되어 있다. 이 삽입홈은 삽입부(132)를 플래그(141)의 홈(143a)에, 상기 홈 내의 판형의 핀 베이스(143c)를 걸치도록 하여 삽입하기 위해서 설치된 홈이다. 오삽입의 방지 혹은 복수의 접속 핀을 기둥형체 부재(132)의 대략 중앙에 배열하기 위해서 삽입 홈(132a)은 기둥형체 단부면의 상하 방향의 중앙보다도 하측으로 치우쳐 형성되어 있다. 삽입홈(132a)의 내벽면(132b)의 상측면에 금속 접속 핀 No.1∼No.7이 일렬로 배치되어 있다. 이들 접속 핀은 기둥형체(132) 단부면의 상하 방향의 대략 중앙 위치에 존재하고 있다. 접속 핀 No.1∼No.7의 각각은 도시하지 않았지만, 하우징(134)의 배면측에 접속 핀 No.1∼No.7에 대응하여 각각 설치된 복수의 접속 단자의 각각까지 연장하여, 기판의 배선 또는 케이블과 접속된다. 접속 핀 No.1∼No.7은 각각 전원선 Vcc(3.3V), 전원선Vcc(5V), 제어선 SDCKA EN, 데이타선 SDCKB DS, 데이타선 SDCKA US, 식별선 ID(1) 및 접지선 GND에 접속된다.
소켓(131)의 피삽입부(133)는 하우징(134)의 정면 우측으로부터 돌기하는 기둥형체이며, 상기 기둥형체(133)의 정면측 단부에는 핀 베이스(133c)를 일주하는 「O」자형 홈(133a)이 형성되어 있다. 홈(133a)의 내벽(133b)의 형상은 플래그(141)의 삽입부(142)의 외형에 대응하고 있다. 홈 중앙의 핀 베이스(133c)는 좌우 방향으로 연장하는 「I」자형의, 홈(142a)에 대응한 형상의 판형체이다. 핀 베이스(133c)의 상면은 기둥형체(133)의 단부면의 상하 방향의 대략 중앙 위치가 되도록 이루어지며, 이 상면에 금속 탄성체의 접속 핀 No.8∼No.14가 배치되어 있다. 접속 핀 No.8∼No.14의 각각은 도시하지 않았지만, 각각 하우징(134)의 배면측의 대응하는 각 접속 단자까지 연장하여, 기판의 배선 또는 케이블과 접속된다. 접속 핀 No.8∼No.14는 각각 접지선 GND, 식별선 ID2, 데이타선 SDCKB DS, 데이타선 SDCKB US, 제어선 SDCKB EN 및 식별선 ID0에 접속된다. 또, 접속 핀 No.14는 현 시점에서 사용되어 있지 않으며 빈 단자로 되어 있다.
소켓(131)에 삽입되는 플래그(141)는 소켓(131)과 마찬가지로 형성된다. 다만, 도 103a에 도시한 바와 같이 접속 핀 No.1∼No.7은 피삽입부(143) 내에 설치되며, 접속 핀 No.8∼No.14는 삽입부(142) 내에 설치된다.
이와 같이 구성되는 확장 커넥터는 서로의 외형이 다른 삽입부(132, 142)와 피삽입부(133, 143)가 분리된 형태로 별도로 형성되어 있으므로, 사용자는 한번 보고 소켓(131) 및 플래그(141)의 접속 방향을 인식할 수 있다. 또, 하나의 접속 방향(형태)으로밖에 접속할 수 없으므로 오접속이 생기지 않는다. 또한, 접속 핀에 직접 손이 닿지 않는다는 이점이 있다.
이상 설명한 바와 같이, 본 발명에 따르면 2개의 데이타선과 비교적 간단한 I/O 회로 구성으로 게임 장치(혹은 호스트)와 주변 장치 상호 간의 데이타 통신을 행하는 것이 가능하게 되어 바람직하다.
또한, 데이타 통신을 행함에 있어서, 네트워크에 접속된 복수의 장치의 어드레스 설정이 자동적으로 행해지므로, 게임 장치(혹은 호스트)에 주변 장치를 자유롭게 접속할 수 있으며, 또한 접속한 주변 장치의 내용을 게임 장치가 파악할 수 있게 되므로 게임 장치와 같은 소비자용 컴퓨터 시스템으로서 가장 적합하다.
(부호의 설명)
1 : 호스트(게임 장치 본체)
2 : 기본 디바이스(주변 장치)
3 : 확장 디바이스(추가 주변 장치)
50 : 이니시에이터부
51 : 클럭 디바이더
52 : 커맨드 레지스터
52a : 타겟부
53 : 기록 레지스터
53a : 송신 데이타 FIFO
53b : 송신 데이타 템포러리 레지스터
54 : 인터럽트 컨트롤러
55 : 스테이터스 레지스터
56 : 판독 버퍼
56a : 수신 데이타 템포러리 레지스터
56b : 수신 데이타 FIFO
57 : 포트 컨트롤러
58 : 프레임 컨트롤러
59 : 프레임 인코더
60 : 교호 시프트 레지스터
61 : 프레임 디코더
62 : 교호 시프트 레지스터
63 : HV 래치 신호 컨트롤러
64 : 셀렉터
65 : 셀렉터
201 : CPU부
202 : I/O부
203 : 소켓 컨트롤부
203a : LM 버스 컨트롤러
204 : 통신 처리부
204a : 컨트롤 레지스터
204b : 패리티 레지스터
204c : 프레임 컨트롤러
204d : 라인 모니터
204e : 프레임 인코더
204f : 교호 시프트 레지스터
204g : 템포러리 레지스터
204h : 프레임 디코더
204i : 교호 시프트 레지스터
204j : 송수신 버퍼
204k : 데이타 길이 레지스터
205 : MIE(M 버스 인터페이스 엔진)
301 : CPU부
304 : MIE
306∼355 : 서포트 기능
SDCK : 직렬 데이타 클럭
API : 어플리케이션·프로그램·인터페이스

Claims (157)

  1. 데이타 전송 시스템에 있어서,
    제1 데이타 신호 및 제2 데이타 신호에 의하여 직렬로 데이타를 전송하도록 구성된 데이타 전송 장치를 포함하며,
    상기 제1 데이타 신호는 제1 펄스 열을 포함하는 제1 클록 신호 및 상기 데이타의 홀수 비트들을 포함하되, 상기 데이타의 홀수 비트들은 상기 제1 데이타 신호 내에서 상기 제1 클록 신호의 제1 펄스 열 사이에 순서대로 배열되고,
    상기 제2 데이타 신호는 상기 제1 클록 신호의 상기 제1 펄스 열과 동일한 주파수를 갖는 제2 펄스 열을 포함하는 제2 클록 신호 및 상기 데이타의 짝수 비트들을 포함하되, 상기 데이타의 짝수 비트들은 상기 제2 클록 신호의 상기 제2 펄스 열 사이에 순서대로 배열되고,
    상기 제1 및 제2 데이타 신호들 내의 상기 데이타 비트들은, 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호의 클록 신호 성분에 대응하는 타이밍에 위치하도록 분배되는 것을 특징으로 하는 데이타 전송 시스템.
  2. 제1항에 있어서, 상기 제1 및 제2 데이타 신호들을 수신하고, 상기 제1 및 제2 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 수신된 제1 및 제2 데이타 신호들로부터 상기 데이타를 검색(retrieve)하도록 구성된 데이타 수신 장치를 더 포함하는 것을 특징으로 하는 데이타 전송 시스템.
  3. 데이타 전송 시스템에 있어서,
    데이타를 제1 데이타 신호 및 제2 데이타 신호로 분배함으로써 데이타를 직렬로 전송하도록 구성된 데이타 전송기를 포함하며,
    상기 제1 및 제2 데이타 신호들은, 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 포맷을 갖도록 구성되고,
    상기 스타트 패턴은, 상기 제1 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제1 펄스 열을 포함하는 상기 제2 데이타 신호가 전송되는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 및 제2 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제1 및 제2 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제2 펄스 열을 포함하는 상기 제1 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 데이타 전송 시스템.
  4. 게임 장치에 있어서,
    내장된 데이타 전송 경로를 통하여 적어도 1 이상의 주변 장치에 접속되고, 데이타 프레임들로 구성되어 있는 제1 데이타 신호 및 제2 데이타 신호로 분배된 데이타를 수신 및 전송하도록 구성된 주변 포트를 포함하며,
    상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하며,
    상기 스타트 패턴은, 상기 제1 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제2 데이타 신호가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 상기 주변 장치에 전송하고자 하는 데이타를 포함하되, 상기 주변 장치에 전송하고자 하는 데이타는 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순서대로 삽입되고 상기 제2 데이타 열의 각 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순서대로 삽입되는 식으로 제1 데이타 열 및 제2 데이타 열은 각각 상기 제1 클록 신호 및 상기 제2 클록 신호에 부가되며, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상차가 있어서 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에 위치하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제1 데이타 신호가 제2 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 게임 장치는 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는 상기 데이타 프레임을 전송 단위로 하여 상기 적어도 1 이상의 주변 장치에 전송하는 것을 특징으로 하는 게임 장치.
  5. 제4항에 있어서, 상기 제1 및 제2 데이타 열들은 직렬 데이타를 포함하며, 상기 제1 데이타 열은 상기 적어도 1 이상의 주변 장치에 전송하고자 하는 상기 데이타의 홀수 비트들을 포함하고, 상기 제2 데이타 열은 상기 적어도 1 이상의 주변 장치에 전송하고자 하는 상기 데이타의 짝수 비트들을 포함하는 것을 특징으로 하는 게임 장치.
  6. 제4항에 있어서, 상기 위상차는, 상기 제1 및 제2 데이타 신호들 중 어느 하나에 포함된 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나에 포함된 클록 신호의 클록 신호 성분의 펄스 에지에 대응하는 타이밍에 위치하도록 설정되는 것을 특징으로 하는 게임 장치.
  7. 제4항에 있어서, 복수 개의 주변 포트들을 더 포함하고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 상기 게임 장치에 접속된 상기 복수 개의 주변 장치들 중의 해당 주변 장치의 어드레스, 상기 복수 개의 주변 장치들 중의 상기 해당 주변 장치와 접속된 주변 포트의 어드레스 및 상기 게임 장치로부터 상기 복수 개의 주변 장치들 중의 상기 해당 주변 장치에 전송하고자 하는 데이타를 포함하는 것을 특징으로 하는 게임 장치.
  8. 제4항에 있어서, 상기 신호 전송 경로는 적어도 한 쌍의 데이타 신호 라인 들을 포함하며, 상기 제1 및 제2 데이타 신호들이 상기 적어도 한 쌍의 데이타 신호 라인들을 통하여 따로따로 전송되도록 구성된 것을 특징으로 하는 게임 장치.
  9. 게임에 필요한 정보를 게임 장치에 전송하는 주변 장치에 있어서,
    커넥터를 포함하는 전송 경로를 포함하며, 상기 커넥터는 상기 전송 경로를 상기 게임 장치에 접속시키도록 구성되고, 상기 전송 경로는 데이타를 데이타 프레임을 각각 갖는 제1 데이타 신호 및 제2 데이타 신호로 분배하여 전송하고,
    상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하며,
    상기 스타트 패턴은, 상기 제1 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제2 데이타 신호가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 상기 게임 장치에 전송하고자 하는 데이타를 포함하되, 상기 게임 장치에 전송하고자 하는 데이타는 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순서대로 삽입되고 상기 제2 데이타 열의 각 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순서대로 삽입되는 식으로 상기 제1 및 제2 데이타 열들은 각각 상기 제1 및 제2 클록 신호들에 부가되며, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상차가 있어서 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에 위치하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제1 데이타 신호가 제2 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 주변 장치는 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는 상기 데이타 프레임을 전송 단위로 하여 상기 게임 장치에 전송하는 것을 특징으로 하는 주변 장치.
  10. 제9항에 있어서, 상기 제1 및 제2 데이타 열들은 직렬 데이타를 포함하며, 상기 제1 데이타 열은 상기 게임 장치에 전송하고자 하는 상기 데이타의 홀수 비트들을 포함하고, 상기 제2 데이타 열은 상기 게임 장치에 전송하고자 하는 상기 데이타의 짝수 비트들을 포함하는 것을 특징으로 하는 주변 장치.
  11. 제9항에 있어서, 상기 위상차는, 상기 제1 및 제2 데이타 신호들 중 어느 하나에 포함된 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나에 포함된 클록 신호의 클록 신호 성분의 펄스 에지에 대응하는 타이밍에 위치하도록 결정되는 것을 특징으로 하는 주변 장치.
  12. 제9항에 있어서, 상기 게임 장치는 복수 개의 입/출력 포트들을 포함하고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 상기 전송 경로를 통하여 상기 주변 장치와 접속된 상기 게임 장치의 입/출력 포트들 중의 해당 포트의 어드레스, 상기 주변 장치의 어드레스 및 상기 주변 장치로부터 상기 게임 장치의 입/출력 포트들 중의 상기 해당 포트에 전송하고자 하는 데이타를 포함하는 것을 특징으로 하는 주변 장치.
  13. 제9항에 있어서, 상기 신호 전송 경로는 한 쌍의 데이타 신호 라인들을 포함하며, 상기 제1 및 제2 데이타 신호들이 상기 한 쌍의 데이타 신호 라인들을 통하여 따로따로 전송되도록 구성된 것을 특징으로 하는 주변 장치.
  14. 제9항에 있어서, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 송신측 어드레스 및 수신측 어드레스를 포함하고, 상기 주변 장치는 상기 주변 장치 내에 저장되어 있는 상기 주변 장치의 종류를 확인해주는 주변 장치 식별 정보에 기초하여, 또한 상기 주변 장치가 접속되어 있는 입/출력 포트에 관한 정보에 기초하여 상기 송신측 어드레스를 발생시키는 것을 특징으로 하는 주변 장치.
  15. 복수 개의 입/출력 포트를 구비한 게임 장치와의 데이타 통신을 수행하는 주변 장치에 있어서,
    데이타 전송기 -상기 주변 장치는 이 데이타 전송기를 통하여 상기 게임 장치의 상기 복수 개의 입/출력 포트들 중 하나에 접속되고, 상기 게임 장치는 상기 복수 개의 입/출력 포트를 각각에 할당된 포트 식별 정보를 저장하고 상기 주변 장치가 접속되어 있는 입/출력 포트를 나타내는 포트 식별 정보를 상기 주변 장치에 제공함-;
    상기 주변 장치의 종류를 확인해주는 상기 주변 장치 내에 저장된 주변 식별 정보; 및
    상기 데이타 전송기에 유기적으로 접속되어, 상기 주변 장치와 상기 게임 장치간의 데이타 통신을 제어하는 제어기를 포함하며, 상기 제어기는 상기 주변 식별 정보 및 상기 주변 장치가 접속되어 있는 입/출력 포트의 상기 포트 식별 정보에 기초하여 상기 주변 장치에 대한 어드레스를 발생시키고,
    상기 주변 장치는 상기 주변 장치가 상기 입/출력 포트에 접속되어 있는 동안 상기 제어기에 의해 발생되는 어드레스를 저장하고, 상기 저장된 어드레스와 상기 게임 장치로부터 전송된 데이타 내에 포함된 어드레스를 비교하여 그 어드레스들이 동일할 경우 상기 주변 장치에서 발생된 데이타를 상기 게임 장치에 전송하는 것을 특징으로 하는 주변 장치.
  16. 복수 개의 입/출력 포트를 구비한 게임 장치와의 데이타 통신을 수행하는 주변 장치에 있어서,
    상기 입/출력 포트들 중 하나에 접속 가능한 제1 데이타 전송 경로;
    확장 주변 장치와 접속 가능한 확장 커넥터;
    상기 확장 커넥터와 상기 제1 데이타 전송 경로를 유기적으로 결합시키는 제2 데이타 전송 경로;
    상기 제1 및 제2 전송 경로들에 유기적으로 접속되어, 상기 주변 장치와 상기 확장 주변 장치와 상기 게임 장치 사이의 데이타 통신을 제어하는 제어기; 및
    상기 주변 장치에 저장되어 있으며 상기 주변 장치가 상기 제1 데이타 전송 경로를 통하여 상기 게임 장치에 직접 접속되는 마스터 주변 장치임을 확인해주는 주변 장치 식별 정보를 포함하며,
    상기 제어기는 상기 주변 장치 식별 정보, 상기 제1 전송 경로를 통하여 기본 주변 장치와 접속된 입/출력 포트를 나타내는 입/출력 포트 정보, 및 상기 확장 커넥터에 확장 주변 장치가 접속되어 있는지 여부를 확인해주는 접속 상태를 나타내는 접속 정보에 기초하여 상기 주변 장치를 나타내는 어드레스를 발생시키는 것을 특징으로 하는 주변 장치.
  17. 제16항에 있어서, 확장 주변 장치가 상기 확장 커넥터와 접속되어 있는지 여부를 확인해주는 상기 접속 상태는, 상기 확장 주변 장치에 의해 제공되는 상기 확장 커넥터의 특정 단자에서의 전압 레벨을 확인함으로써 판정되는 것을 특징으로 하는 주변 장치.
  18. 제16항에 따른 주변 장치에 접속되도록 구성된 확장 주변 장치에 있어서,
    상기 확장 커넥터에 탈착 가능하게 접속되는 커넥터;
    상기 확장 주변 장치에 저장되어 있으며 상기 확장 주변 장치가 마스터 주변 장치의 확장 커넥터에 접속되는 슬레이브 주변 장치임을 확인해주는 확장 주변 장치 정보; 및
    상기 커넥터에 유기적으로 접속되어, 상기 제1 및 제2 전송 경로들을 통하여 상기 게임 장치와의 데이타 통신을 제어하는 제어기를 포함하며, 상기 제어기는 상기 제1 데이타 전송 경로를 통하여 상기 마스터 주변 장치가 접속된 입/출력 포트를 나타내는 상기 게임 장치로부터 제공되는 입/출력 포트 정보, 상기 확장 주변 장치 정보, 및 상기 확장 주변 장치와 접속된 확장 커넥터를 나타내는 상기 마스터 주변 장치에 의해 제공되는 확장 커넥터 정보에 기초하여 상기 확장 주변 장치를 나타내는 어드레스를 발생시키는
    것을 특징으로 하는 확장 주변 장치.
  19. 게임 장치에 있어서,
    메인 데이타 전송 경로;
    상기 메인 데이타 전송 경로를 통하여 기본 주변 장치 -상기 기본 주변 장치는, 보조 데이타 전송 경로를 통하여 확장 주변 장치가 상기 기본 주변 장치에 접속될 수 있는 구조를 가짐- 에 접속되도록 구성된 복수 개의 입/출력 포트들; 및
    상기 복수 개의 입/출력 포트들에 유기적으로 접속된 입/출력 제어기를 포함하며, 상기 제어기는 상기 메인 데이타 전송 경로를 통하여 상기 기본 주변 장치와의 데이타 통신을 제어하고, 확장 주변 장치가 상기 기본 주변 장치에 접속된 경우에 상기 메인 및 보조 데이타 전송 경로들을 통하여 확장 주변 장치와의 데이타 통신을 제어하고, 상기 데이타 통신은 데이타 전송 포맷에 따른 데이타 신호들로 수행되고,
    상기 데이타 전송 포맷은 데이타 패턴의 개시를 나타내는 스타트 패턴, 전송 데이타를 반송(搬送)하는 데이타 패턴, 및 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고,
    상기 데이타 패턴은 커맨드 및 파라미터를 포함하고,
    상기 파라미터는 전송 데이타의 수신측 장치를 나타내는 행선 어드레스 및 전송 데이타의 발신측 장치를 나타내는 소스 어드레스를 포함하고,
    상기 게임 장치는 상기 기본 주변 장치가 접속된 입/출력 포트를 나타내는 입/출력 포트 정보를 포함하여 상기 게임 장치를 나타내는 소스 어드레스를 발생시키고,
    상기 기본 주변 장치는 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 기본 주변 장치가 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치와 직접 접속되는 마스터 주변 장치임을 나타내는 상기 기본 주변 장치에 저장된 식별 정보, 및 상기 보조 데이타 전송 경로에 확장 주변 장치가 접속되어 있는지 여부를 확인해주는 접속 상태 정보에 기초하여 상기 기본 주변 장치를 나타내는 소스 어드레스를 발생시키고,
    확장 주변 장치가 상기 보조 데이타 전송 경로에 접속되는 경우, 상기 확장 주변 장치는 상기 메인 및 보조 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 확장 주변 장치가 접속되어 있는 보조 전송 경로를 나타내는 상기 기본 주변 장치에 의해 제공되는 보조 전송 경로 정보, 및 상기 확장 주변 장치가 상기 보조 데이타 전송 경로와 접속되는 슬레이브 주변 장치임을 나타내는 상기 확장 주변 장치에 저장된 식별 정보에 기초하여 상기 확장 주변 장치를 나타내는 소스 어드레스를 발생시키는
    것을 특징으로 하는 게임 장치.
  20. 제19항에 있어서, 상기 기본 주변 장치를 더 포함하며, 상기 기본 주변 장치는 복수 개의 보조 데이타 전송 경로들을 포함하고, 상기 복수 개의 보조 데이타 전송 경로들은 각각 병렬로 상기 메인 데이타 전송 경로에 공통으로 접속되는 것을 특징으로 하는 게임 장치.
  21. 제19항에 있어서, 상기 기본 주변 장치 및 상기 확장 주변 장치를 더 포함하며, 상기 기본 및 확장 주변 장치들은 상기 기본 주변 장치 및 상기 확장 주변 장치를 각각 마스터 주변 장치 및 슬레이브 주변 장치로서 확인해주는 정보를 포함하는 그들 고유의 정보를 저장하고, 상기 게임 장치는 상기 메인 및 보조 데이타 전송 경로들을 통하여 상기 고유 정보를 검색하는 것을 특징으로 하는 게임 장치.
  22. 제21항에 있어서, 상기 기본 주변 장치 및 상기 확장 주변 장치와 상기 게임 장치 상에서 실행되는 게임 애플리케이션간의 적합성(compatiblity)은 상기 고유 정보에 기초하여 결정되는 것을 특징으로 하는 게임 장치.
  23. 제19항에 있어서, 상기 메인 데이타 전송 경로는 적어도 2개의 데이타 라인들을 포함하고, 전송하고자 하는 데이타는 2개의 데이타 신호들로 분배되고 상기 2개의 데이타 신호들은 각각 상기 2개의 데이타 라인들을 통하여 전송되는 것을 특징으로 하는 게임 장치.
  24. 게임 장치용 기본 주변 장치에 있어서,
    메인 데이타 전송 경로 -이 메인 데이타 전송 경로를 통하여 상기 기본 주변 장치가 상기 게임 장치의 입/출력 포트에 접속될 수 있음-;
    확장 주변 장치가 접속될 수 있는 보조 데이타 전송 경로 -상기 확장 주변 장치가 상기 기본 주변 장치에 접속되면, 상기 확장 주변 장치는 상기 보조 데이타 전송 경로 및 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 유기적으로 접속됨-;
    상기 메인 및 보조 데이타 전송 경로들에 유기적으로 접속되어, 상기 게임 장치와 상기 기본 주변 장치 및 상기 확장 주변 장치 사이의 데이타 통신을 제어하는 입/출력 제어기 -상기 데이타 통신은 데이타 전송 포맷에 따라 발생되는 데이타 신호들로 수행됨-; 및
    상기 기본 주변 장치가 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 직접 접속되는 마스터 주변 장치임을 나타내는 상기 주변 장치에 저장된 식별 정보를 포함하며,
    상기 데이타 전송 포맷은 데이타 패턴의 개시를 나타내는 스타트 패턴, 전송 데이타를 반송하는 데이타 패턴, 및 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고,
    상기 데이타 패턴은 커맨드 및 파라미터를 포함하고,
    상기 파라미터는 전송 데이타의 수신측 장치를 나타내는 행선 어드레스 및 전송 데이타의 발신측 장치를 나타내는 소스 어드레스를 포함하고,
    상기 게임 장치는 상기 기본 주변 장치가 접속된 입/출력 포트를 나타내는 입/출력 포트 정보를 포함하여 상기 게임 장치를 나타내는 소스 어드레스를 발생시키고,
    상기 기본 주변 장치는 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 식별 정보, 및 상기 보조 데이타 전송 경로에 확장 주변 장치가 접속되어 있는지 여부를 확인해주는 접속 상태 정보에 기초하여 상기 기본 주변 장치를 나타내는 소스 어드레스를 발생시키는
    것을 특징으로 하는 기본 주변 장치.
  25. 제24항에 있어서, 상기 게임 장치의 입/출력 포트와 탈착 가능하게 접속되는 플러그 커넥터 -상기 플러그 커넥터는 상기 메인 데이타 전송 경로에 접속됨-, 및 상기 확장 주변 장치와 탈착 가능하게 접속되는 확장 커넥터를 더 포함하며, 상기 메인 데이타 전송 경로는 상기 보조 데이타 전송 경로를 통하여 상기 확장 커넥터와 결합되는 것을 특징으로 하는 기본 주변 장치.
  26. 제24항에 있어서, 상기 식별 정보를 포함하는 상기 기본 주변 장치 고유의 정보를 저장하는 메모리를 더 포함하며, 상기 고유 정보는 상기 게임 장치로부터의 요구에 응답하여 전송되는 것을 특징으로 하는 기본 주변 장치.
  27. 제24항에 있어서, 상기 메인 데이타 전송 경로는 적어도 2개의 데이타 라인들을 포함하고, 전송하고자 하는 데이타는 2개의 데이타 신호들로 분배되고 상기 2개의 데이타 신호들은 각각 상기 2개의 데이타 라인들을 통하여 전송되는 것을 특징으로 하는 기본 주변 장치.
  28. 주변 포트를 포함하는 게임 장치용 기본 주변 장치에 접속되는 확장 주변 장치에 있어서, 상기 기본 주변 장치는 내장된 메인 데이타 전송 경로를 통하여 상기 주변 포트와 탈착 가능하게 접속되고, 보조 데이타 전송 경로 및 이 보조 데이타 전송 경로를 통하여 상기 메인 데이타 전송 경로에 유기적으로 접속되는 확장 커넥터를 포함하며,
    상기 확장 주변 장치는,
    상기 확장 커넥터에 탈착 가능하게 접속되는 확장 주변 장치;
    상기 확장 주변 장치와 유기적으로 접속되어, 상기 메인 및 보조 데이타 전송 경로들을 통하여 상기 게임 장치와의 데이타 통신을 제어하는 입/출력 제어기 -상기 데이타 통신은 데이타 전송 포맷에 따라 발생된 데이타 신호들로 수행됨-; 및
    상기 확장 주변 장치가 마스터 주변 장치의 확장 커넥터에 접속되는 슬레이브 주변 장치임을 나타내는 상기 확장 주변 장치에 저장된 식별 정보를 포함하며,
    상기 데이타 전송 포맷은 데이타 패턴의 개시를 나타내는 스타트 패턴, 전송 데이타를 반송하는 데이타 패턴, 및 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고,
    상기 데이타 패턴은 커맨드 및 파라미터를 포함하고,
    상기 파라미터는 전송 데이타의 수신측 장치를 나타내는 행선 어드레스 및 전송 데이타의 발신측 장치를 나타내는 소스 어드레스를 포함하고,
    상기 게임 장치는 상기 기본 주변 장치가 접속된 입/출력 포트를 나타내는 입/출력 포트 정보를 포함하여 상기 게임 장치를 나타내는 소스 어드레스를 발생시키고,
    상기 확장 주변 장치는 상기 메인 및 보조 데이타 전송 경로들을 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 및 상기 식별 정보에 기초하여 상기 확장 주변 장치를 나타내는 소스 어드레스를 발생시키는
    것을 특징으로 하는 확장 주변 장치.
  29. 제28항에 있어서,
    상기 메인 데이타 전송 경로는 적어도 2개의 데이타 라인들을 포함하고,
    상기 보조 데이타 전송 경로는 업스트림(upstream) 방향으로 연장되는 적어도 2개의 데이타 라인들 및 다운스트림(downstream) 방향으로 연장하는 적어도 2개의 데이타 라인들을 포함하고,
    전송하고자 하는 데이타가 상기 메인 데이타 전송 경로의 상기 적어도 2개의 데이타 라인들 각각을 통하여, 그리고 상기 보조 데이타 전송 경로의 상기 적어도 2개의 데이타 라인들 각각을 통하여 전송되는 한 쌍의 데이타 신호들로 분배되고, 상기 수신측 장치는 제1 및 제2 데이타 신호들을 수신하고 상기 수신된 한 쌍의 데이타 신호들로부터 데이타를 검색하는
    것을 특징으로 하는 확장 주변 장치.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 제1항에 있어서, 상기 클록 신호 성분은 상기 제1 및 제2 클록 신호들에서의 펄스들 중 하나의 에지에 기초하여 검출되는 것을 특징으로 하는 데이타 전송 시스템.
  35. 데이타 전송 시스템에 있어서,
    데이타의 데이타 비트들을 제1 데이타 신호 및 제2 데이타 신호로 분배함으로써 복수 개의 데이타 비트들로 이루어진 데이타를 직렬로 전송하도록 구성된 데이타 전송기를 포함하며,
    상기 제1 데이타 신호는 펄스 열을 가진 제1 클록 신호 및 상기 데이타의 한 비트 거른 매 데이타 비트(every other data bit)를 포함하는 제1 데이타 비트 세트를 포함하되, 상기 제1 데이타 비트 세트에 포함된 상기 데이타의 상기 한 비트 거른 매 데이타 비트는 상기 제1 클록 신호의 상기 펄스들 사이에 순서대로 배열되고,
    상기 제2 데이타 신호는 펄스 열을 가진 제2 클록 신호 및 상기 제1 데이타 비트 세트에 포함되지 않은 상기 데이타의 한 비트 거른 매 데이타 비트를 포함하는 제2 데이타 비트 세트를 포함하되, 상기 제2 데이타 비트 세트에 포함된 상기 데이타의 상기 한 비트 거른 매 데이타 비트는 상기 제2 클록 신호의 상기 펄스들 사이에 순서대로 배열되고,
    상기 제1 및 제2 데이타 신호들 내의 상기 데이타 비트들은, 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호의 클록 신호 성분에 대응하는 타이밍에 위치하도록 분배되는 것을 특징으로 하는 데이타 전송 시스템.
  36. 제35항에 있어서, 상기 제1 및 제2 데이타 신호들을 수신하도록 구성되고, 상기 제1 및 제2 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 수신된 제1 및 제2 데이타 신호들로부터 상기 데이타를 검색하도록 구성된 데이타 수신기를 더 포함하는 것을 특징으로 하는 데이타 전송 시스템.
  37. 제35항에 있어서, 상기 클록 신호 성분은 상기 제1 및 제2 클록 신호들의 각 펄스의 상승 에지 및 하강 에지 중 어느 하나에 기초하여 검출되는 것을 특징으로 하는 데이타 전송 시스템.
  38. 데이타 전송 시스템에 있어서,
    복수 개의 주변 포트들을 구비한 게임 장치;
    적어도 1 이상의 주변 장치; 및
    상기 적어도 1 이상의 주변 장치를 상기 복수 개의 주변 포트들 중 하나에 접속시키는 전송 경로 -이 전송 경로를 통하여 상기 게임 장치 및 상기 1 이상의 주변 장치는 데이타를 데이타 프레임을 포함하는 한 쌍의 데이타 신호들로 변환하여 데이타를 전송함-를 포함하고,
    상기 한 쌍의 데이타 신호들의 하나의 데이타 프레임은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 한 쌍의 데이타 신호들의 상기 클록 펄스들 사이에 순서대로 번갈아 분배된 데이타의 비트들을 포함하되, 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에 위치하게 되는 기간만큼 상기 한 쌍의 데이타 신호들의 상기 클록 펄스 열들 간에 서로에 대하여 클록 펄스들의 타이밍이 시프트되어 있는 데이타 포맷을 갖고,
    수신 장치는 상기 한 쌍의 데이타 신호들을 수신하고 상기 한 쌍의 데이타 신호들 중 어느 하나의 전위 레벨을 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 수신된 한 쌍의 데이타 신호들로부터 데이타를 검색하는
    것을 특징으로 하는 데이타 전송 시스템.
  39. 제38항에 있어서, 상기 스타트 패턴은, 상기 한 쌍의 데이타 신호들 중 제2 데이타 신호가 일정한 전위 레벨을 유지하는 동안에 상기 한 쌍의 데이타 신호들 중 제1 데이타 신호가 제1 펄스 열을 전송하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 한 쌍의 데이타 신호들 중 제2 데이타 신호가 일정한 전위 레벨을 유지하는 동안에 상기 한 쌍의 데이타 신호들 중 제1 데이타 신호가 제2 펄스 열을 전송하는 데이타 포맷을 갖는 것을 특징으로 하는 데이타 전송 시스템.
  40. 제4항에 있어서, 상기 데이타 전송 경로를 더 포함하고, 상기 신호 전송 경로는 적어도 한 쌍의 무선 통신 채널(wireless communication channel)들을 포함하고, 상기 제1 및 제2 데이타 신호들이 상기 적어도 한 쌍의 무선 통신 채널들을 통하여 따로따로 전송되도록 구성된 것을 특징으로 하는 게임 장치.
  41. 제40항에 있어서, 상기 무선 통신 채널들은 무선(radio) 또는 광(optical) 통신 채널들인 것을 특징으로 하는 게임 장치.
  42. 게임 장치에 있어서,
    내장된 신호 전송 경로를 통하여 주변 장치에 접속되도록 각각 구성된 복수 개의 주변 포트들을 포함하며, 상기 게임 장치 및 상기 주변 장치는 데이타 프레임을 각각 포함하는 제1 데이타 신호 및 제2 데이타 신호에 데이타의 데이타 비트들을 분배함으로써 상기 신호 전송 경로를 통하여 대화식(interactive)으로 데이타를 전송하고,
    상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하며,
    상기 스타트 패턴은, 상기 제1 및 제2 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 중에 상기 제1 및 제2 데이타 신호들 중 다른 하나가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 전송하고자 하는 상기 데이타의 데이타 비트들을 포함하되, 전송하고자 하는 상기 데이타의 데이타 비트들은 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순차적으로 분배되고 상기 제2 데이타 열의 각 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순차적으로 분배되는 식으로 상기 제1 및 제2 클록 신호들과 관련하여 배열되고, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상이 시프트되어 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 데이타 패턴의 상기 데이타는 커맨드 및 파라미터를 포함하고, 상기 파라미터는 데이타를 송신하는 송신 장치의 어드레스 및 데이타를 수신하는 수신 장치의 어드레스를 포함하고,
    상기 엔드 패턴은, 상기 제1 및 제2 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 중에 상기 제1 및 제2 데이타 신호들 중 다른 하나가 상기 제1 펄스 열의 펄스 개수와 상이한 펄스 개수를 가진 제2 펄스 열을 전송하도록 구성된 데이타 포맷을 가지며,
    상기 송신 장치는 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 전송 단위로 하여 상기 제1 및 제2 데이타 신호들을 전송하고,
    상기 수신 장치는 상기 제1 및 제2 데이타 신호들을 수신하고 상기 제1 및 제2 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 제1 및 제2 데이타 신호들로부터 상기 데이타를 검색하는 것을 특징으로 하는 게임 장치.
  43. 제42항에 있어서, 상기 게임 장치가 상기 주변 장치에 데이타를 송신할 때, 상기 송신 장치의 어드레스는 상기 신호 전송 경로를 통하여 상기 주변 장치와 결합된 주변 포트의 어드레스이고, 상기 수신 장치의 어드레스는 상기 게임 장치가 데이타를 전송하는 상기 주변 장치의 어드레스인 것을 특징으로 하는 게임 장치.
  44. 제43항에 있어서, 상기 게임 장치에 접속 가능한 주변 장치를 더 포함하며, 상기 주변 장치가 상기 게임 장치에 데이타를 전송할 때, 상기 송신 장치의 어드레스는 상기 주변 장치의 어드레스이고, 상기 수신 장치의 어드레스는 상기 신호 전송 경로를 통하여 상기 주변 장치와 결합된 주변 포트의 어드레스인 것을 특징으로 하는 게임 장치.
  45. 제9항에 있어서, 상기 신호 전송 경로는 적어도 한 쌍의 무선 통신 채널들을 포함하고, 상기 제1 및 제2 데이타 신호들은 각각 상기 무선 통신 채널 쌍을 통하여 전송되도록 구성된 것을 특징으로 하는 주변 장치.
  46. 제45항에 있어서, 상기 무선 통신 채널들은 무선 또는 광 통신 채널들인 것을 특징으로 하는 주변 장치.
  47. 복수 개의 주변 포트들을 구비한 게임 장치에 이용되는 주변 장치에 있어서,
    상기 주변 장치가 상기 주변 포트들 중 어느 하나에 접속될 수 있게 해주는 전송 경로를 포함하고, 데이타의 데이타 비트들을 한 쌍의 데이타 신호들로 분배함으로써 상기 전송 경로를 통하여 데이타가 전송되고,
    상기 한 쌍의 데이타 신호들은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들이 클록 펄스들을 포함하고 전송하고자 하는 데이타의 데이타 비트들은 상기 한 쌍의 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 삽입되는 식으로 상기 한 쌍의 데이타 신호들로 분배되고, 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스 열은 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스 열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 게임 장치 및 상기 주변 장치는 상기 데이타 프레임을 갖는 데이타를 대화식으로 전송하고 상기 수신 장치는 상기 한 쌍의 데이타 신호들을 수신하고 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 상기 한 쌍의 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 데이타 신호들로부터 전송된 데이타를 검색하는
    것을 특징으로 하는 주변 장치.
  48. 게임 시스템에 있어서,
    게임 장치;
    장치 기능을 포함하는 주변 장치; 및
    상기 게임 장치와 상기 주변 장치를 접속시키는 전송 경로 -상기 전송 경로는 한 쌍의 직렬 데이타 신호들을 전송하는 한 쌍의 전송 채널들을 포함하고, 상기 전송 경로는 데이타의 데이타 비트들을 상기 한 쌍의 직렬 데이타 신호들에 분배하여 데이타를 전송하도록 구성됨-를 포함하며,
    상기 한 쌍의 직렬 데이타 신호들 각각은 전송 단위을 정의하고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하고,
    상기 데이타 패턴은, 상기 한 쌍의 직렬 데이타 신호들이 클록 펄스들 및 전송하고자 하는 상기 데이타의 데이타 비트들을 포함하되, 상기 전송하고자 하는 데이타의 데이타 비트들은 상기 한 쌍의 직렬 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 삽입되도록 분배되고, 상기 한 쌍의 직렬 데이타 신호들 중 어느 하나의 클록 펄스 열은 상기 한 쌍의 직렬 데이타 신호들 중 다른 하나의 클록 펄스 열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 직렬 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 직렬 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 게임 장치 및 상기 주변 장치의 장치 기능은 상기 데이타의 데이타 비트들을 상기 데이타 포맷으로 상기 한 쌍의 직렬 데이타 신호들에 분배함으로써 대화식으로 데이타를 전송하고, 상기 수신 장치는 상기 한 쌍의 직렬 데이타 신호들을 수신하고 상기 수신된 한 쌍의 직렬 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분의 타이밍에서 나타나는 상기 한 쌍의 직렬 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 직렬 데이타 신호들로부터 데이타를 검색하는
    것을 특징으로 하는 게임 시스템.
  49. 제48항에 있어서,
    상기 스타트 패턴은, 상기 한 쌍의 직렬 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 동안에 상기 한 쌍의 직렬 데이타 신호들 중 다른 하나가 제1 펄스열을 전송하는 데이타 포맷을 포함하고,
    상기 엔드 패턴은, 상기 한 쌍의 직렬 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 동안에 상기 한 쌍의 직렬 데이타 신호들 중 다른 하나가 제2 펄스열을 전송하는 데이타 포맷을 포함하는
    것을 특징으로 하는 게임 시스템.
  50. 제48항에 있어서, 상기 클록 신호 성분은 상기 한 쌍의 직렬 데이타 신호들의 복수 개의 클록 펄스들 중 적어도 하나의 에지에서 검출되는 것을 특징으로 하는 게임 시스템.
  51. 제49항에 있어서, 상기 일정한 전위 레벨은 전원 전위와 접지 전위 중 어느 하나인 것을 특징으로 하는 게임 시스템.
  52. 제49항에 있어서, 상기 제1 및 제2 펄스열들은 서로 다른 개수의 펄스들을 포함하는 것을 특징으로 하는 게임 시스템.
  53. 제48항에 있어서, 상기 한 쌍의 전송 채널들은 적어도 한 쌍의 데이타 신호 라인들을 포함하며, 상기 한 쌍의 직렬 데이타 신호들이 상기 적어도 한 쌍의 데이타 신호 라인들 중 각자의 데이타 신호 라인으로 따로따로 전송되도록 구성된 것을 특징으로 하는 게임 시스템.
  54. 제48항에 있어서, 상기 적어도 한 쌍의 전송 채널들은 적어도 한 쌍의 무선 통신 채널들을 포함하며, 상기 제1 및 제2 데이타 신호들 각각이 상기 적어도 한 쌍의 무선 통신 채널들 중 각자의 무선 통신 채널을 통하여 전송되도록 구성된 것을 특징으로 하는 게임 시스템.
  55. 제54항에 있어서, 상기 무선 통신 채널들은 무선 또는 광 통신 채널들인 것을 특징으로 하는 게임 시스템.
  56. 제48항에 있어서, 상기 게임 장치로부터 송신된 데이타 패턴은 상기 장치 기능에 대해 데이타를 송신할 것을 요구하는 커맨드를 포함하고, 상기 커맨드는 상기 수신 장치에 의해 검색되는 데이타에 포함되며,
    상기 장치 기능은 상기 한 쌍의 직렬 데이타 신호들을 수신하고 상기 수신된 한 쌍의 직렬 데이타 신호들로부터 데이타를 검색하고, 상기 검색된 데이타에 포함된 커맨드에 응답하여, 상기 데이타의 데이타 비트들을 상기 데이타 포맷에 따라 새로운 한 쌍의 직렬 데이타 신호들로 분배함으로써 상기 장치 기능에서 발생되는 데이타를 상기 전송 경로를 통하여 상기 게임 장치에 전송하는
    것을 특징으로 하는 게임 시스템.
  57. 제56항에 있어서, 고유의 포트 정보에 의해 각각 정의되는 복수 개의 주변 포트들을 더 포함하고,
    상기 주변 장치는 적어도 하나의 장치 기능을 포함하고,
    각각의 장치 기능은 상기 주변 장치에 저장되어 있고 상기 주변 장치의 종류를 확인해주는 주변 장치 식별 정보에 기초하여 그리고 상기 주변 장치가 상기 전송 경로를 통하여 입/출력 포트에 접속될 때 상기 게임 장치로부터 송신되는 입/출력 포트 관련 정보에 기초하여 발생된 어드레스를 갖고, 상기 발생된 어드레스는 상기 게임 장치와 상기 장치 기능간의 대화식 통신이 동작하는 동안에 상기 주변 장치에 저장되며,
    상기 주변 장치는 자체에 저장된 어드레스와 상기 게임 장치로부터 송신된 데이타 패턴에 포함된 어드레스를 비교하고, 자체에 저장된 어드레스가 상기 게임 장치로부터 송신된 데이타 패턴에 포함된 어드레스와 동일한 경우, 상기 게임 장치의 데이타 요구에 응답하여 상기 장치 기능에서 발생된 데이타를 상기 데이타 포맷으로 상기 전송 경로로 전송하는
    것을 특징으로 하는 게임 시스템.
  58. 게임 장치와 함께 사용되는 주변 장치에 있어서,
    상기 게임 장치의 주변 포트에 탈착 가능하게 접속되는 커넥터 및 상기 커넥터에 접속되는 한 쌍의 데이타 라인들을 구비한 케이블을 포함하며,
    상기 주변 장치와 상기 게임 장치는, 전송하고자 하는 데이타의 데이타 비트들을 한 쌍의 데이타 신호들로 분배하고 그 데이타 신호들을 각각 상기 한 쌍의 데이타 라인들을 통하여 전송함으로써 대화식으로 통신하고,
    상기 데이타 신호들은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하는 데이타 프레임을 갖고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들이 클록 펄스들 및 상기 전송하고자 하는 데이타의 데이타 비트들을 포함하되, 상기 데이타의 데이타 비트들이 상기 한 쌍의 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 삽입되도록 분배되고, 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스 열은 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스 열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 수신 장치는 상기 한 쌍의 데이타 신호들을 수신하고 상기 수신된 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 상기 한 쌍의 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 데이타 신호들로부터 전송된 데이타를 검색하는
    것을 특징으로 하는 주변 장치.
  59. 제58항에 있어서,
    상기 스타트 패턴은, 상기 한 쌍의 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 동안에 상기 한 쌍의 데이타 신호들 중 다른 하나가 제1 펄스열을 전송하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 한 쌍의 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 동안에 상기 한 쌍의 데이타 신호들 중 다른 하나가 제2 펄스열을 전송하는 데이타 포맷을 갖는
    것을 특징으로 하는 주변 장치.
  60. 제59항에 있어서, 상기 제1 펄스열은 적어도 4개의 펄스들을 포함하고 상기 제2 펄스열은 적어도 2개의 펄스들을 포함하는 것을 특징으로 하는 주변 장치.
  61. 제58항에 있어서,
    상기 게임 장치는 복수 개의 주변 포트들을 포함하고, 상기 주변 장치의 커넥터는 상기 복수 개의 주변 포트들 중 하나에 탈착 가능하게 접속될 수 있고, 상기 게임 장치는 상기 케이블의 커넥터를 통하여 상기 주변 장치와 접속된 주변 포트에 관한 정보를 포함하는 데이타를 상기 주변 장치에 송신하고,
    상기 주변 장치는 적어도 하나의 장치 기능을 포함하고, 고유의 식별 정보로서 상기 주변 장치에 저장되어 있는 상기 주변 장치의 종류를 확인해주는 식별 데이타뿐만 아니라, 상기 주변 장치가 상기 주변 포트에 접속될 때 상기 게임 장치로부터 송신되는 상기 주변 포트에 관한 정보에 기초하여 상기 장치 기능의 어드레스를 발생시키고, 상기 발생된 어드레스는 상기 주변 장치가 상기 주변 포트와 접속되어 있는 동안에 상기 주변 장치에 저장되는
    것을 특징으로 하는 주변 장치.
  62. 복수 개의 주변 포트들을 구비한 게임 장치와 함께 사용되는 주변 장치에 있어서, 상기 주변 장치가 상기 주변 포트들 중 하나에 접속될 때, 상기 게임 장치는 상기 주변 장치가 접속된 주변 포트를 나타내는 주변 포트 정보를 상기 주변 장치에 제공하도록 구성되어 있고,
    상기 주변 장치는,
    제1 전송 경로 -상기 주변 장치는 상기 제1 전송 경로를 통하여 상기 주변 포트들 중 하나에 접속될 수 있고, 데이타의 데이타 비트들을 한 쌍의 데이타 신호들로 분배함으로써 상기 전송 경로를 통하여 데이타가 전송됨-;
    확장 주변 장치와 접속될 수 있는 확장 커넥터;
    상기 확장 커넥터를 상기 제1 전송 경로에 유기적으로 접속시키는 제2 전송 경로; 및
    상기 주변 장치가 상기 제1 전송 경로에 직접 접속되는 마스터 주변 장치임을 확인해주는 식별 정보를 저장하는 메모리를 포함하고,
    상기 데이타 신호들은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하는 데이타 프레임을 갖고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들이 클록 펄스들 및 상기 전송하고자 하는 데이타의 데이타 비트들을 포함하되, 상기 데이타의 데이타 비트들이 상기 한 쌍의 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 삽입되도록 분배되고, 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스 열은 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스 열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 주변 장치를 나타내는 어드레스는 상기 식별 정보, 상기 게임 장치로부터 제공되는 주변 포트 정보, 및 확장 주변 장치가 상기 확장 커넥터에 접속되어 있는지 여부에 관한 상태를 나타내는 확장 커넥터 정보에 기초하여 발생되고, 상기 발생된 어드레스는 상기 게임 장치에 송신되는 데이타 신호들의 데이타 패턴 내에 포함되는
    것을 특징으로 하는 주변 장치.
  63. 제62항에 있어서, 상기 게임 장치와 상기 주변 장치는 상기 데이타 프레임에 따라 분배된 데이타 비트들을 갖는 데이타를 포함하는 데이타 신호들을 대화식으로 전송하고, 상기 수신 장치는 상기 한 쌍의 데이타 신호들을 수신하고 상기 수신된 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 상기 한 쌍의 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 데이타 신호들로부터 전송된 데이타를 검색하는 것을 특징으로 하는 주변 장치.
  64. 제62항에 있어서, 상기 확장 주변 장치가 상기 확장 커넥터에 접속되고 상기 게임 장치로부터 송신된 데이타 신호들의 데이타 패턴이 상기 확장 주변 장치를 나타내는 어드레스를 포함할 경우, 상기 주변 장치는 상기 제1 및 제2 전송 경로들을 통하여 상기 게임 장치와 상기 확장 주변 장치간의 데이타 전송을 가능하게 하도록 구성되는 것을 특징으로 하는 주변 장치.
  65. 게임 장치와 함께 사용되는 마스터 주변 장치에 접속되는 확장 주변 장치에 있어서, 상기 게임 장치는 복수 개의 주변 포트들을 구비하고 있고 마스터 주변 장치가 상기 주변 포트들 중 어느 하나와 접속될 경우 상기 게임 장치는 상기 마스터 주변 장치와 접속된 주변 포트를 나타내는 주변 포트 정보를 상기 마스터 주변 장치에 제공하도록 구성되어 있고, 상기 마스터 주변 장치는 제1 전송 경로 -상기 마스터 주변 장치는 이 제1 전송 경로를 통하여 상기 주변 포트들 중 어느 하나에 접속될 수 있음-, 확장 주변 장치와 접속될 수 있는 확장 커넥터, 및 상기 확장 커넥터를 상기 제1 전송 경로에 유기적으로 접속시키는 제2 전송 경로를 구비하고 있으며,
    상기 확장 주변 장치는,
    상기 확장 커넥터에 탈착 가능하게 접속될 수 있는 커넥터; 및
    상기 확장 주변 장치가 마스터 주변 장치의 확장 커넥터와 접속될 수 있는 슬레이브 주변 장치임을 나타내는 식별 정보를 저장하는 기억 장치를 포함하고,
    상기 확장 주변 장치가 상기 확장 커넥터와 접속될 경우, 상기 게임 장치와 상기 확장 주변 장치는 대화식으로 데이타를 전송하되, 상기 데이타의 데이타 비트들은 한 쌍의 데이타 신호들로 분배되어 상기 제1 및 제2 전송 경로들을 통하여 전송되며,
    상기 데이타 신호들은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하는 데이타 프레임을 갖고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들이 클록 펄스들 및 전송하고자 하는 데이타의 데이타 비트들을 포함하되, 상기 데이타의 데이타 비트들이 상기 한 쌍의 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 삽입되도록 분배되고, 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스 열은 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스 열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 확장 주변 장치를 나타내는 어드레스는, 상기 확장 주변 장치의 상기 식별 정보, 상기 게임 장치로부터 제공되는 주변 포트 정보, 및 상기 확장 주변 장치와 접속된 상기 확장 커넥터를 식별해주는 상기 기본 주변 장치로부터 제공되는 확장 커넥터 정보에 기초하여 발생되고, 상기 발생된 어드레스는 상기 게임 장치에 전송되는 데이타 신호들의 데이타 패턴 내에 포함되고,
    상기 수신 장치는 상기 제1 및 제2 신호들을 수신하고 상기 제1 및 제2 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 상기 제1 및 제2 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 데이타 신호들로부터 전송된 데이타를 검색하는
    것을 특징으로 하는 확장 주변 장치.
  66. 제16항에 있어서, 확장 주변 장치가 상기 확장 커넥터에 접속되고 상기 게임 장치로부터 송신된 데이타 신호가 상기 확장 주변 장치를 나타내는 어드레스를 포함할 경우, 상기 주변 장치는 상기 제1 및 제2 전송 경로들을 통하여 상기 게임 장치와 상기 확장 주변 장치간의 데이타 전송을 가능하게 하도록 구성되는 것을 특징으로 하는 주변 장치.
  67. 제9항에 따른 주변 장치와 함께 사용되는 장치 커넥터에 있어서, 상기 게임 장치는 버스 커넥터를 구비한 주변 포트를 포함하고, 상기 버스 커넥터는 절연체로 이루어지고 서로에 대하여 실질적으로 평행하게 연장된 제1 기판 표면 및 제2 기판 표면을 갖는 기판, 상기 제1 기판 표면 상에 배치된 한 쌍의 콘택들 및 상기 제2 기판 표면 상에 배치된 한 쌍의 콘택들을 포함하되, 상기 제1 기판 표면 상의 상기 한 쌍의 콘택들을 통하여 상기 제1 및 제2 데이타 신호들이 전송되고, 상기 제2 기판 표면 상의 상기 한 쌍의 콘택들을 통하여 전력이 공급되며,
    상기 장치 커넥터는,
    상기 기판이 탈착 가능하게 삽입되는 개구부(opening)를 구비한 연장부를 포함하는 전기 절연 부재 -상기 제1 및 제2 기판 표면들의 형상에 각각 대응하도록 상기 개구부 내에 제1 벽면 및 제2 벽면이 배치됨-;
    상기 기판이 상기 개구부 내에 삽입될 경우 상기 제1 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제1 벽면 상에 배치된 한 쌍의 콘택들; 및
    상기 기판이 상기 개구부 내에 삽입될 경우 상기 제2 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제2 벽면 상에 배치된 한 쌍의 콘택들
    을 포함하는 것을 특징으로 하는 장치 커넥터.
  68. 제67항에 있어서, 상기 제1 벽면 상의 상기 한 쌍의 콘택들 사이에 배치된 또 하나의 콘택을 더 포함하며, 이 또 하나의 콘택은 실드 전위(shield potential)에 접속되는 것을 특징으로 하는 장치 커넥터.
  69. 제67항에 있어서, 상기 제2 벽면 상의 상기 한 쌍의 콘택들 중 하나에는 전원 전위가 공급되도록 구성되고, 상기 제2 벽면 상의 상기 한 쌍의 콘택들 중 다른 하나에는 접지 전위가 공급되도록 구성된 것을 특징으로 하는 장치 커넥터.
  70. 제47항에 따른 주변 장치와 함께 사용되는 장치 커넥터에 있어서, 상기 게임 장치 내의 상기 복수 개의 주변 포트들 각각은, 제1 개구부, 서로에 대하여 실질적으로 평행하게 연장된 제1 기판 표면 및 제2 기판 표면을 갖고 상기 제1 개구부 내에 배치된 전기 절연체로 이루어진 기판, 상기 제1 기판 표면 상에 배치된 한 쌍의 금속 콘택들 및 상기 제2 기판 표면 상에 배치된 한 쌍의 금속 콘택들을 구비한 소켓 커넥터를 포함하되, 상기 제1 기판 표면 상의 상기 한 쌍의 금속 콘택들을 통하여 상기 제1 및 제2 데이타 신호들이 전송되고, 상기 제2 기판 표면 상의 상기 한 쌍의 금속 콘택들을 통하여 전력이 공급되며,
    상기 장치 커넥터는,
    제2 개구부, 상기 제2 개구부 내에 배치된 제1 벽면 및 제2 벽면을 갖는 전기 절연체로 이루어진 플러그 부재 -상기 플러그 부재는 상기 소켓 커넥터의 상기 제1 개구부 내로 탈착 가능하게 삽입되고, 상기 기판은 상기 제2 개구부 내로 탈착 가능하게 삽입되고, 상기 플러그 부재가 상기 제1 개구부 내로 삽입될 경우, 상기 제1 및 제2 벽면들은 각각 상기 제1 및 제2 기판 표면들에 대향하여 배치되도록 구성됨-;
    상기 플러그 부재가 상기 소켓 커넥터의 상기 제1 개구부 내에 삽입될 경우 상기 제1 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제1 벽면 상에 배치된 한 쌍의 금속 콘택들; 및
    상기 플러그 부재가 상기 소켓 커넥터의 상기 제1 개구부 내에 삽입될 경우 상기 제2 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제2 벽면 상에 배치된 한 쌍의 금속 콘택들
    을 포함하는 것을 특징으로 하는 장치 커넥터.
  71. 제58항에 따른 주변 장치용의 플러그 커넥터를 구비한 장치 케이블에 있어서, 상기 게임 장치는 주변 포트를 포함하고, 이 주변 포트는, 실질적으로 D형의 형상을 가진 제1 개구부, 서로에 대하여 실질적으로 평행하게 연장된 제1 기판 표면 및 제2 기판 표면을 갖고 상기 제1 개구부 내에 배치된 전기 절연체로 이루어진 기판, 상기 제1 기판 표면 상에 배치된 한 쌍의 금속 콘택들 및 상기 제2 기판 표면 상에 배치된 한 쌍의 금속 콘택들을 구비한 소켓 커넥터를 포함하되, 상기 제1 기판 표면 상의 상기 한 쌍의 금속 콘택들을 통하여 상기 제1 및 제2 데이타 신호들이 전송되고, 상기 제2 기판 표면 상의 상기 한 쌍의 금속 콘택들을 통하여 전력이 공급되며,
    상기 플러그 커넥터는,
    실질적으로 D형의 형상을 갖고, 제2 개구부, 상기 제2 개구부 내에 배치된 제1 벽면 및 제2 벽면을 갖는 전기 절연체로 이루어진 플러그 부재 -상기 플러그 부재는 상기 소켓 커넥터의 상기 제1 개구부 내로 탈착 가능하게 삽입되고, 상기 기판은 상기 제2 개구부 내로 탈착 가능하게 삽입되고, 상기 플러그 부재가 상기 제1 개구부 내로 삽입될 경우, 상기 제1 및 제2 벽면들은 각각 상기 제1 및 제2 기판 표면들에 대향하여 배치되도록 구성됨-;
    상기 플러그 부재가 상기 소켓 커넥터의 상기 제1 개구부 내에 삽입될 경우 상기 제1 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제1 벽면 상에 배치된 한 쌍의 금속 콘택들; 및
    상기 플러그 부재가 상기 소켓 커넥터의 상기 제1 개구부 내에 삽입될 경우 상기 제2 기판 표면 상에 배치된 상기 한 쌍의 콘택들과 결합하도록 상기 제2 벽면 상에 배치된 한 쌍의 금속 콘택들을 포함하고,
    상기 장치 케이블은,
    상기 제1 벽면 상의 상기 한 쌍의 금속 콘택들과 접속된 한 쌍의 데이타 라인들; 및
    상기 제2 벽면 상의 상기 한 쌍의 금속 콘택들과 접속된 한 쌍의 데이타 라인들
    을 포함하는 것을 특징으로 하는 장치 케이블.
  72. 제65항에 한정된 확장 주변 장치와 함께 사용되는 장치 커넥터에 있어서, 상기 마스터 주변 장치의 확장 커넥터는 횡으로 연장된 형상을 가진 제1 부재 및 횡으로 연장된 형상을 가진 개구부를 포함하는 제2 부재를 구비하되, 상기 제1 및 제2 부재들은 상기 마스터 주변 장치의 하우징으로부터 돌출하여 일렬로 배치되고, 상기 제1 부재는 그 편평한 표면 상에 일렬로 배치된 한 세트의 금속 콘택들을 구비하고, 상기 제2 부재는 상기 개구부 내의 편평한 벽면 상에 일렬로 배치된 한 세트의 금속 콘택들을 구비하고, 각각의 금속 콘택 세트는 데이타 신호들을 전송하도록 구성된 적어도 2쌍 이상의 금속 콘택들을 포함하며,
    상기 장치 커넥터는,
    지지 부재;
    상기 제2 부재의 상기 개구부 내에 탈착 가능하게 삽입될 수 있도록 상기 제2 부재의 상기 개구부의 형상에 대응하도록 구성된 횡으로 연장된 형상을 가진 제3 부재 -상기 제3 부재는 상기 제2 부재의 개구부 내로 삽입될 때 상기 제2 부재의 상기 개구부 내의 편평한 벽면 상에 배치된 대응하는 금속 콘택들과 결합하도록 그 편평한 표면 상에 배치된 한 세트의 금속 콘택들을 구비함-; 및
    상기 제1 부재의 상기 개구부 내에 탈착 가능하게 삽입될 수 있도록 상기 제1 부재의 형상에 대응하도록 구성된 횡으로 연장된 형상을 가진 개구부를 포함하는 제4 부재 -상기 제4 부재는 그 개구부 내로 상기 제1 부재가 삽입될 때 상기 제1 부재의 편평한 표면 상에 배치된 대응하는 금속 콘택들과 결합하도록 그 개구부 내의 편평한 벽면 상에 배치된 한 세트의 금속 콘택들을 구비함-를 포함하되,
    상기 제3 및 제4 부재들은 상기 제2 및 제1 부재들과 대응하여 일렬로 배치되도록 상기 지지 부재로부터 돌출하고,
    상기 제3 및 제4 부재들 상의 상기 금속 콘택들 각각은, 데이타 신호들을 전송하도록 구성되고 상기 제2 및 제1 부재들 상에 배치된 2쌍의 금속 콘택들에 각각 대응하도록 배치된 적어도 2쌍 이상의 금속 콘택들을 포함하는
    것을 특징으로 하는 장치 커넥터.
  73. 제72항에 있어서, 상기 2쌍 이상의 금속 콘택들 중 하나는 상기 마스터 주변 장치로부터 상기 확장 주변 장치로 데이타 신호들을 전송하고, 상기 2쌍 이상의 금속 콘택들 중 다른 하나는 상기 확장 주변 장치로부터 상기 마스터 주변 장치로 데이타를 전송하는 것을 특징으로 하는 장치 커넥터.
  74. 횡으로 연장된 형상을 가진 제1 부재 및 횡으로 연장된 형상을 가진 개구부를 포함하는 제2 부재를 포함하는 장치의 커넥터에 접속되는 장치 커넥터에 있어서, 상기 제1 및 제2 부재들은 상기 장치의 하우징으로부터 돌출하여 일렬로 배치되고, 상기 제1 부재는 그 편평한 표면 상에 일렬로 배치된 한 세트의 금속 콘택들을 구비하고, 상기 제2 부재는 상기 개구부 내의 편평한 벽면 상에 일렬로 배치된 한 세트의 금속 콘택들을 구비하며,
    상기 장치 커넥터는,
    지지 부재;
    상기 제2 부재의 상기 개구부 내에 탈착 가능하게 삽입될 수 있도록 상기 제2 부재의 상기 개구부의 형상에 대응하도록 구성된 횡으로 연장된 형상을 가진 제3 부재 -상기 제3 부재는 상기 제2 부재의 개구부 내로 삽입될 때 상기 제2 부재의 상기 개구부 내의 편평한 벽면 상에 배치된 대응하는 금속 콘택들과 결합하도록 그 편평한 표면 상에 배치된 한 세트의 금속 콘택들을 구비함-; 및
    상기 제1 부재의 상기 개구부 내에 탈착 가능하게 삽입될 수 있도록 상기 제1 부재의 형상에 대응하도록 구성된 횡으로 연장된 형상을 가진 개구부를 포함하는 제4 부재 -상기 제4 부재는 그 개구부 내로 상기 제1 부재가 삽입될 때 상기 제1 부재의 편평한 표면 상에 배치된 대응하는 금속 콘택들과 결합하도록 그 개구부 내의 편평한 벽면 상에 배치된 한 세트의 금속 콘택들을 구비함-를 포함하되,
    상기 제3 및 제4 부재들은 상기 지지 부재로부터 돌출하여 상기 제2 및 제1 부재들의 위치에 대응하는 열로 배치되어 있는
    것을 특징으로 하는 장치 커넥터.
  75. 제4항에 따른 게임 장치와 함께 사용되는 주변 장치에 있어서,
    수동 조작에 응답하여 무작위로 신호를 출력하는 무작위 신호 발생기를 포함하고,
    상기 주변 장치는 상기 신호 전송 경로를 통하여 상기 게임 장치의 주변 포트와 유기적으로 결합될 경우 무작위로 출력들을 발생시키는 주변 장치임을 나타내는 식별 정보를 상기 게임 장치에 제공하고, 상기 게임 장치로부터 전송된 전송 라인 점유 패턴에 응답하여 전송 라인 점유의 기간 중에 언제라도 상기 전송 경로를 통하여 상기 무작위로 발생된 신호를 전송하게 되어 있는
    것을 특징으로 하는 주변 장치.
  76. 제75항에 있어서, 상기 전송 라인 점유 패턴은 상기 제1 및 제2 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 동안에, 상기 제1 및 제2 데이타 신호들 중 다른 하나가 펄스열을 전송하는 데이타 포맷을 포함하는 것을 특징으로 하는 주변 장치.
  77. 제75항에 있어서, 상기 무작위로 발생된 신호는 트리거 신호인 것을 특징으로 하는 주변 장치.
  78. 제75항에 있어서, 상기 전송 점유의 기간은 비디오 신호에서 한 인터벌(interval)의 화면 묘화 기간인 것을 특징으로 하는 주변 장치.
  79. 제75항에 있어서, 상기 주변 장치는 모의총(model gun)인 것을 특징으로 하는 주변 장치.
  80. 제79항에 있어서, 상기 주변 장치는 광선총인 것을 특징으로 하는 주변 장치.
  81. 제75항에 있어서, 상기 주변 장치는, 마스터 타입의 주변 장치이면서 상기 게임 장치의 주변 포트와 접속되는 주변 장치를 통하여 상기 게임 장치와 통신하는 슬레이브 타입의 주변 장치인 것을 특징으로 하는 주변 장치.
  82. 제62항에 따른 기본 주변 장치에 접속되는 확장 주변 장치에 있어서,
    수동 조작에 응답하여 무작위로 신호를 출력하는 무작위 신호 발생기를 포함하고,
    상기 확장 주변 장치는 상기 제1 및 제2 전송 경로들을 통하여 상기 게임 장치의 주변 포트와 유기적으로 결합될 경우 무작위로 출력들을 발생시키는 확장 주변 장치임을 나타내는 식별 정보를 상기 게임 장치에 제공함으로써, 상기 게임 장치로부터 전송된 전송 라인 점유 패턴에 응답하여 상기 확장 주변 장치가 전송 라인 점유의 기간 중에 언제라도 상기 전송 경로들을 통하여 상기 무작위로 발생된 신호를 전송할 수 있도록 상기 게임 장치가 통신 모드를 변경하게 하는
    것을 특징으로 하는 확장 주변 장치.
  83. 제82항에 있어서, 상기 전송 라인 점유 패턴은 상기 한 쌍의 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 동안에, 상기 한 쌍의 데이타 신호들 중 다른 하나가 펄스열을 전송하는 데이타 포맷을 포함하는 것을 특징으로 하는 확장 주변 장치.
  84. 제82항에 있어서, 상기 무작위로 발생된 신호는 트리거 신호인 것을 특징으로 하는 확장 주변 장치.
  85. 제82항에 있어서, 상기 전송 점유의 기간은 비디오 신호에서 한 인터벌의 화면 묘화 기간인 것을 특징으로 하는 확장 주변 장치.
  86. 제82항에 있어서, 상기 주변 장치는 모의총인 것을 특징으로 하는 확장 주변 장치.
  87. 제86항에 있어서, 상기 주변 장치는 광선총인 것을 특징으로 하는 확장 주변 장치.
  88. 데이타 통신 시스템에 있어서,
    데이타를 제1 및 제2 직렬 데이타 신호들의 형태로 시간축 상의 직렬 데이타로 변환하는 데이타 발생기를 포함하되, 상기 데이타 발생기는 상기 데이타의 데이타 비트들을 전송 클록 펄스열의 각 펄스 사이에 삽입하고 상기 제1 및 제2 직렬 데이타 신호들을 서로에 대하여 시간축 상에서 적당량만큼 시프트시킴으로써 상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 각 펄스 에지가 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 데이타 부분에 위치하도록 상기 데이타의 데이타 비트들을 변환하는 것을 특징으로 하는 데이타 통신 시스템.
  89. 제88항에 있어서,
    상기 데이타 발생기에 유기적으로 접속되어, 상기 데이타 발생기로부터 상기 제1 및 제2 직렬 데이타 신호들을 수신하는 직렬 버스; 및
    상기 직렬 데이타에 유기적으로 접속되어, 상기 직렬 버스를 통하여 상기 데이타 발생기로부터 상기 제1 및 제2 직렬 데이타 신호들을 수신하도록 구성된 데이타 수신기
    를 더 포함하는 것을 특징으로 하는 데이타 통신 시스템.
  90. 제89항에 있어서, 상기 데이타 수신기는 상기 제1 및 제2 직렬 데이타 신호들을 수신하고, 상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 제1 및 제2 직렬 데이타 신호들로부터 데이타를 검색하는 것을 특징으로 하는 데이타 통신 시스템.
  91. 제88항에 있어서, 상기 데이타 발생기는 데이타를 상기 제1 및 제2 직렬 데이타 신호들로 변환하는 회로를 포함하고, 상기 회로는 적어도 1 이상의 시프트 레지스터, 시프트 클록 및 적어도 1 이상의 셀렉터를 포함하는 것을 특징으로 하는 데이타 통신 시스템.
  92. 제91항에 있어서, 상기 데이타의 복수 개의 짝수 비트들이 상기 적어도 1 이상의 시프트 레지스터의 입력 단자들에 입력되고, 상기 시프트 클록에 의해 데이타가 시프트되고, 이 시프트된 데이타가 상기 적어도 1 이상의 셀렉터의 출력 단자로부터 직렬 데이타로서 제공되는 것을 특징으로 하는 데이타 통신 시스템.
  93. 제92항에 있어서, 상기 적어도 1 이상의 셀렉터에 클록 신호가 입력되고, 상기 적어도 1 이상의 셀렉터는 상기 시프트 클록 신호의 하이 레벨에 따라서 상기 적어도 1 이상의 셀렉터의 출력 단자로부터의 직렬 데이타를 선택하고, 상기 시프트 클록 신호의 로우 레벨에 따라서 클록 신호를 선택하는 것을 특징으로 하는 데이타 통신 시스템.
  94. 제91항에 있어서, 상기 데이타의 복수 개의 홀수 비트들이 상기 적어도 1 이상의 시프트 레지스터의 입력 단자들에 입력되고, 상기 시프트 클록에 의해 데이타가 시프트되고, 이 시프트된 데이타가 상기 적어도 1 이상의 셀렉터의 출력 단자로부터 직렬 데이타로서 제공되는 것을 특징으로 하는 데이타 통신 시스템.
  95. 제94항에 있어서, 상기 적어도 1 이상의 셀렉터에 클록 신호가 입력되고, 상기 적어도 1 이상의 셀렉터는 상기 시프트 클록 신호의 하이 레벨에 따라서 상기 적어도 1 이상의 셀렉터의 출력 단자로부터의 직렬 데이타를 선택하고, 상기 시프트 클록 신호의 로우 레벨에 따라서 클록 신호를 선택하는 것을 특징으로 하는 데이타 통신 시스템.
  96. 제88항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들 중의 직렬 클록 데이타는 네가티브 에지들을 번갈아 형성하는 것을 특징으로 하는 데이타 통신 시스템.
  97. 제88항에 있어서, 상기 데이타 수신기는 상기 제1 및 제2 직렬 데이타 신호들을 수신하고, 상기 데이타 수신기는 상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 데이타 부분을 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 파형의 네가티브 에지 타이밍에 따라서 래치시킴으로써 상기 데이타 부분을 판독하여 검색 데이타를 생성하는 것을 특징으로 하는 데이타 통신 시스템.
  98. 제88항에 있어서, 상기 데이타 수신기는 상기 제1 및 제2 직렬 데이타 신호들을 수신하고, 상기 데이타 수신기는 상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 데이타 부분을 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 파형의 포지티브 에지 타이밍에 따라서 래치시킴으로써 상기 데이타 부분을 판독하여 검색 데이타를 생성하는 것을 특징으로 하는 데이타 통신 시스템.
  99. 제88항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나에서 데이타가 전송되고 있을 때 상기 제1 및 제2 직렬 데이타 신호들 각각의 하강 에지들이 번갈아 항상 발생하도록 상기 제1 및 제2 직렬 데이타 신호들이 발생되는 것을 특징으로 하는 데이타 통신 시스템.
  100. 제88항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들은, 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 데이타 포맷을 갖고,
    상기 스타트 패턴은, 상기 제1 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안 제1 펄스열을 포함하는 상기 제2 직렬 데이타 신호가 전송되는 데이타 포맷을 갖고,
    상기 데이타 패턴은, 상기 제1 및 제2 직렬 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제1 및 제2 직렬 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제2 펄스 열을 포함하는 상기 제1 직렬 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 데이타 통신 시스템.
  101. 제100항에 있어서, 상기 데이타 통신 시스템은 복수 개의 주변 포트들을 구비한 게임 장치에 제공되고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 상기 복수 개의 주변 포트들을 통하여 상기 게임 장치에 접속된 복수 개의 주변 장치들 중 한 주변 장치의 어드레스, 상기 복수 개의 주변 장치들 중 상기 한 주변 장치와 접속된 주변 포트의 어드레스 및 상기 게임 장치로부터 상기 복수 개의 주변 장치들 중 상기 한 주변 장치에 전송하고자 하는 데이타를 포함하는 것을 특징으로 하는 데이타 통신 시스템.
  102. 제88항에 있어서, 상기 제1 직렬 데이타 신호는 상기 적어도 1 이상의 주변 장치에 전송하고자 하는 상기 데이타의 홀수 비트들을 포함하고, 상기 제2 직렬 데이타 신호는 그 데이타의 짝수 비트들을 포함하는 것을 특징으로 하는 데이타 통신 시스템.
  103. 게임 시스템용 호스트 장치에 있어서,
    상기 게임 장치의 동작과 관련된 데이타를 발생시키는 데이타 발생기; 및
    상기 데이타를 제1 데이타 신호 및 제2 데이타 신호들로 변환하는 데이타 신호 변환 장치를 포함하되, 상기 제1 데이타 신호는 제1 클록 펄스들 및 상기 데이타로부터 얻어지고 상기 제1 클록 펄스들 사이에 분배된 홀수 데이타 비트들을 포함하고, 상기 제2 데이타 신호는 제2 클록 펄스들 및 상기 데이타로부터 얻어지고 상기 제2 클록 펄스들 사이에 분배된 짝수 데이타 비트들을 포함하고, 상기 제1 및 제2 데이타 신호들은 그들 중 어느 하나의 데이타 비트가 다른 하나의 클록 펄스에 위치하는 관계를 갖는
    것을 특징으로 하는 호스트 장치.
  104. 제103항에 있어서, 적어도 1 이상의 주변 장치에 접속되는 복수 개의 입/출력 포트들을 더 포함하는 것을 특징으로 하는 호스트 장치.
  105. 제104항에 있어서,
    상기 입/출력 포트들 중 어느 하나에 접속되는 제1 데이타 전송 경로;
    상기 호스트 장치에 확장 주변 장치를 접속시켜주는 확장 커넥터;
    상기 확장 커넥터를 상기 제1 데이타 전송 경로에 유기적으로 접속시키는 제2 데이타 전송 경로; 및
    상기 제1 및 제2 전송 경로들에 유기적으로 접속되어, 상기 호스트 장치와의 데이타 통신을 제어하는 제어기
    를 더 포함하는 것을 특징으로 하는 호스트 장치.
  106. 게임 장치를 포함하는 게임 시스템용 주변 장치에 있어서,
    제1 데이타 신호 및 제2 데이타 신호를 수신하도록 구성된 데이타 수신 장치 -상기 제1 데이타 신호는 제1 클록 펄스들 및 상기 제1 클록 펄스들 사이에 분배된 홀수 데이타 비트들을 포함하고, 상기 제2 데이타 신호는 제2 클록 펄스들 및 상기 제2 클록 펄스들 사이에 분배된 짝수 데이타 비트들을 포함하고, 상기 제1 및 제2 데이타 신호들은 그들 중 어느 하나의 데이타 비트가 다른 하나의 클록 펄스에 위치하는 관계를 가짐-; 및
    상기 제1 및 제2 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 발생하는 상기 제1 및 제2 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 한 쌍의 데이타 신호들로부터 전송된 데이타를 검색하는 데이타 검색 장치
    를 포함하는 것을 특징으로 하는 주변 장치.
  107. 제106항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들은 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 포맷을 갖고,
    상기 스타트 패턴은, 상기 제1 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안 제1 펄스열을 포함하는 상기 제2 직렬 데이타 신호가 전송되는 데이타 포맷을 갖고,
    상기 데이타 패턴은, 상기 제1 및 제2 직렬 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제1 및 제2 직렬 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제2 펄스 열을 포함하는 상기 제1 직렬 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 주변 장치.
  108. 제106항에 있어서,
    상기 데이타 검색 장치에 의해 검색된 데이타에 응답하여 데이타를 발생시키는 데이타 발생기; 및
    상기 데이타 발생기로부터의 데이타를 제3 데이타 신호 및 제4 데이타 신호로 변환하는 데이타 신호 변환 장치를 더 포함하되, 상기 제3 데이타 신호는 제3 클록 펄스들 및 상기 데이타 발생기로부터 얻어지고 상기 제3 클록 펄스들 사이에 분배된 홀수 데이타 비트들을 포함하고, 상기 제4 데이타 신호는 제4 클록 펄스들 및 상기 데이타 발생기로부터 얻어지고 상기 제4 클록 펄스들 사이에 분배된 짝수 데이타 비트들을 포함하고, 상기 제3 및 제4 데이타 신호들은 그들 중 어느 하나의 데이타 비트가 다른 하나의 클록 펄스에 위치하는 관계를 갖는 것을 특징으로 하는 주변 장치.
  109. 제106항에 있어서, 상기 제3 및 제4 데이타 신호들은 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 포맷을 갖고,
    상기 스타트 패턴은, 상기 제3 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안 제3 펄스열을 포함하는 상기 제4 직렬 데이타 신호가 전송되는 데이타 포맷을 갖고,
    상기 데이타 패턴은, 상기 제3 및 제4 직렬 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제3 및 제4 직렬 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제4 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제4 펄스 열을 포함하는 상기 제3 직렬 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 주변 장치.
  110. 제106항에 있어서, 상기 주변 장치는 게임 제어기, 게임 패드, 조이스틱, 키보드, 모의(imitation) 제어 장치, 모의총, 기록 장치, 및 사운드 장치 중 어느 하나를 포함하는 것을 특징으로 하는 주변 장치.
  111. 제106항에 있어서, 상기 주변 장치는 상기 주변 장치가 게임 제어기, 게임 패드, 조이스틱, 키보드, 모의 제어 장치, 모의총, 기록 장치, 및 사운드 장치 중 적어도 하나로서 작용하게 하는 적어도 하나의 장치 기능을 포함하는 것을 특징으로 하는 주변 장치.
  112. 제106항에 있어서, 상기 주변 장치를 게임 장치에 접속시키는 커넥터를 더 포함하고, 상기 주변 장치에 관한 식별 정보를 상기 게임 장치에 전송하는 전송 경로를 포함하는 것을 특징으로 하는 주변 장치.
  113. 제112항에 있어서, 상기 주변 장치는 상기 게임 장치에 직접 접속되는 상위 타입(upper type)의 주변 장치 및 상기 게임 장치에 직접 접속될 수 없고 상기 상위 타입의 주변 장치에만 접속될 수 있는 하위 타입(lower type)의 주변 장치 중 어느 하나인 것을 특징으로 하는 주변 장치.
  114. 제106항에 있어서, 상기 주변 장치의 장치 기능들을 확장하기 위해 상기 주변 장치에 구비된 확장 소켓을 더 포함하는 것을 특징으로 하는 주변 장치.
  115. 제114항에 있어서, 상기 확장 소켓은 하위 타입 주변 장치가 상기 확장 소켓에 접속될 수 있도록 구성되는 것을 특징으로 하는 주변 장치.
  116. 제114항에 있어서, 상기 확장 소켓은 상기 확장 주변 장치의 존재를 감지하기 위한 센서를 포함하는 것을 특징으로 하는 주변 장치.
  117. 제116항에 있어서, 상기 확장 소켓 내의 상기 센서는 풀업 저항을 통하여 상기 확장 주변 장치의 존재를 감지하는 것을 특징으로 하는 주변 장치.
  118. 제106항에 있어서, 상기 주변 장치는 상기 게임 장치에 접속되는 기본 주변 장치이며 상기 기본 주변 장치에 접속된 확장 주변 장치들을 제어하는 것을 특징으로 하는 주변 장치.
  119. 장치 커넥터에 있어서,
    주변부;
    서로 이격된 제1 표면 및 제2 표면을 갖고 상기 제1 및 제2 표면들 상에 배치된 복수 개의 콘택 핀들을 포함하는 핀 베이스;
    상기 복수 개의 콘택 핀들 중 적어도 2개의 콘택 핀들과 상기 핀 베이스의 상기 제1 및 제2 표면들을 분리시키는 절연 부재; 및
    상기 핀 베이스와 상기 주변부 사이에 위치하는 홈부(groove)를 포함하며,
    상기 주변부, 상기 핀 베이스 및 상기 홈부 각각은 실질적으로 D형의 형상을 갖는 것을 특징으로 하는 장치 커넥터.
  120. 제119항에 있어서, 상기 복수 개의 콘택 핀들은 5개의 콘택 핀들을 포함하고, 그 콘택 핀들 중 3개는 상기 제1 표면 상에 배치되고, 나머지 2개는 상기 제2 표면에 배치된 것을 특징으로 하는 장치 커넥터.
  121. 제119항에 있어서, 상기 장치 커넥터는 게임 시스템의 호스트 장치에 구비되는 것을 특징으로 하는 장치 커넥터.
  122. 제119항에 있어서,
    5개의 콘택 핀들이 구비되고, 상기 콘택 핀들 중 제1 콘택 핀은 제1 직렬 데이타 신호를 전송하고, 상기 콘택 핀들 중 적어도 하나에 의해 상기 제1 콘택 핀으로부터 이격된 제2 콘택 핀은 제2 직렬 데이타 신호를 전송하고, 상기 제1 및 제2 콘택 핀들은 상기 제1 표면 상에 구비되고, 제3 콘택 핀은 상기 제1 표면 상에 구비되어 실드 와이어에 접속되며,
    제4 및 제5 콘택 핀들은 상기 제2 표면 상에 구비되어 상기 장치 커넥터에 전력을 전송하는 것을 특징으로 하는 장치 커넥터.
  123. 제119항에 있어서, 상기 장치 커넥터는 게임 시스템의 호스트 장치용 버스 커넥터의 소켓 유닛을 포함하는 것을 특징으로 하는 장치 커넥터.
  124. 장치 커넥터에 있어서,
    하우징; 및
    상기 장치 커넥터에 접속될 장치의 홈부에 삽입되는 삽입부를 포함하되, 상기 삽입부는 서로 이격된 제1 표면 및 제2 표면을 갖고 그 제1 및 제2 표면들 상에 배치된 복수 개의 콘택 핀들을 포함하는 내벽에 의해 둘러싸인 개구부를 포함하며,
    상기 삽입부, 상기 개구부 및 상기 내벽은 실질적으로 D형의 형상을 갖는 것을 특징으로 하는 장치 커넥터.
  125. 제124항에 있어서, 상기 복수 개의 콘택 핀들은 5개의 콘택 핀들을 포함하고, 그 콘택 핀들 중 3개는 상기 제1 표면 상에 배치되고, 나머지 2개는 상기 제2 표면에 배치된 것을 특징으로 하는 장치 커넥터.
  126. 제124항에 있어서, 상기 장치 커넥터는 게임 시스템의 주변 장치에 구비되는 것을 특징으로 하는 장치 커넥터.
  127. 제124항에 있어서,
    5개의 콘택 핀들이 구비되고, 상기 콘택 핀들 중 제1 콘택 핀은 제1 직렬 데이타 신호를 전송하고, 상기 콘택 핀들 중 적어도 하나에 의해 상기 제1 콘택 핀으로부터 이격된 제2 콘택 핀은 제2 직렬 데이타 신호를 전송하고, 상기 제1 및 제2 콘택 핀들은 상기 제1 표면 상에 구비되고, 제3 콘택 핀은 상기 제1 표면 상에 구비되어 실드 와이어에 접속되며,
    제4 및 제5 콘택 핀들은 상기 제2 표면 상에 구비되어 상기 장치 커넥터에 전력을 전송하는 것을 특징으로 하는 장치 커넥터.
  128. 제124항에 있어서, 상기 장치 커넥터는 게임 시스템의 주변 장치용 버스 커넥터의 플러그 유닛을 포함하는 것을 특징으로 하는 장치 커넥터.
  129. 장치 커넥터에 있어서,
    하우징;
    다른 커넥터의 수용부(receiving section)에 삽입되는 삽입부 -상기 삽입부는 상기 하우징의 하부(bottom portion)에 배치된 막대형 홈부 및 상기 홈부를 둘러싸는 제1 및 제2 표면들을 포함함-;
    상기 삽입부의 상기 제1 표면 상에 일렬로 배치된 복수 개의 콘택 핀들; 및
    상기 다른 커넥터의 삽입부를 수용하는 수용부를 포함하되, 상기 수용부는 상기 하우징의 표면으로부터 돌출한 막대형 부재 및 상기 다른 장치 커넥터의 삽입부의 외형에 대응하는 형상을 가진 내벽을 포함하는 개구부를 포함하고, 상기 수용부는 상기 개구부의 거의 중앙에 일렬로 배치되어 상기 다른 장치 커넥터의 하우징의 하부에 위치하는 상기 다른 장치 커넥터의 삽입부의 콘택 핀들과 결합하도록 배열되어 있는 복수 개의 콘택 핀들을 포함하는
    것을 특징으로 하는 장치 커넥터.
  130. 제129항에 있어서, 상기 하우징은 상기 삽입부와 상기 수용부를 접속시키는 것을 특징으로 하는 장치 커넥터.
  131. 제129항에 있어서, 상기 수용부의 콘택 핀들은 상기 다른 장치 커넥터의 삽입부의 콘택 핀들의 하부면들과 결합하도록 배치되어 있는 상부면들을 포함하는 것을 특징으로 하는 장치 커넥터.
  132. 제129항에 있어서, 상기 장치 커넥터는 게임 시스템의 주변 장치에 구비되는 것을 특징으로 하는 장치 커넥터.
  133. 제132항에 있어서, 상기 주변 장치는 기본 주변 장치인 것을 특징으로 하는 장치 커넥터.
  134. 제132항에 있어서, 상기 주변 장치는 확장 주변 장치인 것을 특징으로 하는 장치 커넥터.
  135. 데이타 통신 방법에 있어서,
    데이타를 제공하는 단계;
    상기 데이타의 비트들을 전송 클록 펄스 열의 각 펄스 사이에 삽입함으로써 상기 데이타를 제1 및 제2 직렬 데이타 신호들의 형태로 시간열 상의 직렬 데이타로 변환하고 상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 펄스 에지가 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 데이타 부분에 위치하도록 상기 제1 및 제2 직렬 데이타 신호들을 상기 시간열 상에서 적당량만큼 서로에 대하여 시프트시키는 변환 단계; 및
    상기 제1 및 제2 직렬 데이타 신호들을 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  136. 제135항에 있어서,
    상기 제1 및 제2 직렬 데이타 신호들을 수신하는 단계; 및
    상기 제1 및 제2 직렬 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 제1 및 제2 직렬 데이타 신호들로부터 데이타를 검색하는 단계
    를 더 포함하는 것을 특징으로 하는 데이타 통신 방법.
  137. 제135항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나에서 데이타가 전송되고 있을 때 상기 제1 및 제2 직렬 데이타 신호들 각각의 하강 에지들이 번갈아 항상 발생하도록 상기 제1 및 제2 직렬 데이타 신호들이 발생되는 것을 특징으로 하는 데이타 통신 방법.
  138. 제135항에 있어서, 상기 변환 단계는 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 포맷으로 상기 제1 및 제2 직렬 데이타 신호들을 제공하는 단계를 포함하고,
    상기 스타트 패턴은, 상기 제1 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안 제1 펄스열을 포함하는 상기 제2 직렬 데이타 신호가 전송되는 데이타 포맷을 갖고,
    상기 데이타 패턴은, 상기 제1 및 제2 직렬 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제1 및 제2 직렬 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제2 펄스 열을 포함하는 상기 제1 직렬 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 데이타 통신 방법.
  139. 제135항에 있어서, 상기 방법은 게임 시스템의 호스트 장치, 기본 주변 장치 및 확장 주변 장치 중 적어도 하나에 의해 수행되는 것을 특징으로 하는 데이타 통신 방법.
  140. 제135항에 있어서, 상기 제1 직렬 데이타 신호는 상기 데이타의 홀수 비트들을 포함하고 상기 제2 직렬 데이타 신호는 상기 데이타의 짝수 비트들을 포함하는 것을 특징으로 하는 데이타 통신 방법.
  141. 데이타 통신 방법에 있어서,
    상기 게임 시스템의 동작과 관련된 데이타를 제공하는 단계;
    상기 데이타를 제1 데이타 신호 및 제2 데이타 신호들로 변환하는 단계 -상기 제1 데이타 신호는 제1 클록 펄스들 및 상기 데이타 신호로부터 얻어지고 상기 제1 클록 펄스들 사이에 분배된 홀수 데이타 비트들을 포함하고, 상기 제2 데이타 신호는 제2 클록 펄스들 및 상기 데이타 신호로부터 얻어지고 상기 제2 클록 펄스들 사이에 분배된 짝수 데이타 비트들을 포함하고, 상기 제1 및 제2 데이타 신호들은 그들 중 어느 하나의 데이타 비트가 다른 하나의 클록 펄스에 위치하는 관계를 가짐-; 및
    상기 제1 및 제2 데이타 신호들을 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  142. 제141항에 있어서,
    상기 제1 및 제2 데이타 신호들을 수신하는 단계; 및
    상기 제1 및 제2 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 발생하는 상기 제1 및 제2 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 제1 및 제2 데이타 신호들로부터 데이타를 검색하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  143. 제141항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들은 전송 포맷에 따라 정의되고 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타 프레임을 포함하는 포맷을 갖고,
    상기 스타트 패턴은, 상기 제1 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안 제1 펄스열을 포함하는 상기 제2 직렬 데이타 신호가 전송되는 데이타 포맷을 갖고,
    상기 데이타 패턴은, 상기 제1 및 제2 직렬 데이타 신호들 각각에 클록 펄스 열을 포함하고 상기 제1 및 제2 직렬 데이타 신호들의 상기 클록 펄스들 사이에 번갈아 연속하여 분배된 데이타의 비트들을 포함하되, 상기 클록 펄스 열들은 시간축을 따라서 소정량만큼 서로에 대하여 시프트되어 있는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 직렬 데이타 신호가 일정한 전위 레벨로 유지되는 동안에 제2 펄스 열을 포함하는 상기 제1 직렬 데이타 신호가 전송되는 데이타 포맷을 갖는 것을 특징으로 하는 데이타 통신 방법.
  144. 제141항에 있어서, 상기 방법은 복수 개의 주변 장치들에의 접속을 위한 복수 개의 주변 포트들을 포함하는 게임 장치에 의해 수행되고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 상기 게임 장치에 접속된 상기 복수 개의 주변 장치들 중 한 주변 장치의 어드레스, 상기 복수 개의 주변 장치들 중 상기 한 주변 장치와 접속된 주변 포트의 어드레스 및 상기 게임 장치로부터 상기 복수 개의 주변 장치들 중 상기 한 주변 장치에 전송하고자 하는 데이타를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  145. 제141항에 있어서, 상기 제1 및 제2 직렬 데이타 신호들 중 다른 하나에서 데이타가 전송되고 있을 때 상기 제1 및 제2 직렬 데이타 신호들 각각의 하강 에지들이 번갈아 항상 발생하도록 상기 제1 및 제2 직렬 데이타 신호들이 발생되는 것을 특징으로 하는 데이타 통신 방법.
  146. 제141항에 있어서, 상기 제1 데이타 신호는 상기 데이타의 홀수 비트들을 포함하고 상기 제2 데이타 신호는 상기 데이타의 짝수 비트들을 포함하는 것을 특징으로 하는 데이타 통신 방법.
  147. 게임 장치 및 적어도 1 이상의 주변 장치를 구비한 게임 시스템을 운영하는 방법에 있어서,
    상기 게임 장치와 상기 적어도 1 이상의 주변 장치를 유기적으로 접속시키는 단계; 및
    데이타 프레임을 각각 포함하는 제1 데이타 신호 및 제2 데이타 신호에 데이타를 분배함으로써 상기 게임 장치와 상기 적어도 1 이상의 주변 장치 사이에 대화식으로 데이타를 전송하는 단계를 포함하며,
    상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하며,
    상기 스타트 패턴은, 상기 제1 및 제2 데이타 신호들 중 하나가 일정한 전위 레벨을 전송하는 기간 중에 상기 제1 및 제2 데이타 신호들 중 다른 하나가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 전송하고자 하는 상기 데이타의 데이타 비트들을 포함하되, 상기 전송하고자 하는 상기 데이타의 데이타 비트들은 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 데이타 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순차적으로 분배되고 상기 제2 데이타 열의 각 데이타 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순차적으로 분배되는 식으로 상기 제1 및 제2 클록 신호들과 관련하여 배열되고, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상이 시프트되어 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 갖고,
    상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 데이타를 송신하는 송신 장치의 어드레스 및 데이타를 수신하는 수신 장치의 어드레스, 및 상기 송신 장치로부터 전송하고자 하는 데이타를 포함하고,
    상기 엔드 패턴은 상기 제1 및 제2 데이타 신호들 중 어느 하나가 일정한 전위 레벨을 전송하는 기간 중에 상기 제1 및 제2 데이타 신호들 중 다른 하나가 상기 제1 펄스 열의 펄스 개수와 상이한 펄스 개수를 가진 제2 펄스 열을 전송하도록 구성된 데이타 포맷을 갖는
    것을 특징으로 하는 게임 시스템 운영 방법.
  148. 제147항에 있어서,
    상기 게임 장치 및 상기 적어도 1 이상의 주변 장치 중 어느 하나에서 상기 제1 및 제2 신호들을 수신하는 단계; 및
    상기 제1 및 제2 데이타 신호들 중 어느 하나의 전위 레벨을 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 신호 성분의 타이밍에서 번갈아 래치시킴으로써 상기 제1 및 제2 데이타 신호들로부터 데이타를 검색하는 단계
    를 더 포함하는 것을 특징으로 하는 게임 시스템 운영 방법.
  149. 제147항에 있어서, 상기 게임 장치는 상기 주변 장치에 데이타를 송신하고, 상기 송신 장치의 어드레스는 상기 신호 전송 경로를 통하여 상기 주변 장치와 접속된 주변 포트의 어드레스이고, 상기 수신 장치의 어드레스는 상기 게임 장치가 데이타를 전송하는 상기 주변 장치의 어드레스인 것을 특징으로 하는 게임 시스템 운영 방법.
  150. 복수 개의 주변 포트들을 구비한 게임 장치를 운영하는 방법에 있어서,
    상기 게임 장치의 상기 주변 포트들 중 하나의 주변 포트에 적어도 1 이상의 주변 장치를 접속시키는 단계; 및
    데이타를 한 쌍의 데이타 신호들로 분배함으로써 상기 주변 포트들 중 상기 하나의 주변 포트를 통하여 상기 게임 장치와 상기 적어도 1 이상의 주변 장치 사이에 데이타를 전송하는 단계를 포함하며,
    상기 한 쌍의 데이타 신호들은 데이타 개시 정보를 반송하는 스타트 패턴, 데이타 패턴 및 데이타 종료 정보를 반송하는 엔드 패턴을 포함하는 데이타 프레임을 포함하고,
    상기 데이타 패턴은, 상기 한 쌍의 데이타 신호들이 클록 펄스들 및 전송하고자 하는 데이타를 포함하되, 상기 전송하고자 하는 데이타의 데이타 비트들은 상기 데이타 신호들의 클록 펄스들 사이에 순서대로 번갈아 분배되고, 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스 열이 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스열과 주파수가 동일하지만 위상이 시프트되어 상기 한 쌍의 데이타 신호들 중 어느 하나의 데이타 비트가 상기 한 쌍의 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 나타나는 데이타 포맷을 가지며,
    상기 게임 장치와 상기 주변 장치는 상기 데이타 프레임을 가진 데이타를 대화식으로 전송하고 상기 수신 장치는 상기 한 쌍의 데이타 신호들을 수신하고 상기 한 쌍의 데이타 신호들 중 어느 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에서 발생하는 상기 한 쌍의 데이타 신호들 중 다른 하나의 데이타 비트를 순서대로 번갈아 검출함으로써 상기 수신된 데이타 신호들로부터 전송된 데이타를 검색하는
    것을 특징으로 하는 게임 장치 운영 방법.
  151. 제150항에 있어서, 상기 클록 신호 성분은 상기 한 쌍의 직렬 데이타 신호들의 복수 개의 클록 펄스들 중 적어도 하나의 에지에서 검출되는 것을 특징으로 하는 게임 장치 운영 방법.
  152. 제149항에 있어서, 상기 일정한 전위 레벨은 전원 전위와 접지 전위 중 어느 하나인 것을 특징으로 하는 게임 장치 운영 방법.
  153. 제149항에 있어서, 상기 제1 및 제2 펄스 열들은 서로 다른 개수의 펄스들을 포함하는 것을 특징으로 하는 게임 장치 운영 방법.
  154. 게임 장치와 주변 장치간의 데이타 송수신 방법에 있어서,
    내장된 데이타 전송 경로를 통하여 적어도 1 이상의 주변 장치에 접속되고, 데이타 프레임들로 구성되어 있는 제1 데이타 신호 및 제2 데이타 신호로 분배되어 있고, 상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타를 제공하는 단계;
    상기 게임 장치가 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는 상기 데이타 프레임을 전송 단위로 하여 적어도 1 이상의 상기 주변 장치에 전송하는 단계
    를 포함하고,
    상기 게임 장치는, 내장된 데이타 전송 경로를 통하여 적어도 1 이상의 상기 주변 장치에 접속되어 상기 데이타를 수신 및 전송하도록 구성된 주변 포트를 가지고 있고,
    상기 스타트 패턴은, 상기 제1 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제2 데이타 신호가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 상기 주변 장치에 전송하고자 하는 데이타를 포함하되, 상기 주변 장치에 전송하고자 하는 데이타는 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순서대로 삽입되고 상기 제2 데이타 열의 각 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순서대로 삽입되는 식으로 제1 데이타 열 및 제2 데이타 열은 각각 상기 제1 클록 신호 및 상기 제2 클록 신호에 부가되며, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상차가 있어서 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에 위치하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제1 데이타 신호가 제2 펄스 열을 전송하는 데이타 포맷을 가지는 것을 특징으로 하는 데이타 송수신 방법.
  155. 게임 장치와 주변 장치간의 데이타 송수신 방법에 있어서,
    메인 데이타 전송 경로를 통하여 기본 주변 장치 - 상기 기본 주변 장치는, 보조 데이타 전송 경로를 통하여 확장 주변 장치가 상기 기본 주변 장치에 접속될 수 있는 구조를 가짐 - 에 복수 개의 입/출력 포트를 접속하는 단계;
    상기 복수 개의 입/출력 포트들에 유기적으로 접속된 입/출력 제어기를 포함하며, 상기 제어기는 상기 메인 데이타 전송 경로를 통하여 상기 기본 주변 장치와의 데이타 통신을 제어하고, 확장 주변 장치가 상기 기본 주변 장치에 접속된 경우에 상기 메인 및 보조 데이타 전송 경로들을 통하여 확장 주변 장치와의 데이타 통신을 제어하며, 상기 데이타 통신은 데이타 전송 포맷에 따른 데이타 신호들로 수행되고, 상기 데이타 전송 포맷은 데이타 패턴의 개시를 나타내는 스타트 패턴, 전송 데이타를 반송(搬送)하는 데이타 패턴, 및 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 전송 데이타의 수신측 장치를 나타내는 행선 어드레스 및 전송 데이타의 발신측 장치를 나타내는 소스 어드레스를 포함할 때,
    상기 게임 장치는 상기 기본 주변 장치가 접속된 입/출력 포트를 나타내는 입/출력 포트 정보를 포함하여 상기 게임 장치를 나타내는 소스 어드레스를 발생시키는 단계;
    상기 기본 주변 장치는 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 기본 주변 장치가 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치와 직접 접속되는 마스터 주변 장치임을 나타내는 상기 기본 주변 장치에 저장된 식별 정보, 및 상기 보조 데이타 전송 경로에 확장 주변 장치가 접속되어 있는지 여부를 확인해주는 접속 상태 정보에 기초하여 상기 기본 주변 장치를 나타내는 소스 어드레스를 발생시키는 단계;
    확장 주변 장치가 상기 보조 데이타 전송 경로에 접속되는 경우, 상기 확장 주변 장치는 상기 메인 및 보조 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 확장 주변 장치가 접속되어 있는 보조 전송 경로를 나타내는 상기 기본 주변 장치에 의해 제공되는 보조 전송 경로 정보, 및 상기 확장 주변 장치가 상기 보조 데이타 전송 경로와 접속되는 슬레이브 주변 장치임을 나타내는 상기 확장 주변 장치에 저장된 식별 정보에 기초하여 상기 확장 주변 장치를 나타내는 소스 어드레스를 발생시키는 단계
    를 포함하는 것을 특징으로 하는 데이타 송수신 방법.
  156. 컴퓨터로 판독가능한 기록 매체에 있어서,
    게임 장치와 주변 장치간에 데이타를 송수신하기 위하여, 내장된 데이타 전송 경로를 통하여 적어도 1 이상의 주변 장치에 접속되고, 데이타 프레임들로 구성되어 있는 제1 데이타 신호 및 제2 데이타 신호로 분배되어 있으며, 상기 제1 및 제2 데이타 신호들의 하나의 데이타 프레임은 스타트 패턴, 데이타 패턴 및 엔드 패턴을 포함하는 데이타를 제공하는 수순;
    상기 게임 장치가 상기 스타트 패턴, 상기 데이타 패턴 및 상기 엔드 패턴을 포함하는 상기 데이타 프레임을 전송 단위로 하여 적어도 1 이상의 상기 주변 장치에 전송하는 수순을 실행시키기 위한 프로그램을 기록하고,
    상기 게임 장치는, 내장된 데이타 전송 경로를 통하여 적어도 1 이상의 상기 주변 장치에 접속되어 상기 데이타를 수신 및 전송하도록 구성된 주변 포트를 가지고 있고,
    상기 스타트 패턴은, 상기 제1 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제2 데이타 신호가 제1 펄스 열을 전송하는 데이타 포맷을 가지며,
    상기 데이타 패턴은, 상기 제1 데이타 신호 내의 제1 클록 신호 및 상기 제2 데이타 신호 내의 제2 클록 신호 및 상기 주변 장치에 전송하고자 하는 데이타를 포함하되, 상기 주변 장치에 전송하고자 하는 데이타는 제1 데이타 열 및 제2 데이타 열로 분할되고, 상기 제1 데이타 열의 각 비트는 상기 제1 클록 신호의 펄스들 사이에 각각 순서대로 삽입되고 상기 제2 데이타 열의 각 비트는 상기 제2 클록 신호의 펄스들 사이에 각각 순서대로 삽입되는 식으로 제1 데이타 열 및 제2 데이타 열은 각각 상기 제1 클록 신호 및 상기 제2 클록 신호에 부가되며, 상기 제2 클록 신호는 상기 제1 클록 신호와 주파수가 동일하지만 위상차가 있어서 상기 제1 및 제2 데이타 신호들 중 어느 하나의 데이타 비트가 상기 제1 및 제2 데이타 신호들 중 다른 하나의 클록 펄스의 클록 신호 성분에 대응하는 타이밍에 위치하는 데이타 포맷을 갖고,
    상기 엔드 패턴은, 상기 제2 데이타 신호가 일정한 전위 레벨을 전송하는 동안에 상기 제1 데이타 신호가 제2 펄스 열을 전송하는 데이타 포맷을 가지는, 컴퓨터로 판독가능한 기록 매체.
  157. 컴퓨터로 판독가능한 기록 매체에 있어서,
    게임 장치와 주변 장치간에 데이타를 송수신 하기 위하여,
    메인 데이타 전송 경로를 통하여 기본 주변 장치 - 상기 기본 주변 장치는, 보조 데이타 전송 경로를 통하여 확장 주변 장치가 상기 기본 주변 장치에 접속될 수 있는 구조를 가짐 - 에 복수 개의 입/출력 포트를 접속하는 수순;
    상기 복수 개의 입/출력 포트들에 유기적으로 접속된 입/출력 제어기를 포함하며, 상기 제어기는 상기 메인 데이타 전송 경로를 통하여 상기 기본 주변 장치와의 데이타 통신을 제어하고, 확장 주변 장치가 상기 기본 주변 장치에 접속된 경우에 상기 메인 및 보조 데이타 전송 경로들을 통하여 확장 주변 장치와의 데이타 통신을 제어하며, 상기 데이타 통신은 데이타 전송 포맷에 따른 데이타 신호들로 수행되고, 상기 데이타 전송 포맷은 데이타 패턴의 개시를 나타내는 스타트 패턴, 전송 데이타를 반송(搬送)하는 데이타 패턴, 및 데이타 패턴의 종료를 나타내는 엔드 패턴을 포함하고, 상기 데이타 패턴은 커맨드 및 파라미터를 포함하고, 상기 파라미터는 전송 데이타의 수신측 장치를 나타내는 행선 어드레스 및 전송 데이타의 발신측 장치를 나타내는 소스 어드레스를 포함할 때,
    상기 게임 장치는 상기 기본 주변 장치가 접속된 입/출력 포트를 나타내는 입/출력 포트 정보를 포함하여 게임 장치를 나타내는 소스 어드레스를 발생시키는 수순;
    상기 기본 주변 장치는 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 기본 주변 장치가 상기 메인 데이타 전송 경로를 통하여 상기 게임 장치와 직접 접속되는 마스터 주변 장치임을 나타내는 상기 기본 주변 장치에 저장된 식별 정보, 및 상기 보조 데이타 전송 경로에 확장 주변 장치가 접속되어 있는지 여부를 확인해주는 접속 상태 정보에 기초하여 상기 기본 주변 장치를 나타내는 소스 어드레스를 발생시키는 수순;
    확장 주변 장치가 상기 보조 데이타 전송 경로에 접속되는 경우, 상기 확장 주변 장치는 상기 메인 및 보조 데이타 전송 경로를 통하여 상기 게임 장치에 의해 제공되는 입/출력 포트 정보, 상기 확장 주변 장치가 접속되어 있는 보조 전송 경로를 나타내는 상기 기본 주변 장치에 의해 제공되는 보조 전송 경로 정보, 및 상기 확장 주변 장치가 상기 보조 데이타 전송 경로와 접속되는 슬레이브 주변 장치임을 나타내는 상기 확장 주변 장치에 저장된 식별 정보에 기초하여 상기 확장 주변 장치를 나타내는 소스 어드레스를 발생시키는 수순을 실행시키기 위한 프로그램을 기록한, 컴퓨터로 판독가능한 기록 매체.
KR10-1999-7000297A 1997-05-14 1998-05-14 데이타 전송 방법 및 이것을 이용한 게임 시스템 KR100384677B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4646197P 1997-05-14 1997-05-14
US60/046,461 1997-05-14
JP12765497 1997-05-16
JP1997-127654 1997-05-16

Publications (2)

Publication Number Publication Date
KR20000023811A KR20000023811A (ko) 2000-04-25
KR100384677B1 true KR100384677B1 (ko) 2003-05-22

Family

ID=26463550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7000297A KR100384677B1 (ko) 1997-05-14 1998-05-14 데이타 전송 방법 및 이것을 이용한 게임 시스템

Country Status (8)

Country Link
EP (1) EP0932286B1 (ko)
JP (2) JP2870538B2 (ko)
KR (1) KR100384677B1 (ko)
AU (1) AU7237798A (ko)
DE (1) DE69831054T2 (ko)
ES (1) ES2247692T3 (ko)
RU (1) RU99102537A (ko)
WO (1) WO1998052331A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319549B1 (ko) 2007-07-16 2013-10-21 삼성전자주식회사 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000030314A1 (fr) * 1998-11-16 2000-05-25 Sega Enterprises, Ltd. Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede
JP2001273243A (ja) * 2000-03-27 2001-10-05 Canon Inc データ処理装置および周辺機器およびデータ処理方法および記憶媒体
JP5283133B2 (ja) * 2000-08-23 2013-09-04 任天堂株式会社 情報処理システム、ゲームシステム、情報処理プログラム、および情報処理方法
JP2002175263A (ja) * 2000-12-05 2002-06-21 Canon Inc 電子機器、制御方法及び記録媒体
JP2005027729A (ja) * 2003-07-08 2005-02-03 Olympia:Kk 遊技機用サブ基板及びこれを備える遊技機並びに検査装置
JP2005158056A (ja) * 2003-11-04 2005-06-16 Matsushita Electric Ind Co Ltd コンテンツ移動システムおよびこれに用いられるコンテンツ送出機器
KR100866603B1 (ko) * 2007-01-03 2008-11-03 삼성전자주식회사 디시리얼라이징과 시리얼라이징을 수행하는 데이터 처리 방법 및 데이터 처리 장치
JP4932546B2 (ja) * 2007-03-07 2012-05-16 日本電気株式会社 通信ノード及び該通信ノードを有するネットワーク・システムとデータ伝送方法
JP5137932B2 (ja) * 2009-11-17 2013-02-06 株式会社ソニー・コンピュータエンタテインメント 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体、拡張機器
JP5404522B2 (ja) * 2010-04-30 2014-02-05 任天堂株式会社 入力装置
KR102384855B1 (ko) * 2017-09-29 2022-04-08 주식회사 한화 신호 처리 방법, 장치 및 프로그램
JP2020065195A (ja) * 2018-10-18 2020-04-23 株式会社東海理化電機製作所 通信装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909541A (en) * 1974-03-11 1975-09-30 Bell Telephone Labor Inc Low-speed framing arrangement for a high-speed digital bitstream
JPS5844425Y2 (ja) * 1979-12-05 1983-10-07 オムロン株式会社 入出力装置
JPS62232233A (ja) * 1986-04-01 1987-10-12 Ricoh Co Ltd ロ−カルエリア・ネツトワ−ク制御方式
CA1289211C (en) * 1986-11-18 1991-09-17 Timothy A. Lemke Terminator for multiple electrical conductors
US4995056A (en) * 1989-01-13 1991-02-19 International Business Machines Corporation System and method for data communications
JP2986105B2 (ja) * 1989-01-25 1999-12-06 オリンパス光学工業株式会社 電子カメラ
JP2786010B2 (ja) * 1990-10-31 1998-08-13 日本電気ホームエレクトロニクス株式会社 情報コンセントのジャック及び該ジャックを有するホームバスシステム
US5437464A (en) * 1991-08-30 1995-08-01 Kabushiki Kaisha Sega Enterprises Data reading and image processing system for CD-ROM
FR2704987A1 (fr) * 1993-05-04 1994-11-10 Bajeux Claude Connecteur multipoint hermaphrodite.
JPH08293346A (ja) * 1995-04-18 1996-11-05 Whitaker Corp:The 電気コネクタ及びコネクタ組立体
JPH0946378A (ja) * 1995-07-27 1997-02-14 Meidensha Corp シリアル・データ伝送装置の転送データ変調/復調方式
US20020013090A1 (en) * 1996-10-07 2002-01-31 Donald L. Oros Electrical connector for and i/o module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319549B1 (ko) 2007-07-16 2013-10-21 삼성전자주식회사 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치

Also Published As

Publication number Publication date
DE69831054T2 (de) 2006-06-08
KR20000023811A (ko) 2000-04-25
DE69831054D1 (de) 2005-09-08
JPH11234362A (ja) 1999-08-27
EP0932286A4 (en) 2001-02-07
JP2870538B2 (ja) 1999-03-17
RU99102537A (ru) 2001-01-10
AU7237798A (en) 1998-12-08
EP0932286A1 (en) 1999-07-28
WO1998052331A1 (fr) 1998-11-19
ES2247692T3 (es) 2006-03-01
JPH1132097A (ja) 1999-02-02
EP0932286B1 (en) 2005-08-03

Similar Documents

Publication Publication Date Title
US6338105B1 (en) Data transmission method and game system constructed by using the method
KR100384677B1 (ko) 데이타 전송 방법 및 이것을 이용한 게임 시스템
CN100413279C (zh) 信息信号处理设备和信息信号处理方法
ES2286979T3 (es) Metodo y aparato para el control de sistemas.
US7127529B2 (en) Smart card system having asynchronous communication with the smart card operating either as master or slave
CN101911000B (zh) 用于连接电子装置的控制总线
CN102203851A (zh) 在标准设备连接器上的可选内容的传输
SE9002703A (ko)
CN102147781A (zh) 具有多重版本通用串行总线的主机板及其相关的方法
JPH06503932A (ja) 離れた場所から複写機を自動的にモニターするためのシステムにおける改良
JP2004304812A (ja) 電子システム及び通信システム
US6219164B1 (en) Device and method of communication by infrared between a user and a remotely controllable apparatus
CN100590574C (zh) 建立无线连接的系统和方法
US20040225813A1 (en) Method and apparatus for configuring multiple segment wired-and bus systems
CN113259877A (zh) 一种无线自组网广告同步方法和系统
EP1441467B1 (en) Electronic device; communication system and method; information processing terminal and method; and information processing apparatus and method
WO2000030314A1 (fr) Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede
CN100576894C (zh) 菜单设置系统及设置方法
WO1997049040A1 (fr) Dispositif de jeu, unite peripherique et dispositif de relai
JP2002252887A (ja) リモコン送信器のカスタマイズ装置及びカスタマイズ方法
NZ500500A (en) Portable electronic game, connectable to video game controller, where the display inverts when connected
CN100462891C (zh) 多硬盘电路连接系统
EP0395097B1 (en) Remote control system for audio/video devices
US6745276B2 (en) Communication method and apparatus
KR100521832B1 (ko) 게임장치가 내장된 가전제품 및 그 게임 제어 방법

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee