JPH11234362A - データ伝送方法及びこれを用いたゲームシステム - Google Patents

データ伝送方法及びこれを用いたゲームシステム

Info

Publication number
JPH11234362A
JPH11234362A JP10308413A JP30841398A JPH11234362A JP H11234362 A JPH11234362 A JP H11234362A JP 10308413 A JP10308413 A JP 10308413A JP 30841398 A JP30841398 A JP 30841398A JP H11234362 A JPH11234362 A JP H11234362A
Authority
JP
Japan
Prior art keywords
data
signal
pattern
peripheral device
transmission
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP10308413A
Other languages
English (en)
Inventor
Naoki Niitsuma
直樹 新妻
Atsunori Himoto
厚則 樋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Enterprises Ltd
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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Publication of JPH11234362A publication Critical patent/JPH11234362A/ja
Withdrawn legal-status Critical Current

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

(57)【要約】 【課題】 ゲーム装置とその周辺装置との新たなデータ
伝送方式及びこれを用いた装置を提供する。 【解決手段】 シリアルな送信データを奇数ビット列と
偶数ビット列のデータに分ける。奇数ビット列データの
各ビットを、一定間隔の第1のパルス列信号の各パルス
間に夫々配置して第1のパルス列信号(SDCKA)を
形成する。偶数ビット列データの各ビットを、一定間隔
の第2のパルス列信号の各パルス間に夫々配置して第2
のパルス列信号(SDCKB)を形成する。第1のパル
ス列信号のクロック成分が第2のパルス列信号のデータ
部分に位置し、第2のパルス列信号のクロック成分が第
1のパルス列信号のデータ部分に位置するように相互の
時間軸を調整する。調整された第1及び第2のパルス列
信号(SDCKA、SDCKB)を用いてデータを送信
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理を行う
データ処理装置と情報の入出力等を行う周辺装置との相
互間を接続するインタフェース技術に関し、特に、ゲー
ム装置とその周辺装置との接続に関する新規なインタフ
ェースの技術規格の提案に関する。
【0002】
【従来の技術】情報処理装置の本体とその周辺装置間に
おけるデータ通信に用いられるデータ伝送方法として次
のようなものがある。
【0003】・フィリップス(PHILIPS)社、I2Cバス方
式 シリアルデータと、シリアルクロックの2ワイヤによっ
て伝送する方式である。この方式は、データとクロック
を物理的に分離しており、最も単純にデータの送受、再
生が可能である。I2Cバスについては、例えば、フィ
リップス社のI2Cバス仕様説明書(1992年1月)
によって説明されている。
【0004】・SGS−トムソン(Thomson)社 DS
リンク方式 データ信号、ストローブ信号の2ワイヤによって伝送す
る方式である。この方式はデータ信号、ストローブ信号
によってクロック信号を再生する。伝送データが異なる
値に遷移する場合には、データ信号のみが変化する。ま
た、伝送データが同一の値の場合は、ストローブ部信号
のみが変化する。例えば、データ信号の伝送データが
「0」→「1」、「1」→「0」と遷移する場合はスト
ローブ信号は変化しない。データ信号の伝送データが
「0」→「0」、「1」→「1」と遷移しない場合はス
トローブ信号のみが変化する。この結果、データ信号と
ストローブ信号の排他的論理和をとることにより、クロ
ック信号を再生することが可能となる。DSリンク方式
については、例えば、日経エレクトロニクス第675号
(1996年11月4日、167頁〜171頁)に紹介
記事がある。
【0005】
【発明が解決しようとする課題】ゲーム装置のようなコ
ンシューマ向けの機器では、低価格で実現可能なデータ
伝送方式やインタフェースの接続規格が必要とされる。
【0006】しかしながら、上述したI2BUS方式で
は、データ信号の遷移エッジがクロックの遷移エッジと
同一タイミングであるため、データの再生(復調)側で
は、このクロック信号をそのまま利用することは出来な
い。また、後者のDSリンク方式では、データ信号とス
トローブ信号との排他的論理和をとり、同期用のクロッ
クを再生する。このクロックを用いて更にデータ信号の
サンプリングを行わなければならない。このため、イン
タフェースの回路構成の簡単さの程度が、低価格がきわ
めて要求される家庭用ゲーム装置の条件を十分に満足さ
せるものではない。
【0007】よって、本発明の目的とするところは、家
庭用ゲームシステムのような情報処理装置に適用でき
る、安価に回路構成可能なインタフェースのデータ伝送
方式を提供することである。
【0008】また、本発明の他の目的は、データを担う
信号からより簡単な回路構成でデータを分離できる、イ
ンタフェースのデータ伝送方式を提供することである。
【0009】また、本発明の他の目的は、データを担う
信号からより簡単な回路構成でデータを分離できる、イ
ンタフェースを備えるゲーム装置及びその周辺装置を提
供することである。
【0010】また、本発明の他の目的は、ゲーム装置と
周辺装置との間の新たなインタフェース技術を提案する
ことにより、多種多様な周辺装置を開発する基盤技術を
提供することである。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明のデータ伝送方法は、1つのシリアルデータ
を第1及び第2のデータ信号に分配してデータを伝送す
るデータ伝送方法において、上記第1のデータ信号は、
一定間隔のパルス列によって形成される第1のクロック
信号の各パルス間に、上記シリアルデータの奇数ビット
の各々を夫々配置してなり、上記第2のデータ信号は、
上記第1のクロック信号と同周期のパルス列によって形
成される第2のクロック信号の各パルス間に、上記シリ
アルデータの偶数ビットの各々を夫々配置してなり、上
記第1のデータ信号は、そのクロック信号成分のパルス
エッジが時間軸上において上記第2のデータ信号のデー
タ部分に位置するように伝送され、上記第2のデータ信
号は、そのクロック信号成分のパルスエッジが時間軸上
において上記第1のデータ信号のデータ部分に位置する
ように伝送される(図10、図11、図12、図50、
図54)。
【0012】また、本発明のデータ伝送方法は、少なく
とも、データの開始情報を担うスタートパターン、シリ
アルデータを担うデータパターン及びデータの終了情報
を担うエンドパターンを含む伝送フォーマットで定義さ
れるデータフレームを第1及び第2のデータ信号に分配
して伝送するデータ伝送方法において、上記スタートパ
ターンは、上記第1のデータ信号を固定値とし、上記第
2のデータ信号を第1のパルス列信号として形成され、
上記データパターンは、上記第1のデータ信号を、一定
間隔の第2のパルス列信号の各パルス間に、上記シリア
ルデータの奇数ビットの各々を夫々配置して形成すると
共に、上記第2のデータ信号を、上記第2のパルス列信
号の時間軸上の位置を所定値だけずらした第3のパルス
列信号の各パルス間に、上記シリアルデータの偶数ビッ
トの各々を夫々配置して形成してなり、上記エンドパタ
ーンは、上記第2のデータ信号を固定値とし、上記第1
のデータ信号を第4のパルス列信号として形成される、
ことを特徴とする(図11、図12、図13、図14、
図50、図51、図54)。
【0013】かかる構成によって、少ないデータ線の数
(2本)で変調・復調の回路が比較的に簡単に構成可能
な通信インタフェースを形成することが可能となる。
【0014】好ましくは、上記第1及び第2のデータ信
号のうちのいずれか一方のデータ信号のクロック信号成
分のパルスエッジで、他方のデータ信号のレベルをラッ
チすることによって、重畳されたデータを分離する。こ
れによって、簡単な回路構成で重畳されたデータを分離
することが出来る(図10、図28、図29、図5
0)。
【0015】本発明のゲーム装置は、1つ又は複数の周
辺装置に信号の伝送路を介して2つのデータ信号(SD
CKA、SDCKB)を同時に送信してゲームに必要な
情報の送信あるいは返信を要求するゲーム装置におい
て、第1の信号を第1の期間中一定(あるいは固定値)
状態とし、第2の信号を上記第1の期間中クロック信号
状態として、2つのデータ信号で表されるスタートパタ
ーンを形成するスタートパターン形成手段(図13
(a)、図14、図21及び図63の58、59)と、
上記周辺装置に送信すべきデータを2つのデータ列に分
け、第1のデータ列の各ビットを第1のクロック信号の
各パルス間にそれぞれ挿入して第1のデータ信号を形成
し、第2のデータ列の各ビットを上記第1のクロック信
号と所定の位相差を有する同周期の第2のクロック信号
の各パルス間にそれぞれ挿入して第2のデータ信号を形
成して、2つのデータ信号で表されるデータパターンを
形成するデータパターン形成手段(図10、図50、図
21及び図63の58、59)と、上記第2の信号を第
2の期間中一定値(あるいは固定値)状態とし、第1の
信号を上記第2の期間中クロック信号状態として、2つ
のデータ信号で表されるエンドパターンを形成するエン
ドパターン形成手段(図13(b)、図21及び図63
の58、59)と、上記スタートパターン、上記データ
パターン及び上記エンドパターンを含む、2つのデータ
信号で表されるフレームを形成し、これを送信単位とし
て上記周辺装置に送出するフレーム形成手段(図21及
び図63の58、59)と、を備える。
【0016】好ましくは、上記データはシリアルデータ
であり、上記第1のデータ列は上記シリアルデータの奇
数ビットのデータ列、上記第2のデータ列は上記シリア
ルデータの偶数ビットのデータ列である。
【0017】また、上記所定の位相差は、上記データパ
ターンを表す2つのデータ信号のうちの一方のデータ信
号に含まれるクロック信号のパルスエッジが時間軸上に
おいて他方のデータ信号のデータ部分に位置し、上記他
方のデータ信号に含まれるクロック信号のパルスエッジ
が時間軸上において上記一方のデータ信号のデータ部分
に位置するように定められる(図10、図50)。
【0018】上述したデータ伝送方法を実行する、上記
ゲーム装置は、2つのデータ信号の両方又はいずれかが
伝送クロック成分を含むのでデータの分離が容易であ
る。変調・復調回路の構成が比較的に簡単に済む。
【0019】好ましくは、上記データパターンはコマン
ド及びパラメータを含み、上記パラメータは少なくとも
上記フレームを受信すべき上記信号の伝送路に接続され
た周辺装置のアドレスを含む(図7、図48)。ゲーム
装置と周辺装置とのデータ通信の信号フォーマットをフ
レーム形式によって規格化したので、ゲーム装置と複数
種類の周辺装置との互換性の確保が容易である。
【0020】上記信号の伝送路は、例えば、有線のデー
タ信号線(有線)、無線の、無線通信チャネル(図9
5)、光通信チャネル(図96)、あるいはこれ等の組
み合わせを選ぶことができる。
【0021】本発明のゲーム装置の周辺装置は、1つ又
は複数の入出力ポートを有するゲーム装置に2つのデー
タ信号を同時に送信してゲームに必要な情報を送るゲー
ム装置の周辺装置において、第1の信号を第1の期間中
一定値(あるいは固定値)状態とし、第2の信号を上記
第1の期間中クロック信号状態として、2つのデータ信
号で表されるスタートパターンを形成するスタートパタ
ーン形成手段(図65の204c及び204e)と、上
記ゲーム装置に送信すべきデータを2つのデータ列に分
け、第1のデータ列の各ビットを第1のクロック信号の
各パルス間にそれぞれ挿入し、第2のデータ列の各ビッ
トを上記第1のクロック信号と所定の位相差を有する同
周期の第2のクロック信号の各パルス間にそれぞれ挿入
して、2つのデータ信号で表されるデータパターンを形
成するデータパターン形成手段(図65の204c及び
204e)と、上記第2の信号を第2の期間中一定値
(あるいは固定値)状態とし、上記第1の信号を上記第
2の期間中クロック信号状態として、2つのデータ信号
で表されるエンドパターンを形成するエンドパターン形
成手段(図65の204c及び204e)と、上記スタ
ートパターン、上記データパターン及び上記エンドパタ
ーンを含む、2つのデータ信号で表されるフレームを形
成し、これを送信単位として上記ゲーム装置に送出する
フレーム形成手段(図65の204c及び204e)
と、を備える。
【0022】好ましくは、上記データは2つのデータ列
への分離が容易なシリアルデータであり、上記第1のデ
ータ列は上記シリアルデータの奇数ビットのデータ列、
上記第2のデータ列は上記シリアルデータの偶数ビット
のデータ列である。なお、データを集めるバッファを解
することにより、シリアルデータのみならず、ブロック
データも扱える。
【0023】好ましくは、上記所定の位相差は、上記デ
ータパターンを表す2つのデータ信号のうちの一方のデ
ータ信号に含まれるクロック信号のパルスエッジが時間
軸上において他方のデータ信号のデータ部分に位置し、
上記他方のデータ信号に含まれるクロック信号のパルス
エッジが時間軸上において上記一方のデータ信号のデー
タ部分に位置するように定められる(図10、図5
0)。これにより、一方のクロックによって他方のデー
タ信号に重畳しているデータを簡単に分離することがで
きる。
【0024】好ましくは、上記データパターンはコマン
ド及びパラメータを含み、上記パラメータは少なくとも
上記フレームを受信すべき上記ゲーム装置の入出力ポー
トのアドレスを含む(図6、図48、図57)。
【0025】好ましくは、上記データパターンは、コマ
ンド及びパラメータを含み、上記パラメータは、上記フ
レームを送信する周辺装置の上記伝送路上のアドレスを
表す送信元アドレスを含み、この送信元アドレスは、周
辺装置が予め保持している周辺装置の種類を表す周辺装
置識別情報と、上記ゲーム装置から通知される周辺装置
が接続された入出力ポートの情報と、に基づいて形成さ
れる(図58)。
【0026】本発明の周辺装置は、1つ又は複数の入出
力ポートを備えるゲーム装置のいずれかの入出力ポート
に接続されるデータ伝送路を介して、上記ゲーム装置と
データ通信を行う周辺装置において、周辺装置の種類を
表す周辺装置の識別情報を予め記憶する第1の記憶手段
と、上記ゲーム装置から通知される、上記データ伝送路
が接続された入出力ポートを表す入出力ポート情報を記
憶する第2の記憶手段と、上記周辺装置識別情報と上記
入出力ポート情報とに基づいて、上記ゲーム装置に送信
すべきデータに加える自己の送信元アドレスを形成する
送信元アドレス形成手段と、を備える(図58)。
【0027】かかる構成とすることによって、ゲーム装
置は、受信した送信データから周辺装置のデータ伝送路
上のアドレスと周辺装置のタイプを知ることができる。
【0028】本発明の周辺装置は、ゲーム装置とのデー
タ通信を該ゲーム装置に設けられた1つ又は複数の入出
力ポートのいずれかに接続されるデータ伝送路を介して
行う周辺装置において、上記データ伝送路に接続される
1つの基本コネクタと、他の周辺装置を上記データ伝送
路に接続するために、上記基本コネクタを介して上記デ
ータ伝送路に接続される1つ又は複数の拡張コネクタ
と、上記基本コネクタを介して上記ゲーム装置とデータ
通信を行う入出力コントローラと、を備え、上記入出力
コントローラは、自己が上記ゲーム装置に直接的に接続
されるべき周辺装置であることを表す周辺装置識別情報
を予め記憶する第1の記憶手段と、上記ゲーム装置から
通知される、上記データ伝送路が接続された入出力ポー
トを表す入出力ポート情報を記憶する第2の記憶手段
と、各拡張コネクタへの上記他の周辺装置の接続の有無
を判別して、他の周辺装置の接続状態を表す接続情報を
形成する接続判別手段と、上記周辺装置識別情報、上記
入出力ポート情報及び上記接続情報を含む、送信データ
に付加すべき、送信元アドレスを形成する送信元アドレ
ス形成手段と、を含む(図58)。
【0029】好ましくは、上記判別手段は、上記他の周
辺装置によってバイアス電圧が供給されるようになされ
たレベルシフト回路が接続された上記拡張コネクタの特
定の端子の電圧レベルを弁別することによって上記拡張
ソケットへの接続の有無を判断する。
【0030】本発明の拡張周辺装置は、上述した周辺装
置の拡張コネクタに接続される拡張周辺装置であり、上
記拡張コネクタへの接続後、該拡張コネクタを介して上
記入出力コントローラから通知される、上記接続した拡
張コネクタの番号を表すコネクタ識別情報を記憶する第
1の記憶手段と、自己が拡張コネクタに接続されるべき
周辺装置であることを表す拡張周辺装置情報を予め保持
する第2の記憶手段と、上記ゲーム装置から、上記デー
タ伝送路、上記基本コネクタ及び上記拡張コネクタを介
して通知される、上記データ伝送路が接続された入出力
ポートを表す入出力ポート情報を記憶する第3の記憶手
段と、上記拡張周辺装置情報、上記入出力ポート情報及
び上記接続情報を含む、送信データに付加すべき、送信
元アドレスを形成する送信元アドレス形成手段と、を含
む(図59)。
【0031】本発明のゲーム装置は、1つ又は複数の拡
張周辺装置を夫々に設けられた副データ伝送路(LMバ
ス)を介して接続することのできる基本周辺装置を主デ
ータ伝送路(Mバス)を介して接続する1つ又は複数の
入出力ポートを備えるゲーム装置において、上記周辺装
置のいずれかとフレーム信号を用いて間欠的なデータ通
信を行う入出力コントローラを備え、上記データ通信
は、上記入出力コントローラからの命令に、該当する周
辺装置が応答する形式で行われ、上記フレーム信号は、
データパターンの開始を表すスタートパターン、通信デ
ータを担うデータパターン、データパターンの終了を表
すエンドパターン、を含み、上記データパターンは、コ
マンド及びパラメータを含み、上記パラメータは、送信
先アドレス及び送信元アドレスを含み、上記送信先アド
レス及び上記送信元アドレスの各々は、通信に使用され
る上記主データ伝送路、通信対象周辺装置の基本/拡張
の区別、及び通信に使用される上記副データ伝送路の情
報を含んで形成される(図58、図59)。
【0032】好ましくは、上記主データ伝送路に上記副
データ伝送路の各々が並列に接続されて、ゲーム装置と
各拡張周辺装置との間で直接データ通信を行う。
【0033】好ましくは、上記基本周辺装置及び上記拡
張周辺装置の各々は、周辺装置の種類や装置固有の情報
を含む固有情報を保持し、上記ゲーム装置は、この固有
情報を上記データ通信によって読み出す。ゲーム装置
は、固有情報を参照してゲームアプリケーションと周辺
装置との適合性を判別する。
【0034】これによって、いわゆるプラグ&プレイや
アプリケーションと適合しない周辺装置の使用回避を可
能とする。
【0035】好ましくは、上記主データ伝送路は2つの
データ線によって構成され、上記フレーム信号を分割し
た2つのデータ信号が、それぞれ上記2つのデータ線を
伝送する。これにより、ゲーム装置に本発明のデータ伝
送方法を適用できる。
【0036】本発明のゲーム装置の基本周辺装置は、1
つ又は複数の拡張周辺装置を夫々に設けられた副データ
伝送路を介して接続することができると共に、1つ又は
複数の入出力ポートを備えるゲーム装置に主データ伝送
路を介して接続されるゲーム装置の基本周辺装置におい
て、上記ゲーム装置とフレーム信号を用いて間欠的なデ
ータ通信を行う入出力コントローラを備え、上記データ
通信は、上記ゲーム装置からの命令に上記入出力コント
ローラが応答する形式で行われ、上記フレーム信号は、
データパターンの開始を表すスタートパターン、通信デ
ータを担うデータパターン、データパターンの終了を表
すエンドパターン、を含み、上記データパターンは、コ
マンド及びパラメータを含み、上記パラメータは、送信
先アドレス及び送信元アドレスを含み、上記送信先アド
レス及び上記送信元アドレスの各々は、通信に使用され
る上記主データ伝送路、通信対象の周辺装置の親子の区
別及び通信に使用される上記副データ伝送路の情報を含
んで形成される(図58、図59)。
【0037】本発明のゲーム装置の基本周辺装置は、上
記主データ伝送路に接続するコネクタと、上記コネクタ
を介して上記主データ伝送路と上記副データ伝送路の各
々とを並列に接続する複数の拡張コネクタと、を備え
る。
【0038】好ましくは、基本周辺装置は、周辺装置の
種類や装置固有の情報を含む固有情報を記憶する記憶手
段を有し、上記ゲーム装置からの求めに応じて、この固
有情報を上記データ通信によって送信する。
【0039】好ましくは、上記基本周辺装置は、上記主
データ伝送路は2つのデータ線によって構成され、上記
フレーム信号を分割した2つのデータ信号が、それぞれ
上記2つのデータ線を伝送する構成として本発明のデー
タ伝送方法を使用する。
【0040】上述した構成の周辺装置は、複数の入出力
ポートを備えたゲーム装置に接続されて、ゲーム装置と
データ通信を行うものであり、ゲーム装置から通知され
る入出力ポートの情報と自己が保持する周辺装置の種類
を表す情報とによってデータ伝送路上における送信元ア
ドレスを形成する。
【0041】本発明の拡張周辺装置は、副データ伝送
路、他の周辺装置を接続可能な基本周辺装置及び主デー
タ伝送路を介してゲーム装置に接続されるゲーム装置の
拡張周辺装置において、上記ゲーム装置とフレーム信号
を用いて間欠的なデータ通信を行う入出力コントローラ
を備え、上記データ通信は、上記ゲーム装置からの命令
に上記入出力コントローラが応答する形式で行われ、上
記フレーム信号は、データパターンの開始を表すスター
トパターン、通信データを担うデータパターン、データ
パターンの終了を表すエンドパターン、を含み、上記デ
ータパターンは、コマンド及びパラメータを含み、上記
パラメータは、送信先アドレス及び送信元アドレスを含
み、上記送信先アドレス及び上記送信元アドレスの各々
は、通信に使用される上記主データ伝送路、通信対象周
辺装置の基本/拡張の区別、及び通信に使用される上記
副データ伝送路の情報を含んで形成される(図59)。
【0042】好ましくは、上記主データ伝送路は2つデ
ータ線によって構成され、上記副データ伝送路は上り方
向の2つのデータ線と、下り方向の2つのデータ線とに
よって構成され、上記フレーム信号を分割した2つのデ
ータ信号が、それぞれ上記2つのデータ線を伝送する。
【0043】上述した構成の拡張周辺装置は、複数の入
出力ポートを備えるゲーム装置とのデータ通信を、入出
力ポートのいずれかに並列接続される複数の拡張コネク
タを有する周辺装置(基本周辺装置)を介して行う。そ
して、データ通信において使用する送信元アドレスを、
ゲーム装置から通知される入出力ポートの情報及び周辺
装置から通知される使用拡張コネクタの情報を用いて形
成する。送信元アドレスは単なるアドレスではなく、一
定の情報を含む。このような周辺装置の機能は、プラグ
アンドプレイ等に好適である。
【0044】本発明の情報記録媒体は、コンピュータシ
ステムを上述したゲーム装置(ホスト)あるいは周辺装
置として動作させるプログラムを記憶している。
【0045】上記目的を達成する本発明のゲームシステ
ムは、ゲーム装置に周辺装置を着脱自在に接続して使用
するゲームシステムにおいて、上記周辺装置は少なくと
も一つの機能デバイス(MIE、図9、図30、図4
6、図65、図81〜図94等)を含み、一対のデータ
線を介して上記ゲーム装置に着脱自在に接続されるよう
に構成されており、上記ゲーム装置及び上記機能デバイ
スはそれぞれ、1フレームがスタートパターン部と相手
方に送付すべきデータを含むデータパターン部とエンド
パターン部とによって構成されるシリアルデータ信号を
生成し、生成されたシリアルデータ信号は第1及び第2の
シリアルデータ信号に分配して上記一対のデータ線を介
して受信側に送信するように構成されており、上記デー
タパターン部は、上記一対のデータ線を介して順次送信
されるクロック信号を含むパルス列を有し、上記一対の
データ線の一方を通して送出されるクロック信号のタイ
ミングに対応して他方のデータ線を通してデータを表す
信号レベルを送出し、次に上記他方のデータ線を通して
送出される次のクロック信号のタイミングに対応して上
記一方のデータ線を通してデータを表す次の信号レベル
を送出することを順次行うように構成されており、上記
スタートパターン部は、上記一対のデータ線の一方が電
源電位及び接地電位のいずれか一方の電位レベルに維持
されている間に上記一対のデータ線の他方に送出される
連続した複数個のパルス列を含み、これにより受信側は
送信側からの信号の送出開始を認識するように構成され
ており、上記エンドパターン部は、上記他方のデータ線
が上記一方の電位レベルに維持されている間に上記一方
のデータ線に送出される連続した複数個のパルス列を含
み、これにより受信側は送信側からの信号の送出終了を
認識するように構成されており、受信側は受信した前記
第1及び第2のシリアルデータ信号から送信側が送信し
たデータを再生するように構成されてなる。
【0046】このような構成のゲームシステムにおける
ゲーム装置及び周辺装置相互間のデータ通信は、2つの
データ信号の両方又はいずれかが伝送クロック成分を含
むので、スタートパターン、エンドパターンの検出や、
データパターンからのデータの分離が容易である。変調
・復調回路の構成が比較的に簡単に済む。
【0047】好ましくは、上記ゲームシステムは、上記
クロック信号の検出並びに上記スタートパターン部及び
エンドパターン部におけるパルスの検出は、パルスの立
ち上がりまたは立ち下がりの一方のエッジ部分によって
行われるように構成されてなる(図26、図27等)。
【0048】本発明の更に他の形態は、上記データパタ
ーン部において、上記一方のデータ線を通して送出され
るパルス列の上記エッジ部のタイミングに対応して上記
他方のデータ線を通して送出される信号レベルの変化
と、上記他方のデータ線を通して送出されるクロック列
のタイミングに対応して上記一方のデータ線を通して送
出される信号レベルの変化とを受信側で合成して得られ
る信号レベルの変化が送信側から送出されたデータを表
すように構成されてなる(図10、図25、図50)。
【0049】本発明はさらに、ゲーム装置に着脱自在に
接続して使用する周辺装置であって、少なくとも一つの
機能デバイスと、上記ゲーム装置に着脱自在に接続さ
れ、上記ゲーム装置から送出される上記第1及び第2のシ
リアルデータを受信する一対のデータ線と、上記一対の
データ線を通して上記ゲーム装置から受信した第1及び
第2のシリアルデータから上記ゲーム装置が送出したデ
ータを再生する手段と、1フレームが上記構成のスター
トパターン部と上記機能デバイスで生成されたデータを
含む上記構成のデータパターン部と上記構成のエンドパ
ターン部とによって構成されるシリアルデータ信号を生
成する手段と、上記ゲーム装置からのコマンドに応答し
て、上記シリアルデータ信号を上記構成の第1及び第2の
シリアルデータ信号に分配して上記一対のデータ線を介
して上記ゲーム装置に送信する手段と、を含むように構
成されてなる、上述したゲームシステムのゲーム装置に
接続して使用する周辺装置である。
【0050】本発明の他の形態は、ゲーム装置に接続し
て使用する周辺装置であって、この周辺装置は一対のデ
ータ線を介してゲーム装置に着脱自在に接続され、上記
一対のデータ線を介してパルスの立ち上がりあるいは立
ち下がりの一方のエッジ部で識別されるシリアルデータ
信号によって上記ゲーム装置との間でデータ伝送を行う
ように構成されており、上記ゲーム装置はスタートパタ
ーン部、データパターン部及びエンドパターン部を含む
パルス列によって1フレームが構成される信号を生成
し、これを2つのシリアルデータ信号に分配して上記一
対のデータ線を介して上記周辺装置に送信するように構
成されており、上記データパターン部には上記一対のデ
ータ線を介して送信される2つのパルス列に交互に発生
する上記一方のエッジ部で識別しこれによって合成され
る一連のクロック信号が含まれており、上記周辺装置は
一方のデータ線を通して受信する上記一方のエッジ部で
識別されるクロック信号のタイミングで他方のデータ線
を通してデータ信号を送出するように周辺装置で生成さ
れるデータ信号を2つのシリアルデータ信号に分配して
上記一対のデータ線を介して交互にゲーム装置に送信す
るように構成されてなる。
【0051】本発明のさらに他の形態は、上記スタート
パターンは一方のデータ線が電源電位あるいは接地電位
の一方の電位に維持されているときに他方のデータ線を
介して送出される連続する4個の上記一方のパルスエッ
ジ部(図11、図13(a))を含み、上記エンドパタ
ーンは上記他方のデータ線が上記一方の電位に維持され
ているときに上記一方のデータ線を介して送出される連
続する2個の上記一方のパルスエッジ部(図11、図1
3(b))を含み、これにより周辺装置で生成される信
号の送出開始及び送出終了を認識するように構成されて
なる。
【0052】なお、上述のかっこ書き内の図番や符号は
図面参照の便宜のためであり、該当する部分が他の図面
にも記載されている場合があることを留意すべきであ
る。また、これ等の参照は発明を限定する意図のもので
はない。
【0053】
【発明の実施の形態】(構成の概要)まず、システム構
成の概略を図1及び図2を参照して説明する。図1は、
コンピュータシステムとしてのゲーム装置を説明する説
明図である。図2は、このゲーム装置の制御系を説明す
るブロック図である。
【0054】ゲーム装置(ホスト)1は、ゲームプログ
ラム等を実行するCPU1a、ゲーム装置としての制御
プログラム、データ、OS等を記憶するROM1b、ゲ
ームアプリケーションプログラムやデータを記憶するC
D−ROM装置1c、CPU1aと各部間のデータ転送
を制御するバスコントローラ1d、CPU1aのプログ
ラムやデータを保持し、データ処理に使用されるRAM
1e、描画データから画像信号を形成する描画プロセッ
サ1f、音声データから音声信号を形成する音響プロセ
ッサ1g、CPU1a及び外部の周辺装置相互間のデー
タ転送を中継するペリフェラルインタフェース1h、等
によって構成される。RAM1eの一部の領域はペリフ
ェラルデータ処理のためのワークRAMとして使用さ
れ、いわゆるDMA動作が可能になされている。画像信
号及び音声信号はモニタ4、例えばテレビジョンに供給
され、映像と音声が出力される。周辺装置は、基本周辺
装置2と拡張周辺装置3とからなる。基本周辺装置2は
コネクタ1iを介してペリフェラルコントローラ1hと
接続され、拡張周辺装置3は基本周辺装置2に接続され
る。基本周辺装置2及び拡張周辺装置3は、ホストに対
して電気的(あるいは論理構造的)には並列に接続され
る。基本周辺装置2は、例えば、ゲームコントローラで
あり、拡張周辺装置3は、例えば、音声入力装置、音声
出力装置、光線銃モジュール、振動装置、メモリ装置等
である。
【0055】ただし、次に述べる第1の実施の形態(第
1のインタフェース規格)では、周辺装置は、その果た
す機能の観点から検討され、Uデバイスファンクション
及びLデバイスファンクションに分類されている。この
分類は、一つの周辺装置に一つの機能が形成される場合
だけでなく、一つの周辺装置内に複数の機能が形成され
る場合や、一つのファンクションが複数の周辺装置によ
って実現される場合があることを考慮したものである。
【0056】一方、後述する第2の実施の形態(第2の
インタフェース規格)においては、周辺装置は、装置相
互の接続関係から基本周辺装置及び拡張周辺装置に分類
されている。
【0057】本発明の実施の形態は、大別して、第1の
実施の形態と、第2の実施の形態とに分けられる。
【0058】(第1の実施の形態)まず、本願の第1の
インターフェース規格で使用する用語の意味について図
面を参照して説明する。
【0059】まず、データを時系列上に展開したデータ
を「シリアルデータ」と称する。シリアルデータでデー
タのやりとりを行う信号線を「シリアルバス」と称す
る。本願のインタフェース規格を採用する、ゲーム装置
と周辺装置とを接続するシリアルバスをMバス(M−B
us)と称する。
【0060】周辺装置の各デバイスファンクションに最
初から割当てられている、登録制の認識番号を「デバイ
スID」と称する。デバイスIDは、複数種類、例え
ば、256種類を用意できる。一つのポートに同じデバ
イス番号が複数あってもよい。
【0061】ゲーム装置のペリフェラルコントローラと
周辺装置とMバスで接続する箇所をを「ポート」と称す
る。Mバスでは複数のポートを能動的に接続することが
可能である。例えば、16ポートをサポート可能である
が、実施例では、4つのポート(ポートA、ポートB、
ポートC、ポートD)をサポートする例で説明してい
る。
【0062】図3に示すように、ゲーム装置側を「ホス
ト」、これに接続する周辺装置の機能の一つを「デバイ
スファンクション」と称する。デバイスファンクション
は、装置(製品)そのものではなく、装置の機能を指し
示すため、一つの装置によって一機能が実現される場合
の他、一つの装置の機能を複数に分割し、夫々をデバイ
スファンクションとすることが出来る。Mバスでは、ホ
ストは1台で、それにデバイスファンクションがツリー
状に接続される。そして、各デバイスファンクション
は、同一Mバス上に存在するように見える。一つのポー
トには、複数のデバイスファンクション、例えば、14
個のデバイスファンクションが接続可能である。デバイ
スファンクションは、例えば、ゲーム装置の周辺装置
を、ゲームコントローラ、ゲームパッド、ジョイスティ
ック、キーボード、模擬操縦装置、模擬銃、記憶装置、
音声装置等として機能させる。
【0063】図4に示すように、各デバイスファンクシ
ョンは、「上位(U)デバイスファンクション」と「下
位(L)デバイスファンクション」との2種類に分類さ
れる。U−デバイスファンクションは、ホストと接続出
来る。また、U−デバイスファンクションはL−デバイ
スファンクションをコントロールする能力を持つ。L−
デバイスファンクションは、U−デバイスファンクショ
ンに接続している、あるいは接続することを前提とする
デバイスファンクションである。U−デバイスファンク
ションからL−デバイスファンクションに繋がるMバス
を「LMバス」と称する。
【0064】一つのポートに必ず一つのU−デバイスフ
ァンクションがないと、そのポートは使用できない。そ
して、主として、ゲーム装置のゲームコントローラをU
−デバイスファンクション、拡張(周辺接続)装置をL
−デバイスファンクションとする。例えば、Mバスに
は、最大14個のL−デバイスファンクションを接続で
きる。
【0065】また、U−デバイスファンクションにU−
デバイスファンクションを接続することが可能である。
この場合、接続したU−デバイスファンクションは、L
−デバイスファンクションとなる。U−デバイスファン
クションとL−デバイスファンクションとは物理的に分
離している必要はなく、U−デバイスファンクションの
中に論理的に分離した別のデバイスファンクションをL
−デバイスファンクションとすることが出来る。
【0066】例えば、周辺装置のデバイスファンション
を制御するIC(例えば、マイクロコンピュータ)の中
に機能別に、デジタル制御部をU−デバイスファンクシ
ョン、アナログ制御部をL−デバイスファンクションと
することができ、L−デバイスファンクションすなわち
アナログ制御部を使用しないときには、その部分を使用
不可にすることも可能である。
【0067】図5に示すように、ホストの各ポートにお
いて複数のデバイスファンクションのいずれにも、ホス
トが直接的にアクセスできるように、個々のデバイスフ
ァンクションにポートAから順に番号が割振られる。こ
のデバイスファンクション毎に割振られるアクセスのた
めの識別番号(あるいは符号)を「絶対位置(AP)」
と称する。
【0068】Mバスでは、ホストの1つのポートに複数
のデバイスファンクションが割当てられる。Mバスのポ
ート数とAPの数の関係は、次式で表される。
【0069】(最大ポート数)×(1ポートに割当てら
れる最大AP数)=一定値 実施例のMバスでは、「一定値」を1バイトで表現する
ことにする。この場合、(4ポート(max16ポー
ト))×(最大ポート16個のAP)=1バイトとな
る。
【0070】16個のAPのうち、ポートにAPが一つ
予約されるため、1ポートに割り当てられるAPは最大
15個になる。これより、1ポートに最大15デバイス
ファンクションまで使用可能となる。また、1ポートに
U−デバイスファンクションが1つ接続されるので、L
−デバイスファンクションは最大14デバイスファンク
ションとなる。
【0071】デバイスファンクションに割当てられるA
Pは、ポート毎に使用可能な数字の範囲が定められる。
例えば、APの構成は、次のようになる。
【0072】ビット 76543210 A P pppp**** ここで、“pppp”はポート番号(ポートA=“00
00”、ポートB=“0001”、ポートC=“001
0”、ポートD=“0011”)に相当し、“***
*”は連番(“0000”(10進数の“0”)〜“1
111”(10進数の“15”))である。よって、1
つのポートで最大15デバイスファンクションのAPが
定められる。
【0073】2進数表示にすると、デバイスファンクシ
ョンのAP値は、ポートAでは“00000001”〜
“00001111”の範囲、ポートBでは“0001
0001”〜“00011111”の範囲、ポートCで
は“00100001”〜“00101111”の範
囲、ポートDでは、“00110001”〜“0011
11111”の範囲である。
【0074】これ等を、10進数表示にすると、それぞ
れ、1〜15、17〜31、33〜47、49〜63と
表される。また、16進数表示にすると、それぞれ、#
01〜#0F、#11〜1F、#21〜2F、#31〜
#3Fと表される。
【0075】デバイスファンクションから見たホストの
各ポートのAPは、常に、そのポートで使用できるAP
の最小値で、ポートAでは#00(0)、ポートBでは
#10(16)、ポートCでは#20(32)、ポート
Dでは#30(48)となる。デバイスファンクション
及びホストは、APの上位4ビットからその接続されて
いるポートが判別できる。デバイスファンクションへの
アクセスは、このAPでアクセスするデバイスファンク
ションを指定する。
【0076】各デバイスファンクション毎に割り当てら
れているAP指定することで、1つのデバイスファンク
ションが指定されるため、ホストは、周辺装置の各デバ
イスファンクションにダイレクトにアクセスできる。こ
のため、図6に示すように、ホストから見て、ホストと
各デバイスファンクションとは何も経由せずに接続され
ているように見える。別言すれば、各デバイスが同一バ
ス上に接続されているように見える。
【0077】ホストとデバイスファンクションのデータ
のやりとりは、従来のような一方通行的なものではな
く、その場その時に適したデータの送信受信が出来るよ
うに、ある決った命令を用いてデータのやりとりを行
う。この命令のことを「コマンド」と称する。コマンド
のデータを「パラメータ」と称する。
【0078】一回の送信データは、図7に示すように、
コマンド+パラメータの1フレーム(例えば、256バ
イト)で構成される。パラメータには、APデータ、デ
ータのサイズ、データが含まれるが、データを含まない
場合もある。
【0079】原則的に、ホストがコマンドを発行してデ
バイスファンクションにアクセスする。デバイスファン
クションはそれに対応するデータを用意した後、ホスト
にコマンドを発行してデータを送る。Mバスでは、例え
ば、最大254個のコマンドを用意可能であり、最大2
53バイトのデータの転送が可能である。
【0080】周辺装置、例えば、ゲーム操作入力装置と
してのゲームコントローラの機能を拡張するための拡張
装置を接続する場所を「拡張ソケット」と称する。拡張
ソケットには、原則として、L−デバイスを接続する。
標準的なゲームコントローラでは、例えば、2つの拡張
ソケットを持つ。Mバスでは、拡張ソケットの数はL−
デバイスファンクションの個数と同じ数、例えば、実施
例では14個まで持つことが出来る。
【0081】あるデータをMバス用のシリアルデータに
変換し、Mバス上で送受信できるようにする回路あるい
は機能デバイスを「MバスI/Fエンジン(MIE)」
と称する。Mバス規格の機器は、全てこのMIEを持
つ。ホストにはホスト用のMIE、U−デバイスファン
クションにはU−デバイスファンクション用のMIE、
L−デバイスファンクションにはL−デバイスファンク
ション用のMIEを組込む。
【0082】図8に示すように、ホストがデバイスファ
ンクションにアクセスするためには、必ずデバイスファ
ンクションを統括するソフト「Mバスドライバ」を介し
なければならない。デバイスファンクションは、Mバス
ドライバによって、制御・管理される。Mバスドライバ
は、デバイスID(機能識別番号)、AP(絶対位
置)、ポート等の管理、コマンドの受信・発信、データ
形式の制御、管理等を行う。Mバスドライバを改良(改
版)、追加していくことにより、コマンドを増すことが
出来る。
【0083】Mバスにおいて、全ての周辺装置は、所定
フォーマットによる装置に特有の情報(固有情報)を記
録しなけれはならない。このデバイスファンクション情
報のことを「デバイスステイタス」と称する。
【0084】デバイスステイタスは、管理データとし
て、製品名、デバイスID、ライセンス、モデルナンバ
ー、仕向地、LM−バス数等を、電気的データ(ハード
ウェア情報)として、スタンバイ消費電流、最大消費電
流等を記録する。デバイスステイタスは、Mバスドライ
バ及びアプリケーション・プログラム・インタフェース
(API)にて管理活用され、例えば、周辺装置の製品
名や接続許容の判別、最大消費電流に基づくポート全体
の電流制御等を可能とする。
【0085】図9は、本インタフェース規格が提案する
範囲を概略的に示している。ホスト上で実行されている
アプリケーションソフトは、周辺装置のデバイスファン
クションとのデータ通信をAPIというソフトウェアを
介して、あるいは直接にMバスドライバにインストラク
ションを与えて行う。Mバスドライバによってインスト
ラクションに対応して形成されるコマンドはホストのM
IE、ケーブル、周辺装置のMIE、MIEコントロー
ラを介して、周辺装置のデバイスファンクションの中核
となるコントロールソフトに伝えられる。該コントロー
ルソフトは当該コマンドに対する応答を、MIEコント
ローラ、周辺装置のMIE、ケーブル、ホストのMI
E、Mバスドライバを介してホスト上で実行されている
アプリケーションソフトに返す。周辺装置には、複数の
デバイスファンクションを設けることが出来るが、この
場合には、各デバイスファンクションはMIEを共用す
ることが可能である。ここで、MIE、接続ケーブル等
は物理的階層、Mバスドライバ、MIEコントローラは
論理的階層に相当する。
【0086】次に、Mバス上のデータの伝送について説
明する。
【0087】Mバスにおいては、データ伝送は同期シリ
アル方式で行われる。接続ケーブルは、電力線対(Vc
c、GND)、データ線対(SDCKA、SDCKB:
双方向)の計4線を使用する。必要により、ノイズ防止
のために接続ケーブルをシールドするシールド線が追加
される。データの送受信は双方向通信の半二重とし、適
当なデータ転送速度、例えば、2Mbpsに設定される。
【0088】図10を参照して、伝送原理について説明
する。データは、データ線を伝搬するシリアルデータク
ロック(SDCK)A及びシリアルデータクロック(S
DCK)Bによって伝送される。シリアルデータクロッ
クA及びBは、データ伝送時には、クロック成分を含
み、同図に示すように、交互にネガティブエッジ(立ち
下がりエッジ)となる。すなわち、図11のデータパタ
ーン部に示すように、伝送クロックのパルス列の各パル
ス間にデータのビットが挿入され、シリアルデータクロ
ックA及びB相互間は時間軸上において適当な量(一方
の信号のパルスエッジが他方の信号のデータ部分に位置
するような時間)だけシフトされている。る。受信側で
は、一方の信号の、波形のネガティブエッジのタイミン
グにおいて他方の信号のデータ部分をラッチし、これを
読取りデータ(再生データ)とする。信号のデータ部分
は、信号のレベル変化可能な部分であり、Lレベル
(「0」)、あるいはHレベル(「1」)を担う。Lレ
ベルは、相対的に低い第1の電位レベル(例えば、接地
電位)であり、Hレベルは相対的に高い第2の電位レベ
ル(例えば、電源電位)である。データは、例えば、最
上位桁(MSB)側から転送される。このようなデータ
伝送を行う回路は比較的に簡単に構成することができ
る。なお、データラッチのタイミングは、ポジティブエ
ッジ(立ち上がりエッジ)を使用することとしても良
い。
【0089】この方式によれば、I2BUSやDS−リ
ンク方式に比べてデータ伝送路の伝送周波数を下げるこ
とが可能となる。例えば、I2BUSやDS−リンク方
式では、10Mビット/秒のデータ伝送速度を送るに
は、データ伝送媒体を10MHzで動作させる必要があ
る。これに対し、本方式では、10Mビットのデータを
2本のデータ線でそれぞれ5Mビットずつ分担して伝送
するので、理論的にはデータ線の5MHzのデータ伝送
クロックで10Mビット/秒のデータ伝送速度を得るこ
とが可能となる。また、クロックパルス間にデータを挿
入することによってパルス幅が長くなるので、当該部分
では伝送周波数が等価的に低下する。より低い伝送速度
で済むことは回路設計を容易にする。
【0090】図11及び図12は、信号の伝送フォーマ
ットの例を示している。伝送フォーマットは、スタート
パターン、データパターン、エンドパターンによって構
成され、必要により、CRC(Cyclic Redundancy Chec
k)チェックビットが付加される。
【0091】図11は、標準の伝送フォーマットを示し
ている。データ伝送は、フレーム単位(最小単位)で行
われる。標準フォーマットの1フレームの構成は、デー
タ伝送の開始を示すスタート(START)パターンか
ら始り、256バイト長のデータ(DATA)パター
ン、そしてエンド(END)パターンで構成される。デ
ータパターン中に示される「D」は、データの「0」・
「1」のビット情報を担っている部分を示している。
【0092】図12は、標準データフォーマットにエラ
ー訂正機能を付加したCRCオプション付フォーマット
の例を示している。エラー訂正方法としては、例えば、
巡回冗長検査(CRC)を使用することが出来る。CR
Cオプション付のデータ伝送時は、図12のデータパタ
ーンに示すように、CRCの対象となったデータの後に
CRCコードのパターンが付加される。
【0093】上述した伝送フォーマット中のデータパタ
ーン以外の部分は、特定の情報を担う情報パターンとな
っている。情報パターンは、データ線SDCKA及びS
DCKBのいずれかが、「L」レベル状態の間に他方の
信号線を伝搬する信号パルス(伝送クロック)数によっ
て定義される。情報パターンとしては、例えば、同期パ
ターン、データ線占有許可パターン、リセットパターン
等がある。
【0094】同期パターンには、図13(a)に示すス
タートパターン、同図(b)に示すエンドパターン、図
14に示すCRCオプション付きスタートパターンがあ
る。
【0095】スタートパターンは、上述したデータパタ
ーンに先立ち伝送される同期パターンである。受信側の
MIEが、データ線SDCKAが「L」レベルの期間に
データ線SDCKBの4ネガティブエッジを検出する
と、以降のパターンをデータパターンとして解読し、メ
モリに取込むバッファリングを行う。
【0096】エンドパターンは、データパターンの終了
を示す。受信側のMIEが、データ線SDCKBが
「L」レベルの期間にデータ線SDCKAの2ネガティ
ブエッジを検出すると、データパターンの終了を確認し
て正常終了とする。
【0097】CRCオプション付スタートパターンは、
CRCオプションを付加するときのSTARTパターン
である。受信側のMIEは、データ線SDCKAが
「L」レベルの期間にSDCKBラインの6ネガティブ
エッジを検出すると、CRCオプション付のデータ伝送
と認識する。そして、ENDパターン以前の16ビット
をCRCデータとして、データ部分に対してエラー検査
を行う。
【0098】図15は、ホストが受信側にデータ線のう
ちの1本の占有を許容するデータ線占有許可パターンの
例を示している。データ線SDCKBの占有許可パター
ンは、SDCKAが「L」の期間にSDCKBラインが
8ネガティブエッジを有する。受信側のMIEがSDC
KB占有許可パターンを検出した場合、次のSDCKA
のネガティブエッジよりSDCKAが「L」の期間SD
CKBを占有することが出来る。その後、SDCKAの
ポジティブエッジによりSDCKBの占有を解除する。
【0099】例えば、データ線SDCKBを占有して、
シューティングゲーム装置に使用される光線銃(Light-
Gun)の出力データをゲーム装置に送ることが出来る。
データ線SDCKBのみを使用してデータが転送され、
データ線SDCKAは占有の時間(期間)を示してい
る。
【0100】図16は、リセットパターンを示してい
る。リセットパターンは、データ線SDCKAが「L」
レベルの状態でデータ線SDCKBラインが14ネガテ
ィブエッジを有する。受信側のMIEがリセットパター
ンを検出した場合は、ホスト側からのリセット要求と判
断する。デバイスは、MIEの初期化、APの抹消を行
う。その他のデータの初期化は行わない。
【0101】次に、ホストとデバイス間のデータ通信に
おける伝送プロトコルについて図17を参照して説明す
る。
【0102】まず、原則として、コマンド送信の優先権
はホスト側にある。ホストからのコマンドに該当するデ
バイスファンクションが応答する形で交信が行われる。
従って、ホストからのコマンド送信によって全ての通信
プロトコルは開始する。図18(a)はこの様子を説明
するものである。データ通信は必要が生じたときにホス
トからデバイスファンクションに対して行われる。従っ
て、Mバス、LMバス上では、ホストと複数のデバイス
ファンクションの各々との間で間欠的なデータ通信が行
われる。なお、送信すべきデータが、1送信フレームと
して定められた長さを超える場合には、図18(b)に
示すように、送信すべきデータは複数に分割され、分割
された各データが複数の送信フレームによって送信され
る(後述図70参照)。
【0103】ホストのアプリケーションプログラムが特
定の周辺装置のデバイスファンクションからデータを入
手するべくバスドライバにアクセスする。ドライバはあ
て先としてのAP、コマンドを形成し、MIEはAP、
コマンドを担うフレームデータをMバスに送出する。バ
ス接続されているデバイスファンクションは通常状態に
おいては、待機状態にあり、ホストからのコマンドを待
受けている。周辺装置のMIEがフレームデータを受信
し、デバイスファンクションのコントロールプログラム
にMIEコントローラを介してコマンドを渡す。コント
ロールプログラムは、自己のAPを検出すると、当該コ
マンドに対する応答をMIEコントローラを介してMI
Eに返答する。MIEは、返信コマンドとホストのAP
を含むフレームデータを形成し、バスに出力する。ホス
トは、該フレームデータを受信して送信コマンドに対す
る応答を得る。デバイスファンクションはコマンドの待
受け状態に戻る。
【0104】このようにして、ホストは、必要な情報を
デバイスファンクションから入手することができる。
【0105】次に、デバイスファンクションにおける処
理の概略を図19を参照して説明する。周辺装置に電源
線が接続され、電源が供給されると、デバイスファンク
ションはハードウェアの初期値設定等を行う初期化を実
行する。次に、後述する、デバイスファンクションにA
P値を設定するAPセット処理を行う。APセット処理
では、接続デバイスファンクションの認識、デバイスフ
ァンクションへのAPの割当て等が行われる。デバイス
ファンクションがAPを保持することにより、ホストと
デバイスファンクション間の交信がAPによって可能と
なり、通常の動作状態となる。
【0106】通常動作状態において、デバイスファンク
ションがホストからリセットコマンドを受信すると、A
Pの再設定を行う(ソフトリセット)。バスリセットコ
マンドを受信すると、該当するポートのバスに接続され
た全てのデバイスファンクションを初期化し、APの設
定し直しを行う(ハードリセット)。ホストは、各デバ
イスファンクションにコマンドを送出して動作の禁止や
停止を指令することも出来る。
【0107】デバイスファンクションへのAPセット処
理について図20を参照して説明する。
【0108】APセットは、ポートに接続されているデ
バイスファンクションの認識とAPの割当てを行う処理
である。
【0109】(1) ホストは、初期化終了後、ポートに
デバイスファンクションが接続されているかどうかを確
認するために、ポートAから順々にデバイスリクエスト
(Device Request)を送信する。デバイスリクエストは
APが割当てられていないデバイスファンクションに対
して、デバイス固有の情報であるデバイスステイタス(D
evice Status)を返すように要求するコマンドである。
送出はポートAから順に行い、ポートDで終了する。
【0110】(2) U−デバイスファンクションは、初
期化終了後、LMバスをMバスから切り離し、ホストか
らのデバイスリクエストを待つ。ホストからデバイスリ
クエストを受取ると、それに応答してデバイスステイタ
スをホストに返す。この時点でのデバイスリクエストを
受取れるデバイスファンクションは、1回に付きポート
で1つだけである。APを割当てられたデバイスファン
クションは反応しない。
【0111】(3) ホストは、デバイスファンクション
からデバイスステイタスを受取ると、このデータを基に
接続関係と、デバイスの属性を把握し、デバイスファン
クションにAPを割振り、割振ったAP値を担うAPア
サイン(AP Assign)をデバイスファンクションに送
る。APは、各ポートで設定されている範囲内で連番で
割振られ、ホストはAPとデバイスファンクションの関
係を把握する。デバイスファンクションの属性がアプリ
ケーションソフトの予定しない(使用対象外)ものであ
った場合は、デバイスファンクションの動作を停止させ
るコマンド、デバイスキル(Device Kill)を送り、その
デバイスファンクションの動作を停止することが出来
る。当該デバイスファンクションがU−デバイスファン
クションである場合は、それに接続されるL−デバイス
ファンクションも停止し、そのポート全体を動作不可に
することが出来る。
【0112】(4) デバイスファンクションは、ホスト
からのAPアサインを受取り、割当てれたAPを記憶し
て、ホストにデバイスファンクションからの返信として
デバイスリプライ(Device Reply)を返す。これ以後、ホ
ストからデバイスファンクションへのアクセスは、デバ
イスIDから、APを用いて行われる。
【0113】(5) ホストは、今セッティングしている
デバイスファンクションのLMバスの本数を、デバイス
ステイタスで把握しているので、LMバスがある場合に
は、デバイスファンクションにLMバスの1つを接続す
るように、LMバスコネクト(LM-Bus Connect)を送る。
LMバスコネクトがない場合には、後述の処理(10)を行
う。
【0114】(6) U−デバイスファンクションは、L
Mバスコネクトを受取ると、LMバスの1本をMバスと
接続する。そして、ホストにデバイスリプライを返す。
【0115】(7) ホストは、デバイスリプライを受取
ると、デバイスリクエストを送る。このとき、U−デバ
イスファンクションは既にAPが割当てられているので
反応しない。
【0116】(8) L−デバイスファンクションは、ホ
ストからデバイスリクエストを受取ると、それに応答し
てデバイスステイタスをホストに送る。
【0117】(9) LMバスが全て接続される(全ての
デバイスファンクションにAPが割当てられる)まで、
(3)以降の処理を繰返す。
【0118】(10) ホストは、各デバイスファンクショ
ンの動作を開始させるために、ファンクションスタート
(Function Start)を送る。
【0119】(11) デバイスファンクションは、ファン
クションスタートを受けとると、APセットの動作か
ら、通常の動作に移行する。移行した後、デバイスファ
ンクションはホストにデバイスリプライを返す。
【0120】(12) ホストは、デバイスリプライを受取
ると、次のAPにファンクションスタートを送る。
【0121】(13) (11)と(12)の処理を繰返して各デバ
イスファンクションを順次活性化し、最後のAPのデバ
イスファンクションがデバイスリプライを返して、AP
セットの処理を終了する。
【0122】(14) 各デバイスファンクションは、通常
動作に移行し、ホストは次のポートのAPのセットを行
う。
【0123】このようにして、あるポートに接続された
各デバイスファンクションへのAP設定が行われる。
【0124】次に、ホストが動作中にケーブルの抜き差
しが発生した場合(活線挿抜)の処理について説明す
る。
【0125】(1) ホストは、各ポートに一定間隔でデ
バイスリクエストを送出する。使用しないポートはアク
セスの対象から除くことが出来る。
【0126】(2) 接続されていなかったポートからデ
バイスステイタスが返ってくれば、ホストはデバイスフ
ァンクションが接続されたと認識する。認識後、そのポ
ートに対してリセットパターンを出力し、全デバイスフ
ァンクションのAPを抹消する。その後、APセット処
理を行い、APの更新と接続関係の再構築を行う。
【0127】(3) ホストは、デバイスファンクション
にコマンドを送信し、デバイスファンクションから応答
がなければ、そのデバイスファンクションは切断された
ものとして認識する。切断されたデバイスファンクショ
ンは、ホストにてAPの抹消、接続関係の再構築を行
う。
【0128】通常動作におけるデータの送信・受信の処
理について説明する。
【0129】(1) コマンド送信の優先権 コマンドは、最初に必ずホストから送り、デバイスファ
ンクションがそれに返答する。最初にデバイスファンク
ション側からホストにコマンドを送ることは、認められ
ていない。コマンドの再送は、デバイスファンクション
側からリクエストがない限り、ホスト側からは行わな
い。
【0130】(2) データ形式 送信・受信のデータは、コマンドとパラメータ(APデ
ータ、データサイズ、データ)から成り立つ。実際にデ
ータ線に送出される信号には、MIEにて、コマンドの
前にスタートパターン、パラメータの最後尾にエンドパ
ターンが付加される。そして、「スタートパターン」+
「コマンドパターン」+「APデータ」+「データサイ
ズ」+「データ」+「エンドパターン」の順番で1つの
フレームが構成され、送信される。
【0131】受信側のMIEにてフレームは解析され、
スタートパターンとエンドパターンを確認する。コマン
ドとパラメータの詳細は後述される。
【0132】(3) ホスト ホスト用MIEは、Mバスドライバによって管理され
る。デバイスファンクションのデータの取得はMIEで
自動的には行われずに、Mバスドライバを介して各ソフ
トウェアが行う。ここで、各ソフトウェアとは、Mバス
のドライバの上位のソフトウェア、例えば、ライブラリ
ソフトやゲームソフトウェアをいう。1回のアクセスで
AP指定した1個のデバイスファンクションと通信でき
る。1INT中に複数のデバイスファンクションからデ
ータを取得するには、その数だけデバイスファンクショ
ンにアクセスする。1INT(interrupt)は、TV画面
の書換タイミングの単位時間であり、約1/60秒であ
る。ポートの接続チェックは、未接続ポートに対してデ
バイスリクエストを送信して、反応があれば「接続」と
する。ポートは送信時以外は、常に入力(受信)状態で
ある。どのコマンドを使用するかは、デバイスファンク
ションとその時その場面によって異なるため、各デバイ
スファンクションの仕様に従う。
【0133】(4) デバイスファンクション 周辺装置用MIEは、MIEコントローラを介して、デ
バイスファンクションのプログラムを実行するCPU等
によってコントロールされる。デバイスファンクション
は、ホストからコマンドが送られてくるまで、受信状態
を維持する。そして、デバイスファンクションは、交信
のために必要な自己のデータを作成する。また、ホスト
からのアクセスとは非同期で、デバイスファンクション
は当該デバイスファンクション(例えば、コントロール
パッド及びジョイステック等の操作入力装置)として出
力すべきデータを作成する。ホストから要求があれば、
規定時間内にデータを送出する。ホストからは、同じポ
ートに接続されている全てのデバイスファンクションに
同じコマンドが送られる。デバイスファンクションは、
受信したコマンドとパラメータを解析し、自己のAPと
一致した場合のみ、コマンドを返信する。自己のAPと
一致しない場合には、ホストに対して反応してはならな
い。どのコマンドを使用するかは、デバイスファンクシ
ョンとその時その場面によって異なるため、詳細はデバ
イスファンクションの仕様に従う。
【0134】(5) 禁止事項 同じポート内のデバイスファンクションからデバイスフ
ァンクションへの、デバイスファンクション同士の直接
のアクセスは禁止される。デバイスファンクション同士
の交信はホストを介さなければならない。また、デバイ
スファンクションは、ホストのみが発行できるコマンド
を使用してはならない。
【0135】例外処理について説明する。例外処理は、
データ送受信がコマンドでコントロール出来ない機器の
ために用意されている特別の処理である。このような機
器の例としては、シューティング・ゲームに使用される
ライトガン(光線銃、Light-GUN)がある。
【0136】(1) ホストは、デバイスファンクション
がライトガンのデバイスIDを持つことを認識した場合
は、Mバスを通常モードからSDCKB占有モードに切
替える。デバイスファンクション側からモード切替は出
来ない。ホストは、切替える前に、モードチェンジを送
出して、ライトガンが接続されているかを確認した後、
SDCKB占有パターンにて、Mバスモードを切替え
る。
【0137】SDCKB占有モードになると、そのポー
トの全デバイスがSDCKB占有モードになり、SDC
KB占有モードで動作するデバイスファンクション以外
はコマンドを受付けない。例えば、ポートAに、ライト
ガン、メモリカード及び振動ユニットが接続されている
場合、SDCKB占有モードで動作するデバイスファン
クションはライトガンだけである。占有モードにする
と、ライトガンだけがホストから制御され、他のデバイ
スファンクションであるメモリカードや振動ユニットは
動作しない(ホストから制御できない)。
【0138】(2) SDCKB占有モードから戻るため
には、ホストにて解除処理を行う。SDCKB占有モー
ド終了後は、直ぐに通常モードになる。
【0139】(3) ライトガンの場合、1INTの画面
書替えの時間のうち、垂直ブランキング期間を除いた時
間、すなわち、TV画面を描画している期間がSDCK
B占有モードとなる。
【0140】画面を描画している期間が終り、ブランキ
ング期間になったとき、直ぐに通常モードに切替えて、
その他のポートのデバイスファンクションに対してデー
タの送信とデータの受信を行う。
【0141】(4) ライトガンの機能を実現するために
は、受光素子を持つ部分を1デバイスファンクションと
し、トリガーや方向キー、アナログキー等の部分を別の
1デバイスファンクションとする。こうすると、従来、
ライトガンを使用するときには、方向キーが使用できな
い、という不具合を解消可能となる。また、ライトガン
が単体のデバイスファンクションとなるので、他の拡張
装置との接続も可能となる。これにより、新たな機能の
ゲームアプリケーションの提供が可能となる。
【0142】次に、コマンドの例について説明する。コ
マンドには、大別して、コントロールコマンドとエラー
コマンドとがある。
【0143】コントロールコマンドには、基本コマンド
として、デバイスリクエスト(Device Request)、ステイ
タスリクエスト(Status Request)、オールステイタスリ
クエスト(All Status Request)、APアサイン(AP Assi
gn)、LMバスコネクト(LM-Bus Connect)、ファンクシ
ョンスタート(Function Start)、ホストデータトランス
ミット(Host Data Transmit)、データリクエスト(Data
Request)、オールデータリクエスト(All Data Reques
t)、モードチェンジ(Mode Change)、デバイススリープ
(Device Sleep)、デバイスリセット(Device Reset)、デ
バイスキル(Device Kill)、デバイスステイタス(Device
Status)、デバイスリプライ(Device Reply)、デバイス
データトランスミット(Device Data Transmit)、等があ
る。この他に基本コマンドに属しない拡張コマンドがあ
る。拡張コマンドは、デバイスファンクション、Mバス
ドライバによって異なる。
【0144】デバイスリクエスト(Device Request)は、
ホストが、APが割当てられていないデバイスファンク
ションに対して、デバイスステイタスを返すように要求
するコマンドである。
【0145】ステイタスリクエスト(Status Request)
は、ホストが、APで指定されるデバイスファンクショ
ンに対し、デバイスステイタス(データは固有デバイス
情報(Fixed Device Status))を返すように要求するコマ
ンドである。
【0146】オールステイタスリクエスト(All Status
Request)は、ホストが、APで指定されるデバイスファ
ンクションに対して、全てのデバイスステイタス(固有
デバイス情報(Fixed Device Status)と自由デバイス情
報(Free Device Status)の両方)を要求するコマンドで
ある。デバイスファンクションからは、デバイスデータ
トランスミット(Device Data Trandsmit)で、固有デバ
イス情報データの後に自由デバイス情報データを返す。
【0147】APアサイン(AP Assign)は、ホストが、
デバイスファンクションに対して、APを割当てるコマ
ンドである。APセット処理内でのみ発行可能である。
デバイスファンクションは、通常動作の間においては受
理せずにコマンドリフューザル(拒否、Command Refusua
l)を返す。
【0148】LMバスコネクト(LM-Bus Connect)は、ホ
ストが、デバイスファンクションに対して、LMバスの
1本をMバスに接続することを要求するコマンドであ
る。デバイスファンクションは、LMバスコネクトを受
信する度に所持しているLMバスを1本ずつ接続してい
く。デバイスファンクションが通常動作の間は処理せず
に、コマンドリフューザルを返す。
【0149】ファンクションスタート(Function Start)
は、ホストがAPで指定したデバイスファンクションを
通常動作させるコマンドである。このコマンドを受け、
デバイスの通常動作になったら、デバイスリプライを返
す。初期化はされない。デバイスファンクションが通常
動作の間は、受理せずにコマンドリフューザルを返す。
【0150】ホストデータトランスミット(Host Data T
ransmit)は、ホストからデバイスファンクションにデー
タを転送するコマンドである。データの内容は各デバイ
スファンクションによって異なる。データの詳細は各デ
バイスファンクションの仕様によって定められる。デー
タサイズが0の場合、デバイスファンクションは受信せ
ずに、コマンドリフューザルを返す。APセットの間
は、デバイスファンクションは受理せずにコマンドリフ
ューザルを返す。
【0151】データリクエスト(Data Request)は、ホス
トがデバイスファンクションに指定したデータを送信す
るように要求するコマンドである。データ領域に複数の
要求データの番号を指定することが出来る。データサイ
ズが00hの場合は、デバイスファンクションはこのコ
マンドを受理せずにコマンドリフューザルを返す。AP
セットの間は、デバイスファンクションはこのコマンド
を受理せずにコマンドリフューザルを返す。
【0152】オールデータリクエスト(All Data Reques
t)は、ホストがデバイスファンクションに全てのデータ
を送信するように要求するコマンドである。APセット
処理の間は、デバイスファンクションは、受理せずにコ
マンドリフューザルを返す。
【0153】モードチェンジ(Mode Change)は、ホスト
が、ポートのMバスのモードを切替えるコマンドであ
る。SDCKB占有モードにするときは、モードチェン
ジ発行後、デバイスリプライを確認して特定ポートをS
DCKB占有モードにする。デバイスファンクションが
SDCKB占有モードでの動作に対応していないとき
は、デバイスファンクションはモードチェンジを受理せ
ずにコマンドリフューザルを返す。APセット処理の間
は、デバイスファンクションはモードチェンジ処理をせ
ずにコマンドリフューザルを返す。
【0154】デバイススリープ(Device Sleep)は、ホス
トが指定デバイスを一時停止させるコマンドである。デ
バイスファンクションは停止後に、デバイスリプライを
返し、以後、ファンクションスタートのみを受付ける。
APセット処理の間は、デバイスファンクションはデバ
イススリープを受理せずにコマンドリフューザルを返
す。
【0155】デバイスリセット(Device Reset)は、ホス
トが、特定デバイスファンクションにソフトリセットを
かけ、初期化させるコマンドである。ソフトリセット
は、ICのリセット端子等のハードウェア機能を利用し
てリセット(初期化)を行うのではなく、例えば、プロ
グラム(ソフトウェア)的に内部のRAMやレジスタを
初期化するものである。ソフトリセットはプログラムで
リセットの対象を選択できるので、初期化したくない箇
所、例えば、ICの端子状態設定等は、保持可能であ
る。既に割振られているAPの値は初期化されない。初
期化後、デバイスリプライを返し、通常動作になる。A
Pセット処理の間は、デバイスファンクションはデバイ
スリセットを受理せずにコマンドリフューザルを返す。
【0156】デバイスキル(Device Kill)、は、ホスト
が、デバイスファンクションに対して動作を認めないコ
マンドである。APセット処理フローのAPアサインの
前でのみ、デバイスファンクションは受理できる。デバ
イスファンクションは、スタンバイ消費電流で待機し、
コマンドを一切受付けない。動作させるためには、ハー
ドリセットまたは電源を切る必要がある。ハードリセッ
トは、ICのリセット端子等のハードウェア機能を利用
してリセット(初期化)を行うものである。また、プロ
グラムで同等の初期化処理を行う場合を含む。ICの初
期化も行わなければならない電源投入の際のパワーオン
リセットと同等処理を行う。ソフトリセットと異なり、
初期化する箇所の選択はできない。デバイスファンクシ
ョンが通常動作の間は、受理せずにコマンドリフューザ
ルを返す。通常動作のときに、デバイスファンクション
を一時停止させるには、デバイススリープを使用する。
【0157】デバイスステイタス(Device Status)は、
デバイスファンクションが、ホストに対して固有デバイ
ス情報を返すコマンドである。固有デバイス情報につい
ては後述する。
【0158】デバイスリプライ(Device Reply)は、デバ
イスファンクションが、デバイスファンクションの返信
として広範囲で使用する。データ内容のAPは、デバイ
スファンクション自身のAPを示し、発行元を明確にす
る。
【0159】デバイスデータトランスミット(Device Da
ta Transmit)は、デバイスファンクションが、ホストか
らの要求に従って、データを転送するコマンドである。
データの内容は各デバイスファンクションによって異な
る。データサイズが00h(hは16進数表示を表す)
の場合は、ホストは受理せず、コマンドリフューザルを
返す。場合によって、再送信、デバイスステイタス等の
コマンドが送信される。
【0160】次に、エラーコマンドについて説明する。
エラーコマンドには、基本コマンドとして、コマンドリ
フューザル(Command Refusual)、コマンドアンノウン
(Command Unknown)、トランスミットアゲン(Transmit
Again)、LMバスエラー(LM-Bus Error)、デバイスエ
ラー(Device Error)等がある。この他に、デバイスファ
ンクション、Mバスドライバによって個性化された拡張
コマンドがある。ここで、個性化されたとは、ドライバ
が標準で持っているコマンドではなく、特定のデバイス
ファンクション向けに用意されたコマンドをいう。
【0161】コマンドリフューザル(Command Refusua
l)は、ホストあるいはデバイスファンクションが、送
られてきたコマンドに対して、データの受渡しの拒否を
するコマンドである。動作に適合しないコマンドが送ら
れてきた場合にも、このコマンドを返信する。そして、
不正なアクセスを禁止する。
【0162】コマンドアンノウン(Command Unknown)
は、ホストから送られてきたコマンドがデバイスファン
クション側に用意されていないものであるときに、デバ
イスファンクションがホストに返すコマンドである。
【0163】トランスミットアゲン(Transmit Again)
は、ホストあるいはデバイスファンクションが、送られ
てきたデータに何らかのエラーがあるときに、もう一度
同じデータを送るように要求するコマンドである。
【0164】LMバスエラー(LM-Bus Error)は、デバイ
スファンクションが、ホストに対して、LMバスでエラ
ーが発生したことを告げるコマンドである。ホストか
ら、LMバスコネクトを受信したが、接続するLMバス
がないとき等にホストに送る。
【0165】デバイスエラー(Device Error)は、デバイ
スファンクションが、デバイスファンクションで何らか
のエラーが発生し、復帰中であることをホストに告げる
コマンドである。
【0166】上述したデバイス固有の情報(デバイスス
テイタス)について説明する。デバイスステイタスは、
書き替えたり、消去出来ないようにし、そのままのデー
タを記録する。例えば、ある値を計算してステイタス値
や文字にすることは禁止される。
【0167】デバイスステイタスには、固有デバイス情
報(Fixed Device Status)と自由デバイス情報(Free Dev
ice Status)とがある。
【0168】固有デバイス情報は、絶対に記述しなけれ
ばならない、例えば、全部で108バイトのフォーマッ
トの決ったデバイスステイタスである。全ての項目を記
述しないと、動作、接続の保障がされない。
【0169】自由デバイス情報は、個々のデバイスファ
ンクションによって自由に使用しても良いデバイスステ
イタスである。容量は、例えば、148バイト以下でな
ければならない。
【0170】固有デバイス情報には、次のように項目が
含まれる。
【0171】(1) デバイスID デバイスファンクションのID、属性を記述する。各デ
バイスファンクションは、予め登録してIDを取得する
ことで、ホストが読取ったIDでどのような種類のデバ
イスファンクションが接続されたのかを判別可能とす
る。そこで、Mバスを使用するものは、Mバスのライセ
ンスを保有している者に対して、事前に製品別に登録す
る。
【0172】(2) 最大データサイズ デバイスファンクションから出力されるデータの最大サ
イズを記述する。
【0173】(3) LMバス数 デバイスファンクションが持つLMバスの数を記述す
る。
【0174】(4) 製品名 製品名を英語またはローマ字でASCIIコードで記述す
る。実際の商品名と異なっていても良い。製品名も事前
登録の対象となる。
【0175】(5) 仕向地コード 製品の販売地域を記述する。例えば、北アメリカ、ヨー
ロッパ、日本等である。このコードを、特定地域向けの
周辺装置とゲームアプリケーションとの適合性を判断す
る等が可能となる。
【0176】(6) ライセンス 製品のライセンス表示を英語またはローマ字でASCII
コードで記述する。
【0177】(7) スタンバイ消費電流 一時停止時の消費電流を0.1mA単位で記述する。
【0178】(8) 最大消費電流 最大消費電流を0.1mA単位で記述する。
【0179】一方、自由デバイス情報(Free Device Sta
tus)は、製品の企画者、開発者、設計者、プログラマ等
が自由に記述できる領域の情報である。ホストは、オー
ルデバイスリクエスト(All Device Request)コマンドで
デバイスファンクションからこの情報を取得することが
出来る。アプリケーションソフト等でこの領域を利用す
る場合には、データの配列等の対応を予めとっておく必
要がある。
【0180】ホストのMIEを特にペリフェラルコント
ローラと称する。図21は、ホストに設けられるペリフ
ェラルコントローラのブロック回路図の例を示してい
る。
【0181】同図において、クロックデバイダ(Clock D
ivider)51は、夫々の処理ブロックへ供給するクロッ
クをシステムクロックから作り出し、また、供給するク
ロックの分周比を変えることで、送信(転送)レートの
変更等を行う。
【0182】インストラクションレジスタ(Instruction
Register)52は、メインバスを介してアプリケーショ
ン等からペリフェラルインタフェースへのインストラク
ションが書込まれる32ビットのレジスタである。書込
まれた内容をポートコントローラ57、フレームコント
ローラ58に渡す。
【0183】ライトバッファ(Write Buffer)53は、転
送するデータを書込む256バイトのRAMである。
【0184】インタラプトコントローラ(Interrupt Con
troller)54は、送信、受信、各種エラーによる割込み
を制御するコントローラである。
【0185】ステイタスレジスタ(Status Resister)5
5は、本コントローラの状態を示す32ビットのレジス
タである。
【0186】リードバッファ(Read Buffer)56は、受
信したデータを保持するための256バイトのRAMで
ある。
【0187】ポートコントローラ(Port Controller)5
7は、送受信の対象となるポートを制御するコントロー
ラである。コマンドによって選択された送信ポートの3
ステートバッファ68を制御して、第1及び第2のセレ
クタ64及び65の各出力SDCKA及びSDCKBを
選択ポートに導出する。また、第3及び第4のセレクタ
66及び67を制御して受信ポートの選択を行う。
【0188】フレームコントローラ(Frame Controller)
58は、出力パターン、データ長等のフレーム構成を制
御するコントローラである。
【0189】フレームエンコーダ(Frame Encoder)59
は、フレームコントローラ58によって制御され、情報
パターンの生成、出力を行う。
【0190】オルタネイトシフトレジスタ(Alternate S
hift Register)60は、フレームコントローラによって
制御され、ライトバッファ(Write Buffer)上のパラレル
データをシリアルデータに変換(P/S)し、SDCK
A、SDCKBにデータ、クロックを交互に出力するレ
ジスタである。また、オルタネイトシフトレジスタ内に
は、CRC演算部が設けられ、フレームコントローラの
指令に従って、データにCRC処理を行う。
【0191】第1のセレクタ64は、フレームコントロ
ーラ58によって制御されて、フレームエンコーダ59
の出力またはオルタネイトシフトレジスタ60の出力を
選択してSDCKAを出力する。
【0192】第2のセレクタ65は、フレームコントロ
ーラ58によって制御されて、オルタネイトシフトレジ
スタ60の出力またはフレームエンコーダ59の出力を
選択してSDCKBを出力する。
【0193】第3のセレクタ66は、ポートコントロー
ラ57の指令に従って、受信ポートを選択し、バッファ
アンプ69を介して受信したSDCKAをフレームデコ
ーダ61及びオルタネイトシフトレジスタ62に供給す
る。
【0194】第4のセレクタ67は、ポートコントロー
ラ57の指令に従って、受信ポートを選択し、バッファ
アンプ69を介して受信したSDCKBをフレームデコ
ーダ61及びオルタネイトシフトレジスタ62に供給す
る。
【0195】フレームデコーダ(Frame Decoder)61
は、受信フレームの構成を解析し、ステイタスレジスタ
55への反映、オルタネイトレジスタ62の制御を行
う。
【0196】オルタネイトシフトレジスタ(Alternate S
hift Register)62は、フレームデコーダ61によって
制御され、受信シリアルデータをパラレルデータに変換
する(S/P)レジスタである。また、オルタネイトシ
フトレジスタ62は、受信信号のエラー検査(Error Che
ck)を行うCRC演算回路を備えている。
【0197】HV(水平/垂直)ラッチ信号コントロー
ラ(HV Latch Signal Controller)は、フレームコント
ローラ58によって活性化される。例えば、フレームコ
ントローラ58が、SDCKB占有許可パターンを送出
した後、フレームデコーダを不活性化し、HVラッチ信
号コントローラを活性化する。HVラッチ信号コントロ
ーラは、SDCKB占有許可パターンを送出した後にS
DCKBを受信すると、図示しないHVカウンタにラッ
チ信号を与える。HVカウンタは、画面上の位置に対応
した値を出力する、水平位置カウンタと垂直位置カウン
タである。例えば、シューティングゲームにおいて、テ
レビ画面に向けた銃がトリガされると、SDCKBが銃
から出力される。このSDCKBが銃の画面上の照準
(射撃)位置をHVカウンタで判別するために使用され
る。
【0198】図22は、フレームエンコーダ59の動作
原理を説明する回路図である。同図において、591は
フリップフロップ、592はカウンタ、593はコンパ
レータ、594は論理ゲートである。
【0199】図23は、フレームエンコーダ59の動作
を説明するタイミングチャートである。
【0200】フレームエンコーダ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信号とを、オア
ゲート594で合成してSDCKBを得る。
【0201】このように、スタートパターン、リセット
パターン、エンドパターン等に対応した出力パターン設
定値を与えて、ライトパルスを供給すると、SDCKA
が「L」レベルに設定され、SDCKBが所定回数の立
ち下がりエッジを有するパターン信号を得ることが出来
る。
【0202】図24は、オルタネイトシフトレジスタ6
0の動作原理を説明する回路図である。同図において、
601はパラレルデータをシリアルデータに変換するシ
フトレジスタ、602は2入力のセレクタ、603はパ
ラレルデータをシリアルデータに変換するシフトレジス
タ、604は2入力のセレクタである。
【0203】図25は、オルタネイトシフトレジスタ6
0の動作を説明するタイミングチャートである。
【0204】送信する複数の偶数ビットD6、D4、D
2、D0をそれぞれシフトレジスタ601の複数のD入力
端に与え、図示のタイミングのシフトクロックSHIF
T CLKAにより、データをシフトさせ、出力端Qよ
りシリアルデータとしてセレクタ602のA入力端に供
給する。セレクタ602のB入力端には、図示のクロッ
クCLKAが入力されている。セレクタ602は、シフ
トクロックSHIFTCLKAの「H」レベル対応して
出力端Qのシリアルデータを、「L」レベルに対応して
クロックCLCKAを選択する。この結果、セレクタ6
02の出力端Yには、クロックCLKAにデータD6、
D4、D2、D0を一定の間隔で重畳したSDCKAを得
る。
【0205】同様に、送信する複数の奇数ビット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を一定の間隔で重畳したSDC
KBを得る。なお、信号SDCKA及びSDCKBに示
される「D0」〜「D7」の部分はデータの値によって
「H」レベルまたは「L」レベルとなる。
【0206】図26は、フレームデコーダ61の構成例
を示す回路図である。同図において、611はカウン
タ、612は複数のフリップフロップによって構成され
る複合フリップフロップ、613はカウンタ、614は
複数のフリップフロップによって構成される複合フリッ
プフロップである。
【0207】図27は、フレームデコーダ61の動作を
説明するタイミングチャートである。
【0208】スタートパターンの検出には、回路図中の
カウンタ611と、フリップフロップ612が動作す
る。SDCKAが「H」レベルではカウンタの動作はデ
ィスイネーブルされる。SDCKAが「L」レベルにな
ると、カウンタの動作はイネーブルとなり、SDCKB
の立ち下がりエッジをカウントする。SDCKAが
「L」レベルの期間中のSDCKBの立ち下がり回数を
計数すると、計数出力がフリップフロップに与えられ
る。SDCKAの立上がりエッジでカウンタ出力がフリ
ップフロップ612に取込まれる。図27に示すよう
に、SDCKAが「L」レベルの期間中にSDCKBの
立ち下がり回数が4回のとき(スタートパターン、図1
3参照)、フリップフロップ612はスタートパターン
検出を出力する。
【0209】エンドパターンを検出するために、カウン
タ613、フリップフロップ614によって、SDCK
Bが「L」レベルの期間中のSDCKAの立ち下がり回
数が計数される。SDCKBの立上がりエッジにより、
カウンタ613の計数出力をフリップフロップ614に
取込む。図27に示すように、SDCKBが「L」レベ
ル期間中にSDCKAの2回の立ち下がりを計数する
と、フリップフロップ612はエンドパターン検出を出
力する。SDCKBの「L」レベル期間中のSDCKA
の立ち下がり回数が未定義の計数回数である場合には、
フリップフロップ614はフレームエラー検出を出力す
る。通常の動作モードでは、上記SDCKBの4回の立
ち下がりを含むスタートパターンの後に、データパター
ン、上記SDSKAの2回立ち下がりを含むエンドパタ
ーンが続く(図11参照)。
【0210】なお、図27には、示していないが、受信
開始後、SDCKAが「L」レベルの期間中にカウンタ
611がSDCKBの6回の立ち下がりを検出すると、
フリップフロップ612はCRC付きスタートパターン
(図14参照)の検出を出力する。CRC付きパターン
の動作モードでは、SDCKBの6回の立ち下がりを含
むCRCスタートパターンの後に、データパターン、C
RCデータ、エンドパターンが続く(図12参照)。
【0211】また、カウンタ611が、SDCKAが
「L」レベルの期間中にSDCKBの8回の立ち下がり
を検出すると、フリップフロップ612はSCKB占有
許可パターン(図15参照)の検出を出力する。この場
合には、SDCKB占有モードに移行する。SDCKB
占有モードは、解除パターン(SDCKAの立ち上が
り)によって解除される。
【0212】また、カウンタ611がSDCKAが
「L」レベルの期間中にSDCKBの14回の立ち下が
りを検出すると、フリップフロップ612はリセットパ
ターン(図16参照)の検出を出力する。これにより、
リセット動作が行われる。
【0213】SDCKAの「L」レベル期間中のSDC
KBの立ち下がり回数が未定義回数のとき、フリップフ
ロップ612はフレームエラーの検出を出力する。フリ
ップフロップ612及び614によるパターン検出出力
は、ステイタスレジスタ55に保持される。
【0214】図28は、オルタネイトシフトレジスタ6
2の構成例を示している。同図において、シフトレジス
タ621のデータ入力端Dには、シリアルデータSDC
KBが供給され、シフトクロック入力には、SDCKA
が供給される。シフトレジスタ621は、図29に示す
ように、SDCKAの立ち下がりエッジでSDCKBの
データ部分を逐次取込む。シフトレジスタ621のパラ
レル出力端子D7、D5、D3、D1には、SDCKAの4
回のクロックエッジによって直並列変換データが揃う。
【0215】同様に、図28に示すシフトレジスタ62
2のデータ入力端Dには、図29に示すシリアルデータ
SDCKAが供給され、シフトクロック入力には、SD
CKBが供給される。シフトレジスタ622はSDCK
Bの立ち下がりエッジでSDCKAのデータ部分を逐次
取込む。シフトレジスタ622のパラレル出力端子D
6、D4、D2、D0には、SDCKBの4回のクロックエ
ッジによって直並列変換データが揃う。
【0216】図30は、ゲームコントローラ、入力操作
用コントローラ、あるいは操作入力装置等と呼ばれるゲ
ーム装置に接続される周辺装置の概略全体ブロック図で
ある。ゲームコントローラとして説明する。ゲームコン
トローラに2つの拡張ソケットが設けられて更に周辺装
置(L−デバイスファンクション)を追加(結合)する
ことが可能である。ゲームコントローラには、1チップ
マイクロコントローラ(one-chip micro-controller)が
内蔵されている。また、ゲームコントローラには、デジ
タル出力を発生する11個のスイッチ、4軸の出力を発
生するアナログキーが設けられている。これ等のスイッ
チの出力はマイクロコントローラ(micro-controller)に
よって処理され、MIE部、Mバスを介してホストに出
力される。
【0217】図31は、周辺装置の機能をデバイスファ
ンクションとしてとらえ、デバイスファンクション側の
MIEの構成を概略的に説明するブロック図である。
【0218】同図においては、図示しないホストにMバ
スを介してゲームコントローラが接続されている。ゲー
ムコントローラ内には、Mバスを介してホストに接続さ
れるU−デバイスファンクションと、LMバスを介して
U−デバイスファンクションに接続される2つのL−デ
バイスファンクションとが設けられている。
【0219】図32は、図31におけるバスの切替部
(セレクタ)を説明するブロック回路図である。U−デ
バイスファンクションから分岐するMバスは2つあり、
それぞれLMバス1、LMバス2と称する。LMバスと
Mバスの接続、切断の切替は、U−デバイスファンクシ
ョン用のMIEのセレクタが行う。
【0220】図33は、U−デバイスファンクションの
ハードウェア部分の概略ブロック図を示している。いわ
ゆる1チップマイクロコントローラ(one-chip micro-co
ntroller)によって、通信処理部、ソケットコントロー
ル部、CPU部、I/O部が構成される。通信処理ブロ
ックは、ホストとのインタフェースを行う。CPU部
は、ゲームコントローラ等の周辺装置内における信号処
理を制御する。I/O部は、デジタルボタン、アナログ
キー等の外部入力インタフェースである。ソケットコン
トロール部は、拡張ソケットのコントロールを行う。こ
の例では、2つのL−デバイスファンクション用のハー
ドウェアの拡張ソケット(2スロット)が用意されてい
る。なお、図中の破線でかまれるU−DEVICE部分
は、1チップマイクロコントローラとして構成可能な部
分を示している。次図のL−DEVICE部分も同様で
ある。
【0221】図34は、L−デバイスファンクションの
概略ブロック図である。1チップマイコンによって、通
信処理部、CPU部、サポート機能部が構成される。通
信処理部は、U−デバイスファンクションとのインタフ
ェースを行う(L−デバイスファンクション用MI
E)。CPU部は、L−デバイスファンクションとして
の処理を担う部分である。サポート機能ブロックは、L
−デバイスファンクションの機能を実現するものであ
る。例えば、光線銃のトリガ機能、メモリ機能、振動機
能等を果す回路である。
【0222】次に、デバイスファンクション側のMIE
の動作について図33及び図34を参照して説明する。
AP未割当ての初期においては、図33に示すソケット
コントローラにより3ステートバッファが制御されて、
拡張ソケット1、拡張ソケット2へ伝送されるSDCK
A OUT及びSDCKB OUTはディスイネーブル状
態となっている。ここで、ソケットコントローラは、L
Mバス1コントローラとLMバス2コントローラの機能
を担っている。
【0223】SDCKA OUTがディスイネーブル状
態で、拡張ソケットにL−デバイスファンクションが接
続されていないとき、SDCKA OUTは、3ステー
トバッファの出力端に接続されたプルダウン抵抗によっ
て、「L」レベルとなる。ソケットコントローラはこの
出力端の「L」レベルを検出することによって、L−デ
バイスファンクションのU−デバイスファンクションへ
の未接続を判別できる。
【0224】一方、図34に示すL−デバイスファンク
ションのハードウェアのSDCKAOUTの入力端には
プルアップ抵抗を介して電源が接続されている。このた
め、L−デバイスファンクションのハードウェアが拡張
ソケットに接続されと、図33に示す相対的に高抵抗の
プルダウン抵抗と低抵抗の上記プルアップ抵抗によって
SDCKA OUT端子(3ステートバッファは遮断状
態)は「H」レベルに引上げられる。ソケットコントロ
ーラはこの出力端の「H」レベルを検出することによっ
て、L−デバイスファンクションを含むハードウェアの
U−デバイスファンクションを含むハードウェアへの接
続を判別できる。
【0225】ホストからのAPアサインコマンドによっ
て、U−デバイスファンクションにAPが割当てられ、
LMバスコネクトコマンドを受けると、拡張ソケット1
のSDCKA OUT及びSDCKB OUTをイネーブ
ル状態とする。これにより、ホストからのコマンドは、
U−デバイスファンクション及び拡張ソケット1に繋が
るL−デバイスファンクションに伝送される。
【0226】ホストが拡張ソケット1のL−デバイスフ
ァンクションにAPを割当て、U−デバイスファンクシ
ョンにLMバスコネクトコマンドを送信した場合、U−
デバイスファンクションは拡張ソケット2のSDCKA
OUT、SDCKB OUTをイネーブル状態とする。
拡張ソケット2のL−デバイスファンクションにAPの
割当て終了後、ホストからのコマンドは、U−デバイス
ファンクション、L−デバイスファンクション全てに等
しく伝送される。U−デバイスファンクション、L−デ
バイスファンクションはコマンドに含まれるAPの値を
参照し、自己が選択されているかを判別して、適切に応
答する。
【0227】図35乃至図39は、MIEの送信におけ
る制御動作を説明するフローチャートである。
【0228】ホストのアプリケーションからAPIを介
して、バスドライバソフトウェアに一連の処理命令が与
えられる。バスドライバはこの処理命令をMIEを制御
するインストラクションに翻訳して、MIEのインスト
ラクションレジスタ52に設定する。
【0229】フレームコントローラ58は、インストラ
クションレジスタに設定されたコード(インストラクシ
ョン)が、標準の伝送フォーマットのパターンの信号の
出力を命ずるものであるか(S12)、CRCオプショ
ン付きフォーマットの信号の出力を命ずものであるか
(S14)、SDCKB占有許可パターンの出力か(S
16)、リセットパターンの出力か(S18)、を判別
する。
【0230】標準の伝送フォーマットパターンの出力で
ある場合(S12,Yes)は、フレームコントローラ
58は、図36に示すシーケンスに従って、セレクタ6
4及び65にフレームエンコーダ59の出力を選択さ
せ、フレームエンコーダ59からスタートパターンを出
力させる(S21)。次いで、セレクタ64及び65に
オルタネイトシフトレジスタ60の出力を選択させ、ラ
イトバッファ53から送信データをオルタネイトシフト
レジスタ60に読込ませ(S22)、オルタネイトシフ
トレジスタ60からデータパターンを出力させる(S2
3)。
【0231】フレームコントローラ58は、送信したデ
ータが、例えば、256バイトになったかを確認する
(S24)。まだ、256バイトに満たない場合には
(S24,No)、ライトバッファからの読出(S2
2)と、データ出力(S23)を繰返す。
【0232】256バイトを送出した場合には(S2
4,Yes)、セレクタ64及び65にフレームエンコ
ーダ59の出力を選択させ、フレームエンコーダ59に
エンドパターンを送出させる。
【0233】このようにして、標準パターンでデータが
送信される。
【0234】インストラクションレジスタ52に設定さ
れたコードが、CRCオプション付きフォーマットの信
号の出力を命ずるものである場合(S14,Yes)、
フレームコントローラ58は、図37に示すシーケンス
に従って、セレクタ64及び65にフレームエンコーダ
59の出力を選択させ、フレームエンコーダ59からC
RC付きスタートパターンを出力させる(S31)。次
いで、セレクタ64及び65にオルタネイトシフトレジ
スタ60の出力を選択させ、ライトバッファ53から送
信データをオルタネイトシフトレジスタ60に読込ませ
る(S32)。また、フレームコントローラ58はオル
タネイトシフトレジスタ内のCRC演算部に、読込みデ
ータに対してCRC計算を行わせる(S33)。オルタ
ネイトシフトレジスタ60からデータパターンを出力さ
せる(S34)。
【0235】フレームコントローラ58は、転送したデ
ータが、例えば、256バイトになったかを確認する
(S35)。まだ、256バイトに満たない場合には
(S35,No)、ライトバッファからの読出(S3
2)、CRC計算(S33)、データ出力(S34)を
繰返す。
【0236】256バイトを送出した場合には(S3
5,Yes)、フレームコントローラ58は、オルタネ
イトシフトレジスタ60に、データに続いてCRCデー
タを送出させる(S36)。セレクタ64及び65にフ
レームエンコーダ59の出力を選択させ、フレームエン
コーダ59にエンドパターンを送出させる(S37)。
【0237】このようにして、CRC付きパターンでデ
ータが送信される。
【0238】フレームコントローラ58が、SDCKB
占有許可パターンの出力指令を判別する(S16,Ye
s)と、図38に示すシーケンスに従って、セレクタ6
4及び65にフレームエンコーダ59の出力を選択さ
せ、フレームエンコーダ59にSDCKB占有許可パタ
ーンを出力させる(S41)。ポートコントローラ57
を介してバッファ68を制御し、SDCKBの送出を禁
止する(S42)。次に、フレームエンコーダ59にS
DCKAを「L」レベルに設定したSDCKB占有許可
パターンを出力させる(S43)。
【0239】その後、HVラッチコントローラ63をイ
ネーブルにする。HVラッチコントローラ63はSDC
KBのラインを監視する(S44)。
【0240】デバイス側から返信があると(S44,Y
es)、HVラッチコントローラ63はHVカウンタの
ラッチ出力を発生する(S45)。ラッチ出力の発生後
(S45)、あるいはデバイス側からの返信がない場合
(S44,No)、SDCKB占有モードを設定するコ
マンドがまだレジスタ52に存在するかを判別する(S
46)。存在する場合(S46,No)には、ステップ
S44〜S46を繰返し、デバイス側からの返信に対応
して逐次ラッチ出力を発生する。
【0241】SDCKB占有モードを設定するコマンド
解除されると(S46,Yes)、SDCKAを「H」
レベルに戻し、SDCKA、SDCKBを送信に使用可
能な状態に戻す(S47)。
【0242】このようにして、SDCKB占有モードが
行われる。
【0243】フレームコントローラ58は、コマンドレ
ジスタに設定されたコードが、リセットパターンの出力
であることをを判別する(S18)と、図39のシーケ
ンスに示されるように、フレームエンコーダ59にリセ
ットパターンの出力を行わせる(S51)。
【0244】このようにして、各種フォーマットの信号
が送出される。
【0245】次に、MIEの受信における動作について
説明する。
【0246】図40のシーケンスに示すように、フレー
ムデコーダ61は、受信したSDCKA及びSDCKB
をデコードし、受信信号がスタートパターンか(S6
2)、CRC付きスタートパターンか(S64)、ある
いはいずれにも属しないフレームエラーか(S66)を
判別する。
【0247】スタートパターンを検出した場合(S6
2,Yes)、図41のシーケンスに示すように、未定
義のスタートパターンであるかを判別する(S71)。
未定義のパターンである場合には(S71,Yes)、
ステイタスレジスタにフレームエラー検出フラグを設定
し、ドライバソフト等によって所定のフレームエラー検
出処理を行う(S72)。
【0248】予め定義されているスタートパターンであ
る場合には(S71,No)、ステイタスレジスタにス
タートパターンの検出フラグを設定する。これにより、
オルタネイトシフトレジスタ62が活性化され、受信し
たSDCKA及びSDCKBからデータを逐次抽出し、
抽出したシリアルデータをパラレルデータに復調する
(S73)。復調データをリードバッファ56に書込む
(S74)。このデータの復調・転送を、フレームデコ
ーダ61がエンドパターンを検出するまで繰返す(S7
1〜S75)。エンドパターンを検出した場合(S7
5,Yes)、ステイタスレジスタ55にエンドパター
ン検出フラグを設定し、受信を終了する。
【0249】一方、CRC付きスタートパターンを検出
した場合、図42に示すように、未定義のスタートパタ
ーンであるかを判別する(S81)。未定義のパターン
である場合には(S81,Yes)、ステイタスレジス
タにフレームエラー検出フラグを設定し、ドライバソフ
ト等によって所定のフレームエラー検出処理を行う(S
82)。
【0250】予め定義されているスタートパターンであ
る場合には(S81,No)、ステイタスレジスタにC
RC付きスタートパターンの検出フラグを設定する。こ
れにより、オルタネイトシフトレジスタ62が活性化さ
れ、受信したSDCKA及びSDCKBからデータを逐
次抽出し、抽出したシリアルデータをパラレルデータに
復調する(S83)。そして、復調データに対してCR
C演算を行う(S84)。復調データをリードバッファ
56に書込む(S85)。このデータの復調・転送を、
フレームデコーダ61がエンドパターンを検出するまで
繰返す(S81〜S86)。エンドパターンを検出した
場合(S86,Yes)、受信データのCRC計算とデ
ータ部の後に付加されたCRCデータとを参照して、C
RCエラーの有無を判別する(S87)。
【0251】CRCエラーを検出したとき(S87,Y
es)は、ステイタスレジスタ55にCRCエラー検出
フラグを設定し、データの再送信要求(トランスミット
アゲイン)等のCRCエラー検出処理を可能とする。C
RCエラーを検出しないときは、CRC付きパターンに
よるデータ受信を終了する(S87,No)。
【0252】図43は、ゲームプログラム等のアプリケ
ーション(ソフトウェア)に組み込まれたプログラムに
よる周辺装置(デバイスファンクション)の固有情報の
入手及びその利用を説明するフローチャートである。
【0253】CD−ROM等の情報記録媒体から供給さ
れたアプリケーションのプログラムはメモリに記憶され
てCPUによって実行される。アプリケーションのプロ
グラムは、デバイスファンクションに対してデバイスリ
クエストコマンドを送信させ(S102)、デバイスフ
ァンクションからの返信を待つ。所定時間を経過しても
デバイスファンクションから固有情報を受信しない場合
には、バスにデバイスファンクションが接続されていな
いと判断し(S104,No)、未接続処理を行う(S
106)。
【0254】デバイスファンクションから固有情報を受
信した場合には(S104,Yes)、許諾(ライセン
ス)表記情報(S108)、仕向地情報(S110)、
デバイスIDをCD−ROM等の情報記録媒体から供給
されたゲームプログラム等のアプリケーションに含まれ
ている情報と照合する(S112)。各照合が一致すれ
ば(S112,Yes)、そのデバイスファンクション
にAPを割当てる処理を行う(S114)。
【0255】一方、照合に一致しないものがある場合に
は、接続デバイスファンクション(あるいは接続周辺装
置)がアプリケーションに非対応であることをユーザに
知らせる処理を行う(S116)。その後、当該デバイ
スファンクションをホストに接続しない処理(S10
6)を行って終了する。
【0256】このような機能は、周辺装置のPL(Produ
ct Liability)対策として有用である。例えば、シュー
ティングゲームでは模擬銃を使用するが、精巧に銃を模
したものは本物の銃と間違われる恐れがある。例えば、
ある国においては、そのような使用が問題にならない場
合であっても、他の国においては問題となることも考え
られる。そのような場合には、明らかに模擬銃と判るよ
うな外観の銃のみが当該国で使用される必要がある。
【0257】そこで、上述したデバイスの固有情報を利
用することにより、ある国やある地域での慣習、事情等
を考慮すべきアプリケーションでは、そのアプリケーシ
ョンで使用できる周辺装置の種類や型式を限定すること
が可能となって好ましいものである。
【0258】このように、本発明に係るゲーム装置とこ
の周辺装置との接続規格によれば、少ない本数のバスラ
インでゲーム装置と複数の周辺装置とを接続可能であ
る。
【0259】また、ユーザーがゲーム用周辺装置をケー
ブル(cable wire)あるいはコードを介してゲーム装置に
接続すると、ゲーム装置が自動的に接続機器を認識し、
接続された周辺装置をアプリケーションに適応するよう
に初期化して立ち上げるので、ユーザーに特別の手順や
設定を経させることがなくなり得、ゲーム装置の周辺装
置の接続規格として好適である。
【0260】また、上記した実施例においては、各周辺
装置はバスに接続された他の装置へのアクセス権を有せ
ず、ゲーム装置からのアクセスに対応して周辺装置が応
答する形式でデータ通信を行うので、ゲーム装置と複数
の周辺装置相互間のアクセスタイミングの調整等が不要
となる。また、周辺装置相互間のアクセスを禁止してい
るので、周辺装置相互間のアクセスタイミングの調整が
不要となり、I/Oのハードウェア、ソフトウェアの構
成が比較的に簡単で済む。
【0261】また、複数かつ複数種類の周辺装置を容易
に接続できる。例えば、ゲーム装置のコントローラ、ジ
ョイスティック、キーボード、CD−ROMドライブ、
DVDドライブ、音声入力/出力装置、メモリパック、
FDD装置、モデム、ISDN端末装置等を接続するこ
とが可能である。
【0262】また、ゲーム装置と周辺装置との間でコマ
ンド形式でデータ通信が行われるので、ゲームアプリケ
ーションがゲームの進行に応じて、その時その場面で必
要なデータをゲームコントローラ(周辺装置)等から取
得できる。
【0263】また、少ないデータ量と、間欠的なデータ
転送を行うため、接続ケーブルから輻射されるノイズが
少ない。
【0264】バスドライバによってデータ通信が制御さ
れるために、ドライバの更新によってコマンドの追加、
新たな周辺装置の開発が容易である。
【0265】また、ゲーム装置と周辺装置相互間でデー
タ通信を行うことが出来るようになされているので、一
対のケーブルで音声出力、音声入力、静止画、動画等の
マルチメディアのデータ転送が可能である。
【0266】また、周辺装置の固有情報をゲーム装置器
本体やアプリケーションが利用することが出来るので、
複数接続されている周辺装置のうち、アプリケーション
と組合わせて使用する周辺装置と、当該アプリケーショ
ンでは使用しない周辺装置とを区別でき、使用しない周
辺装置の動作を停止させることが可能となって好まし
い。
【0267】(第2の実施の形態) 概要 以下に、Mバスの第2のペリフェラルインタフェース規
格について説明する。本願の規格は、Mバスの処理全体
の中で、ホスト用MIEとMバスドライバとのインター
フェイス仕様、ファンクションとMIEコントローラと
のインターフェイス仕様、通信プロトコル仕様、データ
フォーマットを定める。まず、上述した第1のインタフ
ェース規格の説明と同様の手順に従って、第2のインタ
フェースの物理トポロジーと論理トポロジーから説明す
る。
【0268】(1) 物理接続トポロジー 図44は、第2の実施の形態の物理接続トポロジーを概
略的に示している。物理的な接続形態は、ホスト−基本
デバイス(周辺装置)−拡張デバイス(周辺装置)の形
態をとる。基本デバイスはホストに直接接続されるハー
ドウェア(周辺装置)である。拡張デバイスは基本デバ
イスを介してホストに接続されるハードウェア(周辺装
置)である。1システムでは、ホスト(例えば、ゲーム
装置)は1台である。ホストは、周辺装置を接続するポ
ートを、最大4つ持つことが出来る。1つのポートに1つ
の基本デバイスが接続される。基本デバイスには外部接
続の拡張デバイスが、最大4個まで接続できる。ホスト
−基本デバイス間は規定のケーブルで接続する。
【0269】ただし、以下の様な接続は予定していな
い。a)ホストへの拡張デバイスの直接接続、b) 基本デ
バイスへの基本デバイスの接続、c)拡張デバイスへの基
本デバイスの接続、d)拡張デバイスへの拡張デバイスの
接続。なお、これ等の記述は、本発明を実施例に限定す
る意図のものではない。
【0270】(2) 論理接続トポロジー 図45は、第2の実施の形態の論理接続トポロジーを説
明する説明図である。同図に示されるように、各ファン
クション(基本デバイス,拡張デバイスのハードウェア
上に構成される)とホストとの論理接続は、ホストを中
心とした、いわゆるスター型接続である。信号の送受信
の管理はホストが行う。
【0271】レイヤ構成と、コミュニケーションフロー 図46は、ホストと、周辺装置とのレイヤ構成を説明す
る説明図である。同図に示されるように、ホスト及び周
辺装置は相互間のデータ通信のために階層化された構造
を持つ。
【0272】同図において、ファンクション・レイヤ
は、周辺装置の各ファンクションを活用し、データフォ
ーマットに従って、データの送受信を行う。周辺装置は
最大3つまでのファンクションを持つことが出来る。I
/O・コントロール・レイヤは、フレーム単位でのデータ
送受信と、後述のMIE(Mバス I/F エンジン)を
制御する。バス・インターフェイス・レイヤは、ホストと
基本デバイス(または拡張デバイス)の物理的な接続,
信号の送受信を行う。ホスト内のアプリケーションと周
辺装置の物理ファンクションとの間のデータ取得(デー
タ通信)や制御は、ファンクションライブラリ、バス・
ドライバ、ホスト用MIE、接続線、基本(あるいは拡
張)デバイス用MIE、MIEコントローラ、ファンク
ションを介して行われる。
【0273】ペリフェラルタイプ 周辺装置(ペリフェラル)は次のように分類、区別され
る。まず、周辺装置は、基本デバイスと拡張デバイスの
二つのデバイスタイプに分類される。更に、基本及び拡
張デバイスは、ゲームコントローラとその他のペリフェ
ラルタイプに分類される。ゲームコントローラ系のペリ
フェラルタイプの装置の例としては、ゲーム装置の標準
構成品としてゲーム装置に添付される標準ゲームコント
ローラ、JOY−STICK、ステアリング等が挙げら
れる。その他のペリフェラルタイプの装置の例として
は、キーボード、マウス、GUN(模擬銃)等が挙げら
れる。拡張デバイスは、コントローラ拡張装置系のペリ
フェラルタイプであり、その装置の例としては、音声入
力、バックアップメモリ、GUN(模擬銃)等がある。
コントローラ系は、どのアプリケーションソフトでも使
用出来るように、標準となるデータフォーマットが決ま
っている。その他の基本デバイスや拡張デバイスは、デ
ータフォーマットが各デバイスによって異なる為、それ
ぞれのファンクション毎に、ファンクション・ライブラ
リが準備される。
【0274】用語の説明 以下、第2の実施の形態の説明において使用する用語に
ついて説明する。説明の便宜上、第1の実施の形態にお
ける説明と一部重複している。まず、データを時系列上
に展開したデータのことを「シリアルデータ」と呼ぶ。
シリアルにデータでデータのやりとりを行う信号線(流
れ)を「シリアルバス」と呼ぶ。本願の提案の規格に従
って、ゲーム装置と周辺装置を接続するシリアルバスを
「Mバス」と称することにする。それぞれの周辺装置に
割り当てられている、周辺装置の機能を示すパラメータ
群を「デバイスID」と呼ぶ。デバイスIDは、周辺装
置の属性や備えているファンクション(データフォーマ
ットや機能要素)など、16バイト(Byte)で構成され
る。デバイスIDは、後述する[Device Status]コマ
ンドで得ることができる。
【0275】ゲーム装置の周辺装置が接続できるMバス
の端子のことを「ポート」と呼ぶ。ポートの端子は、電
源端子(VCC,GND)とデータ線(SDCKA,SDCK
B)の4ピン、あるいはこれにシールド線を加えた5ピ
ンが標準である。第2の実施の形態の規格による「Mバ
ス」では最大4ポート(ポートA,ポートB,ポート
C,ポートD)をサポートする。
【0276】ゲーム装置側を「ホスト」、それに接続す
る周辺装置において実現される機能を「ファンクショ
ン」と呼ぶ。ファンクションは製品そのものではなく、
製品の構成する要素を示すため、1つの製品に複数の機
能を持たせることが出来る。周辺装置はファンクション
の集まりとなるが、ホストからのアクセスは周辺装置単
位で行い、ファンクションへのアクセスは、その中でフ
ァンクションタイプを指定して行う。1つの周辺装置
で、複数のファンクションが使用できるが、例えば、第
2の実施の形態の「Mバス」では最大3つまで使用でき
る。
【0277】図47に示すように、周辺装置は、物理的
に「基本デバイス」と「拡張デバイス」の2種類に分け
られる。基本デバイスは、ホストに接続され、拡張デバ
イスをコントロールする機能を持つ周辺装置である。基
本デバイスは、拡張デバイスの接続を自動的に認識し、
接続を行う。拡張デバイスは、基本デバイスに接続さ
れ、デバイスが無いと動作できない周辺装置である。基
本デバイスから拡張デバイスにつながるMバスのこと
を、特に、「LMバス」と呼ぶ。LMバスはMバスと論
理(信号)的には同一であるが、物理的には異なる。基
本デバイスは、周辺装置の中で主としてゲームコントロ
ーラ系になり、拡張デバイスはゲームコントローラ系の
拡張装置となる。ホストのポート1に対して、例えば、
基本デバイスが1個のみ接続でき、基本デバイスは、例
えば、拡張デバイスを5個まで(LMバスも5本まで)
管理できる。
【0278】1つのポートで基本デバイスや複数の拡張
デバイスに、ダイレクトでアクセス出来るように、基本
デバイス,拡張デバイスに対し、接続されている場所で
認識番号を割り当てる。この割り当てる番号のことを
「絶対位置AP」と呼ぶ。「Mバス」では、APは1バ
イト固定で、次の様になる。 [最大4ポート(2bit)]×[1ポートに割り当てられ
る最大AP数=6個(6bit)]=[1バイト(8bit)] 割り当てられるAPは、後述するように、接続形態と、
基本デバイスか、拡張デバイスかによって決まる。基本
デバイス及び拡張デバイスへのアクセスは、このAPを
使用する。
【0279】ホストとファンクションとのデータのやり
とりは、従来のような一辺倒ではなく、その場その時に
適したデータの送信受信ができるように、ある決まった
命令を用いてデータのやりとりを行う。この命令のこと
を「コマンド」と呼び、コマンドのデータのことを「パ
ラメータ」と呼ぶ。パラメータは、送信先デバイスのA
P,送信元デバイスのAP,データのサイズ,データか
ら構成される。Mバスでは、最大254個の基本的なコ
マンドが用意でき、1アクセスで最大1020バイトの
データの送受信ができる。
【0280】ポートを介して行われるデータ通信は、
「フレーム」という単位で行われる。図48は、フレー
ムの構成例を示している。1フレームは、スタートパタ
ーンと、コマンドコードと、パラメータ(送信先AP,
送信元AP,データサイズ,データ等)と、パリティビ
ットと、エンドパターンとによって構成される。1回の
アクセスで1つのフレームが送信される。1つのデバイ
スに対し、1インターバル(INT)内で1アクセスであ
る。スタートパターンとパリティビット、エンドパター
ンはMIE(後述)にて付加される。
【0281】図49は、Mバス上における応答とタイム
アウトとを説明する説明図である。ホストが基本デバイ
スまたは拡張デバイスにコマンドを送信し、そのコマン
ドに対しての返信を「応答」と呼ぶ。ホストはコマンド
送信後に、ある時間まで応答を待つが、待った後も応答
が無い状態のことを「タイムアウト(Time Out)」と呼
ぶ。タイムアウトした基本(あるいは拡張)デバイスは
ホストからは切断されたものとして認識される。また、
基本(あるいは拡張)デバイスは受信時にタイムアウト
した場合は、ソフトリセットを行う。タイムアウトまで
の時間(応答時間)は、例えば、1.0mSである。
【0282】図49において、1)の場合は、基本(ある
いは拡張)デバイスからの応答が、応答時間内にあるの
で正常である。2)の場合は、応答が無いのでタイムアウ
トとなる。3)の場合は、応答が応答時間内に無いので、
タイムアウトとなる。4)の場合は、送信データの途中の
間隔が応答時間を越えているので、タイムアウトとな
る。タイムアウトした周辺装置が接続されているポート
にはハードリセットが行われる。
【0283】コントローラの機能を拡張するための拡張
装置を接続する場所を「拡張ソケット」と呼ぶ。拡張ソ
ケットには、拡張デバイスが接続される。「Mバス」で
は、拡張ソケットの数は、最大4個まで持つことが出来
る。これは、拡張ソケットとLMバスとの対応を後述す
る2本のID線の論理によって行う為である。LMバス
の数と拡張ソケットの数は必ずしも同一である必要はな
い。
【0284】データをMバス用のシリアルデータに変換
し、Mバス上で送受信できるようにする回路を「MIE
(MバスI/Fエンジン)」と呼ぶ。Mバス規格の装置
は、全てこのMIEを持つ。ホストにはホスト用MI
E、基本デバイスには基本デバイス用MIE、拡張デバ
イスには拡張デバイス用MIEを組み込む。MIEはデ
ータ変換のみだけなので、フレーム内のデータ抽出は、
ホストはMバスドライバ(後述)、デバイスはMIEコ
ントローラと呼ばれるソフトウェア(ファームウェア)
で行う。
【0285】ホストが周辺装置にアクセスするには、周
辺装置(基本デバイス,拡張デバイス)をコントロール
するソフトウェア「Mバスドライバ」と「ファンクショ
ン・ライブラリ」を介して行う。Mバスドライバは、フ
レームの制御と管理を行い、各周辺装置(ファンクショ
ン)へのコマンドによる制御とパラメータ(データフォ
ーマット)の管理はファンクション・ライブラリで行
う。Mバスドライバは全ての周辺装置に対して1種類の
みで、ファンクション・ライブラリは各ファンクション
毎に対応する。1つの周辺装置に対して、デバイスID
で示されるファンクション・ライブラリが、3つまで使
用できる。
【0286】「Mバス」において、全ての基本デバイス
と拡張デバイスは、所定フォーマットに則った自身に特
有の情報を記録している。
【0287】この基本デバイスと拡張デバイスの情報の
ことを「デバイスステイタス」と呼ぶ。デバイスステイ
タスは、管理データとして、製品名、デバイスID、ラ
イセンス、モデルナンバー、製造ロット、仕向地など
を、電気データとして、スタンバイ消費電流、最大消費
電流などを記録する。デバイスステイタスは、デバイス
・ライブラリ及びアプリケーションソフトにて管理活用
される。例えば、製品名、ライセンス情報による不正な
コピー製品の排除、最大消費電流の情報によるポート全
体の電流制御などが可能となる。
【0288】データ伝送パターン Mバス上の物理的なデータ伝送について説明する。この
データ伝送には、第1の実施の形態と同じ形式が使用さ
れる。すなわち、データ伝送は同期シリアル方式で行わ
れる。電源を供給するライン側線Vcc、接地線GND、
SDCKA信号を伝送するデータ線SDCKA(双方
向)及びSDCKB信号を伝送するデータ線SDCKB
(双方向)の計4線が存在する。データの双方向通信は
半2重、転送レートは、例えば、最大2Mbpsである。
なお、必要により、信号のシールド線を追加することが
出来る。
【0289】伝送原理 図50は、SDCKA、SDCKBによるデータパター
ンを示している。シリアルデータクロックA(SDCK
A)及び同B(SDCKB)で伝送される信号は、透過
データ伝送時に必ず立ち下がりエッジが交互に存在する
ように形成される。受信側では、一方の信号の立ち下が
りエッジ(若しくは立ち上がりエッジ)により他方の信
号をラッチし、ラッチした信号レベルをディジタルデー
タとして復調する。データはMSBから転送され、開始
位置では、SDCKAをクロック情報、SDCKBをデ
ータ情報として行われる。
【0290】SDCKA、SDCKBによる情報パター
ン 図51は、同期パターンの例を示している。同期パター
ンは、スタート(START)パターンとエンド(EN
D)パターンを含む。スタートパターンは、データパタ
ーンに先立ち伝送される同期パターンである。受信側は
SDCKAの立ち下がりから立ち上がりまでの間にSD
CKBの立ち下がり(若しくは立ち下がり)エッジを4
回(4個の負パルス)検出すると、以降のパターンをデ
ータパターンと解釈する。受信側はSDCKBの立ち下
がりから立ち上がりまでの間にSDCKAの立ち下がり
(若しくは立ち上がり)エッジを2回(2個の負パル
ス)検出すると、データパターンの終了を確認し正常終
了と判断する。
【0291】SDCKB占有許可パターン(光線銃) 図52は、SDCKB占有許可パターンの例を示してい
る。受信側は、SDCKAの立ち下がりから立ち上がり
までの間にSDCKBの立ち下がりエッジを8回(8個
の負パルス)検出した場合、次のSDCKAの立ち下が
りより立ち上がりまでの間SDCKBを占有できる。S
DCKAの立ち上がりエッジによって、SDCKBの占
有を解除しなければならない。このパターンは、例え
ば、シューティングゲームの光線銃に用いられる。
【0292】リセットパターン 図53は、リセットパターンの例を示している。受信側
は、SDCKAの立ち下がりから立ち上がりまでの間に
SDCKBの立ち下がりエッジを14回(14個の負パ
ルス)検出した場合、送信側からのリセット要求と解釈
し、リセットを行う。
【0293】伝送フォーマット 図54は、伝送フォーマットの例を示している。データ
伝送はフレーム単位(最小単位)で行われる。フレーム
の内容は、データ伝送の開始を示すスタートパターンか
ら始まり、最大1024バイト長のデータパターン、パ
リティ、そしてエンドパターンで構成される。パリティ
は8ビットの水平方向とし、送信時にハードウェアで自
動的に付加され、受信時は削除される。
【0294】プロトコル ホストと周辺装置との通信プロトコルについて説明す
る。コマンドは[コマンド名]で記し、詳細は後述す
る。図55は、プロトコルの概要を説明する説明図であ
る。まず、一連の流れにおけるコマンドの送信の優先権
はホストにある。このため、当初、周辺装置(基本ある
いは拡張デバイス)は、コマンド待ち状態にある。周辺
装置とホストとの通信は全て上述したフレーム単位で行
われる。ホストは、アプリケーションプログラムを実行
して周辺装置に対するコマンドを発生する。このコマン
ドは、フレームデータとしてMバスを介して周辺装置に
送信される。フレーム内のコマンドとパラメータで周辺
装置に指示が行われる。フレーム内の送信先APに該当
する周辺装置は、フレームデータを受信するとそれに応
答する。すなわち、周辺装置は対応するコマンドを生成
し、フレームデータを形成し、これをMバスを介してホ
ストに送信する。その後、周辺装置は次のデータの待ち
受け状態となる。ホストは、周辺装置からのフレームデ
ータを受け取り、コマンド(返信)を抽出する。このコ
マンドをアプリケーションに返す。アプリケーション
は、コマンドで返信された情報を用いて次のアクション
を行う。このような手順を繰り返して、ホストと周辺装
置とのデータ通信が行われる。図56(a)は、Mバ
ス、LMバス上におけるこのようなホストと複数の周辺
装置との間欠的なデータ通信の様子を表している。ま
た、図56(b)は、1つの送信フレームでは送信すべ
きデータを全部送ることができない場合に、データを分
割し、複数の送信フレームで長いデータを間欠的に送信
する例を示している(後述の図70参照)。
【0295】上述のデータ通信に際しては、以下に述べ
るような特徴がある。ホストは、基本デバイスと拡張デ
バイスに直接同一プロトコルでアクセスでき、途中でデ
ータ変換などは不要である。アクセスに必要なAPのデ
ータは、接続したホストのポート、基本デバイス、拡張
ソケットによって決定される。基本デバイスにアクセス
すると、その基本デバイスの拡張デバイスの接続状態が
確認できる。ホストが動作状態であっても、周辺装置は
接続と切断が出来る。ホストは、周辺装置に対してその
装置の情報を得るために、デバイスステイタスを要求す
る。要求しないと、周辺装置は動作を開始せずに、スタ
ンバイ状態のままで待機する。周辺装置のリセットには
2種類ある。後述されるソフトリセット(リセットコマ
ンド)とハードリセット(リセットパターン)である。
ソフトリセットはポートに接続されている特定の周辺装
置のみをリセットする。ハードリセットは周辺装置の全
部のリセットを行う。データ転送は最大1024バイト
のフレーム単位で行われる。1つの周辺装置で最大3つ
までのファンクションが使用でき、ファンクションへは
それぞれのファンクションタイプを指定してアクセスす
る。1つのファンクションへは1インターバルINT内
に最大1回のアクセスで、データは1アクセスで1フレ
ームである。1つのポートに対して、連続してアクセス
はしない。これら特徴の実現については、後述する。
【0296】フレームデータ 1つのファンクションへは1インターバルINT期間中に
最大1回アクセスでき、1アクセスで転送するデータは
送信1フレーム、受信1フレームである。既述図54
は、フレームデータの例を表しており、1フレームは、
スタートパターン、データパターン、パリティビット、
エンドパターンによって構成される。
【0297】スタートパターン,パリティビット,エン
ドパターンは、データ伝送パターンで規定されているパ
ターンで、MIEにて自動的に処理される。フレーム中
のデータパターンは、4バイト単位で構成され、最小4
バイトから最大1024バイトである。最小値の4バイ
トでは、コマンドコード,送信先AP,送信元AP,デ
ータサイズ(=00h)のみになる。コマンドコードは、
送信先の装置に指示するコマンドのコードを指定する。
送信先APは、フレームの送り先の装置のAPを指定す
る。すなわち、ホストは、基本デバイス、拡張デバイス
のAPを、基本デバイス,拡張デバイスはホストのポー
トのAPを指定する。送信元APは、自分自身のAPを
指定する。データサイズは、送信データのサイズを4バ
イト単位で指定する。データは送信するデータ(データ
フォーマットなど)で、4バイト単位で格納する。
【0298】コマンドコード コマンドコードは、1バイトで構成され、コマンドのコ
ードを格納する。
【0299】
【表1】
【0300】ここで、COM0〜COM7はコマンドコー
ドである。コマンドコードは、01hからFEhの範囲で指定
する。各種のコマンドコードについては後述する。
【0301】なお、表を参照して説明されるデータは、
特に、図示しないが、内部のメモリやレジスタ等の適宜
な場所に保持されるものである。
【0302】絶対位置AP 次に、APについて説明する。APには、基本及び拡張
デバイス自身のAPと、データの送信先を表すAP(送
信先AP)と、データの発信元を表すAP(送信元A
P)と、の3種類のAPがある。基本あるいは拡張デバ
イスのAPはデバイス自身のAPであり、ホストから送
信されたフレームの送信先APと比較し、ホストからの
データが自分宛のデータかどうかを判別するために使用
される。デバイスの送信元APは、基本あるいは拡張デ
バイスがホストにデータを返信する際に、フレームの3
バイトめに書き込まれるデータである(図48)。送信
したデータがどのデバイスから送られたかをホストに知
らせる。デバイスの送信元APは、下位の5ビットがそ
の先のLMバスの接続状態を示す。ホストは、基本デバ
イスにアクセスし、その返信コマンド(基本デバイスか
らのフレーム)の送信元APを見ると、基本デバイスの
どのLMバスに拡張デバイスが接続されているかが判
る。APの値は、後述する図57に示すように、ポー
ト、基本デバイス、拡張デバイスの接続形態によって決
まる(ソケットNo.固定方式)。
【0303】APのビット構成 表2は、内部レジスタに保持されるAPのビット構成を
示している。APは1バイト(8ビット)で構成され
る。APの第7及び第6ビットは、基本デバイスが接続
されるホストの入出力ポートを指定するポート設定ビッ
トPO1及びPO0である。APの第5ビットは、基本デ
バイスか拡張デバイスかを表す基本デバイス/拡張デバ
イス設定ビットD/Eである。APの第4〜第0ビット
は、LMバスの番号を指定するLMバス設定ビットLM
4〜LM0である。
【0304】
【表2】
【0305】ポート設定ビットPO0,PO1の使用例を
表3に示す。ポート設定ビットPO0及びPO1の2ビッ
トによってポートA〜ポートDのうちのいずれかのポー
トが指定される。
【0306】
【表3】
【0307】基本デバイス/拡張デバイス設定ビット
は、表4に示すように、APが基本デバイス指定の場合
は「1」、拡張デバイス指定の場合は「0」、ポート指
定の場合は「0」である。
【0308】
【表4】
【0309】LMバス設定ビットLM4〜LM0は、表5
に示されるようになる。APが基本デバイスあるいはポ
ートを指定する場合には、LM4〜LM0は全て「0」と
なる。LMバスに拡張デバイスが接続されているとき、
あるいは拡張デバイスにアクセスするとき、該当するL
Mバスの設定ビットLMnに「1」が設定される。ま
た、未接続状態のときは、該当するLMバスの設定ビッ
トLMnに「0」が設定される。拡張デバイスにアクセ
スする場合には、アクセスする拡張デバイスのLMバス
番号の設定ビットのみを「1」にする。
【0310】
【表5】
【0311】基本デバイスからの応答の時の送信元AP
は、基本デバイスのAPと、それぞれのLMバス上の拡
張デバイスの接続状態の設定ビットを自動的にORで組
み合わせる。例えば、ホストがポートA(00h)から
基本デバイスにアクセスする場合は、送信先AP=“00
100000”(20h),送信元AP=“00000000”(00h)と
なる。ここで、hは16進数表示を意味する。ポートA
の基本デバイスの応答は、基本デバイスに拡張デバイス
がLMバス No.1と3に接続されている場合、送信
先AP="00000000"(00h),送信元AP=“00100101"
(25h)となる。送信元APは、基本デバイスのAP=
“00100000”に拡張デバイスの接続状態(LM0,LM2
=1)が足されて(ORされて)いる。
【0312】次に、ホストがポートBからLMバス N
o.1に接続された拡張デバイスにアクセスする場合
は、送信先AP=“01000001”(41h),送信元AP=
“01000000”(40h)となる。LMバスNo.1に接続
された拡張デバイスからの応答は、送信先AP=“0100
0000”(40h),送信元AP=“01000001”(41h)とな
る。
【0313】図57には、ホストからアクセスする時の
基本デバイス,拡張デバイスのAP一覧(16進数表
現)が示されている。基本デバイスの応答時の送信元A
Pは、基本デバイス自身のAPと、接続されている拡張
デバイスのAPの値の総和(全てのOR)の値となる。
従って、基本デバイスの送信元APには拡張デバイスの
接続情報を含む。ホストは基本デバイスの送信元APか
ら拡張デバイスの接続を知ることが出来る。
【0314】基本デバイスAPの初期設定の手順 次に、APの初期設定手順について説明する。ゲームを
行う者は、基本デバイスをホストの任意のポートに接続
でき、更に、拡張デバイスを、基本デバイスの任意のL
Mバスに接続できる。このため、ゲームの開始に先立っ
て、ホストは、ホストの各ポートへの基本デバイス、拡
張デバイスの接続の有無と、各デバイスのAPを知るこ
とが必要となる。そこで、基本デバイスのAPの初期設
定手順について、図58のフローチャートを参照して説
明する。
【0315】同図は、ホストのポートAに基本デバイス
が接続され、この基本デバイスのLMバスのNo.1及
び2に拡張デバイスが接続されている場合を一例として
説明するものである。同図には、ホストの動作と基本デ
バイスのCPUの動作が示されている。
【0316】まず、ホスト、基本デバイス、拡張デバイ
スの相互間が通信線によって接続され、各装置に電源が
投入されると、各装置において、図示しないROMから
CPUに初期プログラムがブートされる。なお、後述す
る図64には基本デバイス用MIEが、図66には拡張
デバイスのMIEが説明されている。このプログラムに
従って基本デバイス(のCPU)は、後述するインタフ
ェースのレジスタとポートを初期化する(S22、S2
4)。その後、基本デバイス自身のAPを生成する。こ
の場合、APは自身のデバイスであることから、APの
ビット5だけが“1”となり、“--100000”となる。こ
こで、“-”は、未定の値であることを表す(S2
6)。
【0317】次に、基本デバイスがLMバス No.5
を備えるかどうかを調べる。LMバスNo.5は他のL
Mバスとは異なり、バス接続や論理的な接続である。こ
れは、基本デバイスに拡張デバイスを内蔵し、あるいは
基本デバイスと拡張デバイスとを組み合わせて使用する
というような、基本デバイス自身の機能拡張としての使
用が予定されているからである。例えば、振動機能付き
ゲームコントローラを作成する場合、ゲームコントロー
ラを基本デバイスとし、これに振動部をLMバスNo.
5を介して接続することによって全体として振動部付き
ゲームコントローラを実現する。このNo.5バスの有
無は、基本デバイスのCPUには既知(ROMなどに情
報が書き込まれている)であり、コンフィグレーション
などは特に必要としない。この説明の例では、LMバス
No.5はないものとする(S28)。
【0318】次に、基本デバイスのCPUは、外部ソケ
ットのLMバスの設定を行う。図64に示すように、基
本デバイスは、I/O部から各LMバスのソケットの特
定の端子、例えば、端子ID0,ID1に、当該LMバス
の番号に対応した電圧値の組み合わせを発生する。基本
デバイスが設定する各LMバスの端子ID0,ID1への
出力論理の例を表6に示す(S30)。
【0319】
【表6】
【0320】基本デバイスは、LMバスNo.1のソケ
ットの端子ID0,ID1にはそれぞれ「0」、「0」を、
LMバスNo.2のソケットの端子ID0,ID1にはそ
れぞれ「1」、「0」を出力する。この論理出力電圧
は、LMバス、I/Oポートを介して拡張デバイスに与
えられる。拡張デバイスは、基本デバイスからの論理出
力の値を見て、自己がどのLMバス(拡張ソケット)に
接続されたかを知ることができる(S32)。
【0321】基本デバイスは、各LMバスのソケットの
特に考慮された特定の端子、例えば、端子ID2の論理
レベルを読み込む。端子ID2はプルダウン用抵抗を介
して接地されており、このソケットに拡張デバイスが接
続されると、拡張デバイス側から電圧Vccが印加される
ようになされる。その結果、当該ソケットに拡張デバイ
スが接続されている場合は、端子ID2の論理レベルは
「1」となる。また、拡張デバイスが接続されていない
場合には、端子ID2の論理レベルは「0」となる。基
本デバイスは、LMバスに出力したID0、ID1に対応
したID2の論理レベルを判別することにより、上記端
子ID0、ID1への論理出力で示したLMバス No.
の接続あるいは未接続が判別できる。繰り返せば、端子
ID2は拡張デバイスの接続確認用であり、ID2
「0」であると未接続、「1」であると接続を示す。こ
の例では、LMバス No.1のID2とLMバス No.2
のID2が「1」になる(S34)。
【0322】なお、ソケットの端子ID0、ID1の論理
出力は、一定の条件下に、基本デバイスから拡張デバイ
スへのリセット信号としても機能する。例えば、基本デ
バイスが、拡張デバイスへの出力ID0、ID1を反転さ
せると、拡張デバイスへの動作停止信号となり、拡張デ
バイスは動作を停止する。例えば、ID0、ID1=“0
0”であるとき、ID0、ID1=“11”と反転する
と、拡張デバイスは処理を停止する。また、基本デバイ
スが出力ID0、ID1を反転させ、更に出力ID0、I
1を反転させて元に戻すと、拡張デバイスへのリセッ
ト信号となり、拡張デバイスはリセットする。例えば、
基本デバイスが、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)。
【0323】基本デバイスは、ホストから送られるコマ
ンドの一種であるデバイスリクエスト[Device Reques
t]の受信を待つ。基本デバイスは、デバイスリクエス
ト[Device Request]以外は待機状態のまま、ステップ
34からの処理を繰り返す(S38;No)。この例で
は、ホストのポートAに基本デバイスが接続されてい
る。この基本デバイスへのホストからの送信先APはポ
ートAの基本デバイスを指定する“00100000”となる。
第5ビットの「1」が基本デバイスの指定を、第6及び
第7ビットの「00」がポートAの指定を表す。
【0324】一方、ホストは、ポートAからDに基本デ
バイス及び拡張デバイス(周辺装置)接続されたかどう
かを知るべく、各ポートに順次コマンド[Device Reque
st]を送って基本デバイスの応答を待つ(H22)。ホ
ストから、ポートAの基本デバイスにコマンド[Device
Request]が送られると(S38;Yes)、基本デバ
イスは、その受信フレームの送信元APを読み、その第
6及び第7ビットから自己が接続されているポートN
o.を取得する。この例では、ポートAなので“00”で
ある(S40)。
【0325】基本デバイスは、ステップS26にて、先
に形成した下位6ビットとポートの上位2ビットとによ
って、基本デバイス自身のAP(8ビット)を完成する
(S42)。すなわち、取得したポートAの“00"(第
6及び第7ビット)と、基本デバイスが先に形成したA
P=“--100000”(第0ビット〜第5ビット)とを組み
合わせて、基本デバイス自身のAP=“00100000”(1
6進数表示で20h)を完成する。
【0326】次に、基本デバイスは、送信フレームの送
信元APを完成させる。先に、ステップS36におい
て、下位6bitだけが完成していた送信元APに、ポー
トのbitを上位に付加する。この例では、送信元AP=
“--100011”にポートのbit“00"を付加して、送信元A
Pは“00100011”となる(S44)。この送信元APの
コードを見ると、ポートAに基本デバイスが接続され、
その基本デバイスのLMバスNo.1及び2に拡張デバ
イスが接続されていることが判る。
【0327】基本デバイスは、デバイスリクエスト[De
vice Request]に対して返信するべく、送信フレームを
作成する(S46)。基本デバイスは、コマンド、デバ
イスリクエスト[Device Request]に対応した返信コマ
ンドのデバイスステイタス[Device Status]を用意す
る。送信先APは、ポートAを表す“00000000”、送信
元APは、上述した“00100011”となる。
【0328】基本デバイスは、デバイスステイタス[De
vice Status]を含む送信フレームを送出し、ホストに
コマンドを返信する(S48)。以後、基本デバイスの
APは切断されない限り、“00100000”となる。基本デ
バイスは、常にLMバスのソケットの端子ID2の状態
を監視する。そして、LMバスへの拡張デバイスの接続
状態が変わると送信元APのビットを変化させ、拡張デ
バイスの接続状態に対応した送信元APを保持する。
【0329】ホストは、基本デバイスからの送信フレー
ムを受信し、ポートAへの基本デバイスの接続と、その
LMバスNo.1及び2への拡張デバイスの接続を知る
(H24)。ホストは、基本デバイスにアクセスするだ
けでその基本デバイスに接続された拡張デバイスの存在
を知ることが出来る。また、後述するように、ホスト
は、コマンド、デバイスステイタス[Device Status]
によってポートに接続されている基本デバイスの内容
(周辺装置の種類等)を知る。
【0330】なお、上述したAPの設定に際しては、基
本デバイスに拡張デバイスを接続するソケットNo.を
固定し、各ソケットへの拡張デバイスの接続の有無を確
認している(ソケットNo.(LMバスNo.)固定方
式)。すなわち、基本デバイスは、(a) 基本デバイス自
身の初期化後に、先にLMバス(ソケット)No.に対
応するID0、ID1の設定を行い、(b)その後、各ソケ
ットのID2の論理レベルを見て、各LMバスへの拡張
デバイスの接続の有無を判別している。そして、(c)I
2の接続情報でどの番号のLMバスに拡張デバイスが
接続されたかが判ったので、この情報を元にして、送信
フレームの送信元APの下位6ビットを作成する。(d)
ホストから受信したフレームの送信元APから、基本デ
バイスが接続されたホストの接続ポートの情報を得て、
基本デバイスの送信元APの上位2ビットを追加して、
送信元APを完成する。
【0331】これに対し、基本デバイスが先にID2
チェックを行って使用されるLMバスを把握し、使用さ
れるLMバスにLMバスNo.を割り当てることとして
も良い(ソケットNo.(LMバスNo.)割り振り方
式)。すなわち、基本デバイスは、(a) 基本デバイス自
身の初期化後、ID2の論理を見て、そのLMバスに拡
張デバイスの接続の有無を判別する。(b)次に、端子I
2で接続を判別したLMバスにID0、ID1を割り当
てる。割り当てが重ならないように、No.の小さい順
に割り当てる。このID0、ID1とLMバスNo.の例
を表7に示す。接続状態に変化のないLMバスは、前の
状態の番号を維持する。
【0332】
【表7】
【0333】そして、基本デバイスは、(c)ID2と、I
0、ID1の情報に基づいて、送信する際の送信元AP
の下位6ビットを作成する。(d)ホストから受信したフ
レームの送信元APから、基本デバイスが接続されたホ
ストの接続ポートの情報を得て、基本デバイスの送信元
APの上位2ビットを追加して、送信元APを完成す
る。
【0334】基本デバイスが一旦送信元APを確立した
後に、ホストから送信元APを更新すべき指令を受けた
場合、ソケットNo.固定方式では、既に各ソケットに
ID0、ID1が対応付けられているので、APの更新の
ための基本デバイスの処理は、上記(b)以降を行う。ソ
ケットNo.割り振り方式では、ソケットNoは変動す
るので、APの更新のための基本デバイスの処理は、上
記(a)以降を行う。
【0335】拡張デバイスAPの初期設定手順 図59のフローチャートを参照して拡張デバイスのAP
の初期設定手順について説明する。同図においては、ホ
スト、基本デバイス、拡張デバイスの各動作が並行して
示されている。また、同図において図58と対応する部
分には、同一ステップ番号を付し、かかる部分の説明は
省略する。この例では、ホストのポートBに基本デバイ
スが接続され、更に該基本デバイスのLMバスのNo.
2に拡張デバイスが接続されるものとして説明する。
【0336】まず、ホスト、基本デバイス、拡張デバイ
スが相互接続され、各装置に電源が供給される(K2
2)。なお、後述する図64によって基本デバイス用M
IEが、図66によって拡張デバイスのMIEが説明さ
れる。拡張デバイスは、基本デバイスに接続され、いわ
ゆるパワーオンリセットがなされると、内部レジスタと
LMバスのポートの初期化を行う(K24、K25)。
【0337】拡張デバイス(のCPU)は、制御プログ
ラムに従ってLMバスを調べる。前述したように、各L
Mバスのコネクタの所定の端子、例えば、端子ID0
ID1には、基本デバイス(のCPU)によって、LM
バス番号に対応した論理出力がなされている。拡張デバ
イスは、拡張デバイスが接続しているLMバスの端子I
0、ID1の論理を読み取る(K28)。この例では、
拡張デバイスはソケット2に接続されたので、ソケット
の端子ID1、ID0には=“01”の論理出力が設定され
ている。拡張デバイスは、端子ID0、ID1の論理出力
と表6とを参照してLMバス No.を判別する。この
例では、ID1、ID0=“01”なので、LMバス N
o.は「2」と判別される(K30)。
【0338】拡張デバイスは、拡張デバイス自身のAP
を作成する。拡張デバイスは、自己が拡張デバイスであ
ることを知っている。これは、予めROMに必要な情報
を書き込むことにより、あるいは拡張デバイスの制御プ
ログラムに直接書き込むこと等によってなされる。表2
に示すレジスタの、APのビット5(デバイス/拡張デ
バイス設定ビット)を“0”に設定し、ビット0〜4
(LMバスNo.設定ビット)を接続されているLMバ
スのNo.に対応して“1”に設定する。この例では、
LMバスがNo.2なので、bit1が“1”に設定され
る。よって、拡張デバイス自身のAPは、AP=“--00
0010”となる(K32)。
【0339】次に、拡張デバイスは、拡張デバイスの送
信元APを作成する。拡張デバイスは、基本デバイスと
は異なり、送信元APで接続チェックを行わないので、
「送信元AP=拡張デバイスのAP」とする。この例で
は、送信元AP=拡張デバイスのAP=“--000010”と
なる(K34)。
【0340】拡張デバイスは、ホストからの自己のAP
=“--000010”を指定したコマンド[Device Request]
を含むフレームの着信を待つ(K36)。コマンド[De
viceRequest]以外は待機状態のまま、待ち続ける(K
36;No)。
【0341】上述したように、ホストは、既に基本デバ
イスからLMバスの接続状況が報告されているので(S
48)、拡張デバイスがどこのLMバスに接続されてい
るかを知っている(H26)。よって、拡張デバイスを
使用するアプリケーションのみ、拡張デバイスにコマン
ド[Device Request]を送信し、拡張デバイスを使用で
きるようにする。この例では、ホストが送信する送信フ
レームの送信元APはポートBを表す“01000000”、送
信先APは、拡張デバイスでかつLMバス No.2を指
定する“01000010”となる(H28)。
【0342】拡張デバイスは、コマンド[Device Reque
st]を含むフレームを受信する(K36;Yes)。そ
のフレームデータの送信元AP=“01000000”を読み、
ホストのポートNo.を取得する。この例では、ポート
Bなので“01”である。拡張デバイスは、先に下位6ビ
ットだけが完成している拡張デバイスのAPに、ポート
Bのビットを上位に付加し、拡張デバイス自身のAPを
完成させる。この例では、拡張デバイスのAP=“--00
0010”に、ポートBのビット“01”を付加する。拡張デ
バイスのAPは、AP=“01000010”となる。
【0343】次に、拡張デバイスの送信元APを完成さ
せる。先に下位6ビットだけが完成している送信元AP
に、ポートのビットを上位に付加する。この例では、送
信元AP=“--000010”にポートのビット'01'を付加す
る。送信元APはAP=“01000010”となる(K4
2)。なお、拡張デバイスの送信元APは、拡張デバイ
スのAPと同じなのでこの処理(K42)は省略しても
良い。
【0344】拡張デバイスは、ホストに返信すべく、送
信フレームを作成する(K44)。コマンド、デバイス
リクエスト[Device Request]に対応した返信コマンド
のデバイスステイタス[Device Status]を用意する。
送信先APは、ホストのポートBの“01000000”、送信
元APは、“01000010”となる。拡張デバイスは、ホス
トにコマンドを返信する(K46)。コマンド、デバイ
スステイタス[DeviceStatus]を送信する。以後、拡張
デバイスは、電源やケーブルが遮断されない限り、自己
のAP及び送信元AP=“01000010”を保持する。
【0345】ホストは、拡張デバイスからコマンド[De
vice Status]を受信することによって接続されている
拡張デバイスの内容(周辺装置の各種情報)を得る。
【0346】データサイズ 送受信フレームに含まれるデータサイズ部の構成につい
て説明する。データサイズ部は、表8に示されるよう
に、1バイトで構成される。
【0347】
【表8】
【0348】ここで、ビット0〜ビット7のデータDS
0〜DS7はデータサイズを表す。データサイズ部は、デ
ータのサイズを最小0バイトから最大1020バイトま
で、4バイト単位で指定する。これを表9に示す。
【0349】
【表9】
【0350】データ 送受信フレームに含まれるデータ部の構成について説明
する。データ部は、転送するデータを、データサイズで
指定したサイズ(4バイト単位)で格納する。データ内
容は、ファンクションによって異なる。例えば、コント
ローラ系ではコントローラのファンクションタイプ,デ
ータフォーマットが入る。データ部の構成を表10に示
す。
【0351】
【表10】
【0352】データ伝送 ホストと、周辺装置(基本デバイス、拡張デバイス)と
の間のデータ通信の概略について説明する。このデータ
通信においては、とくに、ゲーム装置に好適なように規
約に工夫がなされている。まず、データ通信は、基本的
には、ホストからの要求と、それに対する周辺装置から
の返答の形式で行われる。ホストから周辺装置に対して
の指示、要求は全てコマンド(フレーム)で行う。周辺
装置にコマンド(フレーム)を送信すると、周辺装置か
ら必ず何らかのコマンドがホストに返信される。送信エ
ラーが発生した場合は、ハードウェアの機能により、エ
ラーフラグが立ち、エラー処理を行う。
【0353】周辺装置は、ホストとの接続後、ホストか
ら周辺装置の内容を認識するためのコマンド、デバイス
リクエスト[Device Request]を受信した後に活性化さ
れる。周辺装置は、ホストからのコマンドに対しては、
必ず何らかのコマンドを返信する。周辺装置(あるいは
そこに実現されるファンクション)は、例えば、1イン
ターバルINT中に1回のコマンドの受信が出来る。
【0354】図60は、ホストと周辺装置間のデータ通
信を説明する説明図である。前述したように、ホスト、
周辺装置(基本デバイス、拡張デバイス)の相互間が接
続され、電源が供給されると、データ通信の開始に先立
って各々のAPが確立される。それにより、データ通信
に必要な各装置固有のAP、送信元AP、送信先APが
得られる。
【0355】ホストのCPUがアプリケーションを実行
することによって、周辺装置へのアクセスが必要とな
る。アプリケーションが出力した送信データ、送信コマ
ンドは、それぞれホストのMIEのライト(書き込み)
バッファ、コマンドレジスタに書き込まれる。送信デー
タ、送信コマンドは、既述図48に示すフレームとして
組み立てられて、コマンド待ち状態の周辺装置に送信さ
れる。周辺装置のMIEは、フレームを受信すると、コ
マンド及びデータを取り出して、周辺装置のCPUに与
える。周辺装置のCPUは、コマンドを解読し、このコ
マンドに対応する処理を行って、ホストに返信のコマン
ドと必要により返信すべきデータとを得る。このデータ
とコマンドを周辺装置のMIEによってフレームに組み
立てて、ホストに送信する。その後、周辺装置は、次の
コマンド待ちの状態となる。ホストのMIEが返信のフ
レームを受け取ると、交信状態をステイタスレジスタ
に、受信データをリードバッファに書き込む。ホストの
CPUは、両レジスタからデータを受け取ってアプリケ
ーションを続行する。このような動作を繰り返してホス
トと周辺装置(基本デバイス、拡張デバイス)間のデー
タ通信が行われる。
【0356】なお、ホストのMIEと周辺装置のMIE
相互間のより具体的な通信に関しては、後述される。
【0357】ハードウェアでエラーフラグが立つと、エ
ラー処理を行う。ホストの内部インターフェイスの詳細
については、後述する。
【0358】転送エラー データ伝送における転送エラーについて説明する。ハー
ドウェアで検知できるエラーには、パリティエラー、タ
イムアウト(Time Out)、データオーバーフローが含ま
れる。パリティエラーは、データフレームのパリティが
一致しなかったときに検出されるエラーである。タイム
アウトは、SDCKA,SDCKBのラインが一定状態
を維持したまま、タイムアウトの時間になったときに検
出されるエラーである。データオーバーフローは、デー
タの量が送受信バッファの容量を越えたときに検出され
るエラーである。これ等以外のエラー(データ化け等)
はソフトウェアで検知する。フレームを受信したときに
ハードウェアで検知できるエラーが発生した場合、エラ
ーフラグ等で知らせる。
【0359】ホストにおけるエラー処理 ホストにおいて受信エラーが発生した場合、周辺装置
(基本デバイス、拡張デバイス)に送信したコマンドに
よって再送コマンドを送信する。再送コマンドは最大3
回まで送信する。それでもエラーが発生するならば、未
接続やエラー表示などの処理を行う。再送の回数と処理
方法は、アプリケーションソフト、ライブラリによって
異なる。周辺装置から送られてきた再送コマンドは、ホ
ストからの送信1回につき3回まで受け付け、それ以上は
未接続やエラー表示などの処理を行う。未接続処理は、
エラーのあるポートに対して、ハードウェアリセット
(リセットパターン)を送信する。その後、必要なら
ば、デバイスリクエスト[DeviceRequest]を行う。
【0360】周辺装置におけるエラー処理 送信エラーが発生した場合、周辺装置(基本デバイス、
拡張デバイス)は、ホストからの要求に応じて再送は行
うが、周辺装置の判断によって再送などのエラー処理は
行わない。受信エラーが発生した場合、周辺装置は再送
コマンドをホストに送信することが出来る。受信時にタ
イムアウトが発生した場合は、周辺装置はソフトリセッ
トを行う。タイムアウトの検知は、基本デバイスのみが
行い、拡張デバイスへは基本デバイスから、IDライン
を使用してリセット信号を送る。
【0361】禁止事項 本規格においては、一定の禁止事項を設けている。すな
わち、(1)ホストに複数の周辺装置(基本デバイス、拡
張デバイス)が接続された状態で、周辺装置から周辺装
置へのダイレクトアクセスは禁止する。原則として、ホ
ストを介しなければならない。(2)周辺装置は、ホスト
のみが発行できるコマンドを使用することは許されな
い。(3)同じポートに対して連続してアクセスしてはい
けない。
【0362】ただし、これ等の禁止事項は、実施例の規
格における例示的なものであり、本発明の範囲を減縮し
たり、発明の応用を限定する意図のものではない。これ
等の禁止事項を許容する別の規格によるデータ通信を行
うことはもちろん可能である。
【0363】周辺装置の接続と切断 ホストにおける周辺装置(基本デバイス、拡張デバイ
ス)の接続と切断の判断処理について説明する。この判
断処理のために、ホストは各ポートの周辺装置に対し
て、コマンド、デバイスリクエスト[Device Request]
を送信する。先に説明したように、ホストと周辺装置の
接続後に電源が供給されると、ホスト、基本デバイス、
拡張デバイス各々についてのAP確立の手順が実行され
る。従って、本判断処理の前に送信先の周辺装置のAP
は、各ポートで決定されている。デバイスリクエスト
[Device Request]を送信する間隔は、望ましくは、1
インターバル(INT)毎である。周辺装置から返信があ
った場合は、以後、コマンドのデバイスリクエスト[De
vice Request]を送信する必要はない。なお、当然のこ
とながら、アプリケーションソフトが使用しないポート
に対しては、ホストはコマンド、デバイスリクエスト
[Device Request]を送信する必要はない。
【0364】基本デバイスの接続チェック 基本デバイスの接続チェックについて説明する。ホスト
が、あるポートにコマンドのデバイスリクエスト[Devi
ce Request]を送信し、基本デバイスからコマンドのデ
バイスステイタス[Device Status]が返信されると、
ホストはそのポートにデバイスステイタス[Device Sta
tus](後述)で記されている基本デバイスが接続され
ていると認識する。基本デバイスから何も反応が無い場
合(タイムアウト)は、そのポートは基本デバイスが未
接続と判断される。タイムアウト(Time Out)はコマン
ド送信後、例えば、1.0msの間に返信が無い場合に
生ずる。
【0365】拡張デバイスの接続チェック ホストは、それぞれのポートで基本デバイスだけにアク
セスすれば、その基本デバイスに接続されている拡張デ
バイスの接続状態も合わせて基本デバイスから返信され
るので(送信元AP)、全ての拡張デバイスに対して基
本デバイスのような接続チェックをする必要はない。ま
た、基本デバイスにアクセスして、基本デバイスからの
返信で送信元APに未接続であった拡張デバイスの接続
設定ビットが“1”に変化している時は、その設定ビッ
トで示されている拡張デバイスが新たに接続されたこと
を示している。基本デバイスへのアクセス後、拡張デバ
イスについての接続状態が判っているので、拡張デバイ
スに対してもデバイスリクエスト[Device Request]を
送信し、応答コマンドのデバイスステイタス[Device S
tatus]を待つ。この時、デバイスステイタス[Device
Status]の返信が無ければタイムアウトし、その拡張デ
バイスは未接続と判断される。
【0366】接続チェックに対する周辺装置の動作 全ての周辺装置(基本デバイス、拡張デバイス)は、接
続した直後はスタンバイ状態で、まだ装置としての動作
を開始せず、自分のAPの下位6bitのみ得ている。各
周辺装置はデバイスリクエスト[Device Request]を受
信する前に他のコマンドを受信しても、ホストに対して
何の反応もしない。その後、周辺装置は、ホストからの
コマンド、デバイスリクエスト[Device Request]を受
信する。周辺装置は受信フレームの送信元APから自己
が接続されているポートのAPを記憶し、自己のAP、
送信元APを完成し、デバイスリクエスト[Device Req
uest]に返信するべく動作を開始する。
【0367】基本デバイスの切断チェック ホストが、接続されている基本デバイス(予めポートへ
の接続が確認されていた基本デバイス)に対してコマン
ドを送信し、所定時間経過してもその基本デバイスから
応答が無い場合(タイムアウト)、ホストはその基本デ
バイスが切断され、未接続になったと認識する。未接続
の確認は3回まで行い、それでも未接続なら1インター
バル(1INT)後に、リセットパターンを送出する。
【0368】拡張デバイスの切断チェック ホストは、先にポートへの接続が確認されている拡張デ
バイスに対し、コマンドを送信して返信が無い場合(タ
イムアウト)、その拡張デバイスが切断され、未接続状
態になったと認識する。未接続の確認は3回まで行い、
それでも未接続なら1インターバル(1INT)後に、リ
セットパターンを送出する。
【0369】また、ホストが基本デバイスにアクセスし
て、基本デバイスからの返信フレームを受信する。そし
て、ホストが受信フレームの送信元APの拡張デバイス
の接続設定ビットが“0”に変化していることを判別し
たとき、その接続設定ビットLMnで示されている拡張
デバイスが切断され、未接続になったことが判る。
【0370】切断に対する周辺装置の動作 基本デバイスがホストのポートから取り外されると、当
該ポートに接続されていた基本デバイスへのホストから
の電源の供給が遮断される。このため、基本デバイスが
記憶していた接続ポートの情報は失われる。従って、一
旦コネクタを取り外した基本デバイスをホストのポート
に再度接続(ハードウェアリセット)しても、そのまま
では、基本デバイスは動作を開始しない。同様に、拡張
デバイスが基本デバイスのソケットから取り外された場
合も、拡張デバイスへの電源の供給が遮断されるため、
記憶していた接続ポートの情報が失われる。このため、
取り外した拡張デバイスを基本デバイスのソケットに再
度接続しても動作を開始しない。
【0371】リセット リセットには2種類ある。ハードリセット(リセットパ
ターン)とソフトリセット(リセットコマンド)であ
る。リセットはホストからのみ行える。ハードリセット
は、リセットパターンによるリセットで、あるポートに
接続された周辺装置(基本デバイス、拡張デバイス)の
全てを初期化することが出来る。周辺装置からの返信は
ない。ソフトリセットは、リセットコマンドのデバイス
リセット[Device Reset]によるリセットで、特定の周
辺装置を初期化できる。この場合、該当する周辺装置か
らはコマンドのデバイスリプライ[Device Reply]が返
信され、その後、この周辺装置は自身の初期化を実行す
る。
【0372】リセットされた周辺装置(基本デバイス、
拡張デバイス)は、一部のファンクションを除き、変数
やRAM内容などの記憶していたデータが電源投入直後
の状態まで初期化される。周辺装置のAPも初期化され
るので、再使用する場合には、ホストからデバイスリク
エスト[Device Request]を送信する必要がある。
【0373】デバイスID 既述接続チェックにおいて説明したように、ホストから
デバイスリクエスト[Device Request]を受信した周辺
装置(基本デバイス、拡張デバイス)は、デバイスステ
イタス[Device Status]をホストに返信する。このデ
バイス固有の情報であるデバイスステイタス[Device S
tatus]のデータ領域には、デバイスに関する種々の情
報が記録されている。この中の一つにデバイスIDが含
まれる。デバイスIDには、基本デバイスあるいは拡張
デバイスの、ファンクションタイプ、ファンクション定
義ブロックの宣言部が登録されている。全ての周辺装置
は必ず1つのデバイスIDと、1つ以上のファンクショ
ンを持つ。これにより、ホストは、接続された周辺装置
の内容(機種、機能、信号フォーマット、etc)を知
る。なお、各種コマンドについては後述する。
【0374】デバイスIDの構成 デバイスIDは、表11に示されるように16バイト
(128bit)で構成される。
【0375】
【表11】
【0376】ここで、FTは、ペリフェラルが備えてい
るファンクションの種類を示す。FD1は、1つ目のフ
ァンクションの、ファンクション定義ブロックを示す。
FD2は、2つ目のファンクションの、ファンクション
定義ブロックを示している。FD3は、3つ目のファン
クションの、ファンクション定義ブロックを示してい
る。FD1、FD2及びFD3は、FTで示されるファ
ンクションによって内容の意味が異なる。
【0377】次に、上記FT0〜FT31のファンクショ
ンタイプの内容を表12に示す。FTファンクションタ
イプは、周辺装置が装備しているファンクションを示
す。ファンクションタイプは全部で32種類あり、それ
ぞれコマンド、データフォーマットが決まっている。
【0378】
【表12】
【0379】1つの周辺装置で、例えば、3種類までの
ファンクションを設定することができ、装備しているフ
ァンクションの対応する設定ビットを'1'にする。設定
ビットには優先順位が存在し、最上位ビット(FT31
が一番高く、最下位ビット(FT0)が一番低くなって
いる。優先順位順に3つまでファンクション・ライブラリ
が設定される。
【0380】表11において、FD131〜FD10は、第
1のファンクション定義ブロックを示す。1つ目のファ
ンクションを構成する個々の要素を定義するブロックで
ある。その内容は、ファンクションによって異なる。詳
細はそれぞれのファンクション仕様書(図示せず)によ
って規定される。
【0381】FD231〜FD20は、第2のファンクシ
ョン定義ブロックを示す。2つ目のファンクションを構
成する個々の要素を定義するブロックである。内容は、
ファンクションによって異なる。詳細はそれぞれのファ
ンクション仕様書によって規定される。
【0382】同様に、FD331〜FD30は、第3のフ
ァンクション定義ブロックを示す。3つ目のファンクシ
ョンを構成する個々の要素を定義するブロックである。
内容は、ファンクションによって異なる。詳細はそれぞ
れのファンクション仕様書によって規定される。
【0383】ファンクションのデータフォーマットと定
義ブロック ファンクションのデータフォーマットと定義ブロックに
ついて説明する。これ等は、周辺装置とデータのやりと
りを行う為の、データの形式を示す。
【0384】まず、周辺装置(ペリフェラル)は表13
のように分類、区別される。
【0385】
【表13】
【0386】表13に示すように、基本デバイスの代表
的なものはゲームコントローラである。ゲームコントロ
ーラのファンクションタイプはコントローラで、ホスト
のポートに接続して使用される。ゲームコントローラ
は、多くのアプリケーションソフトで利用できるよう
に、標準となるデータフォーマットが決まっている。
【0387】コントローラ系のファンクションの要素
は、以下の通りである。 ・デジタル方向キーA :Ra,La,Da,Ua ・デジタル方向キーB :Rb,Lb,Db,Ub ・デジタルボタン :A,B,C,D,X,Y,Z,START ・アナログキー :A1,A2,A3,A4 ・アナログレバー :A5,A6 また、コントローラ系周辺装置は、以下の要素を必ず備
えていることが条件になる。 ・デジタル方向キーA :Ra,La,Da,Ua ・デジタルボタン :A,B,START 基本デバイスのその他のタイプ その他のタイプは、ゲームコントローラ以外のファンク
ションタイプの周辺装置である。各周辺装置によって、
データの内容とフォーマット、リード/ライトサイクル
などが異なるため、それぞれの機能に対応したデータフ
ォーマット,ファンクション・ライブラリを持つ。
【0388】拡張デバイス 基本デバイスの機能を拡張するための周辺装置である。
各周辺装置によって、データの内容とフォーマット、リ
ード/ライトサイクルなどが異なるため、それぞれの機
能に対応したデータフォーマット,ファンクション・ラ
イブラリを持つ。
【0389】コントローラ系ファンクション ファンクションタイプがコントローラのデータフォーマ
ットと、デバイスIDの定義ブロックを示す。
【0390】リードデータフォーマットを表14に示
す。リードデータフォーマットは、コントローラのデー
タを読む時のフォーマットである。データフォーマット
のサイズは8バイトである。
【0391】
【表14】
【0392】同表において、1番目のデータは、デジタ
ルボタンのデータである(ON=“0”,OFF=“1”)。
2番目のデータは、デジタルボタンのデータである(ON
=“0”,OFF=“1”)。3番目のデータは、アナログ
軸1のデータ(00h←→FFhの値)である。4番目のデー
タは、アナログ軸2のデータ(00h←→FFhの値)であ
る。5番目のデータは、アナログ軸3のデータ(80h±7
Fhの値)である。6番目のデータは、アナログ軸4のデ
ータ(80h±7Fhの値)である。7番目のデータは、アナ
ログ軸5のデータ(80h±7Fhの値)である。8番目のデ
ータは、アナログ軸6のデータ(80h±7Fhの値)であ
る。
【0393】ライトデータフォーマット コントローラへデータを書き込む時のフォーマットは存
在しない。データサイズは0バイトである。仮にデータ
を書き込みしても、反応しない。
【0394】ファンクション定義ブロック ゲームコントローラの定義ブロックFDは、表14に示
すリードフォーマットで使用する要素を分割して指定す
る。ゲームコントローラのファンクション定義ブロック
の例を表15に示す。
【0395】
【表15】
【0396】同表において、RBnは、リードフォーマ
ット分割ブロックを示す。
【0397】ブロック分割の例を表16に示す。
【0398】
【表16】
【0399】表14と対応させて、使用するブロックの
設定ビットを“1”に、未使用を“0”にセットする。
未使用のブロックは、ファンクション・ライブラリから
無視される。
【0400】標準コントローラのデバイスIDとデータ
フォーマット 標準コントローラのデバイスIDの例を表17に示す。
同表は、コントローラのみのファンクションをもつ標準
コントローラのデバイスIDの例を示している。
【0401】
【表17】
【0402】同表に示されるデバイスIDは、第1番目
のデータから第16番目のデータまで順に、00h-00h-00
h-01h-3Ch-1Fh-00h-00h-00h-00h-00h-00h-00h-00h-00h-
00hとなる。
【0403】標準コントローラのデータフォーマット
(リードフォーマット)を表18に示す。
【0404】
【表18】
【0405】標準コントローラには、ライトフォーマッ
トは予定されていない。
【0406】ストレージ系ファンクション ストレージ系ファンクションは、データを保存するため
のストレージ系ファンクションのファンクションタイプ
と、ファンクション定義ブロックを示す。ファンクショ
ン定義以外の情報(全容量等)は、コマンドのゲットメ
ディアインホ[Get Media Info]で取得する。
【0407】ファンクションタイプは、FT1
“1”、ファンクション(ストレージ)定義ブロック
は、表19のようになる。
【0408】
【表19】
【0409】同表において、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に示す。
【0410】
【表20】
【0411】また、表19において、FD6〜FD0は、
予約ビットをを表す。予約ビットは、将来のための予約
用設定ビットである。通常全ビット“0”にしておく。
【0412】B/WLCD系ファンクション B/WLCD系ファンクションは、簡単な映像を出力す
る、モノクロのドットマトリックス液晶ディスプレイ系
のファンクションタイプと、ファンクション定義ブロッ
クを示す。ファンクション定義以外の情報(解像度等)
は、コマンド[Get Media Info]で取得する。ファンクシ
ョンタイプFT2=“1” である。B/WLCD系フ
ァンクション定義ブロックは、例えば、表21に示すよ
うになる。
【0413】
【表21】
【0414】表21において、PT7〜PT0はLCD数
を表す。1個〜256個まで設定できる。LCD数=
(PT+1) [個]である。BB7〜BB0はブロック転送
1回のバイト数を表す。32バイト〜8192バイトま
で設定できる。1ブロックのバイト数=(BB+1)×3
2 [バイト]である。WA3〜WA0は1ブロックライト
のアクセス数を表す。1ブロックのデータを書き込むた
めには、何回アクセスしなければならないかを設定す
る。アクセス数は、1回〜15回まで設定できる。1ア
クセスのデータ量は、1ブロックの容量をアクセス数で
等分割した量である。アクセス数=WA [回]、1アク
セスの容量=1ブロックの容量/WA [バイト]、WA
=0は書き込みのアクセスがないことを示す。
【0415】H/Vは、LCDデータの並びが、横か縦
かを指定する。これを表22に示す。
【0416】
【表22】
【0417】表21において、B/Wは液晶ディスプレ
イがノーマリブラック(Normally Black)か、ノーマリ
ホワイト(Normally White)かを指定する。これを表2
3に示す。
【0418】
【表23】
【0419】その他のファンクション コントローラ系以外のファンクションのデータフォーマ
ットとファンクション定義ブロックの詳細内容について
は、各ファンクションの個別仕様書(図示せず)によっ
て定められる。
【0420】実際の周辺装置へのアクセス例 周辺装置への実際のアクセス方法の例について、以下に
説明する。
【0421】接続後の処理 (1) ホストは、基本デバイスから返信されたコマン
ド、デバイスステイタス[Device Status]に記述して
ある仕向地、製品名、ライセンス、動作電流等を確認
し、ホストの仕向地と整合の取れないもの、アプリケー
ションがサポートしていないもの、ハードウェアで動作
不可能なものなどを確認する。ホストは、基本デバイス
が不適格な場合、当該基本デバイスのハードリセット、
または、以後当該基本デバイスをアクセスしないような
処理を行う。
【0422】(2) ホストは、デバイスステイタス
[Device Status]に記述してあるデータから、基本デ
バイスのファンクションタイプを確認する。ホストは、
ファンクションタイプ設定ビットの上位から検索し、上
位3つまでのファンクション・ライブラリを呼び出す。
その後、ファンクションの定義ブロックから必要となる
データの準備を行う。
【0423】(3) ホストは、送信元APの値から、
拡張デバイスが接続されていることを判別した場合、そ
の拡張デバイスにデバイスリクエスト[Device Reques
t]を送信して、(1)からの処理を繰り返す。
【0424】ファンクションへのアクセス 接続後、ホストは周辺装置との通信に入り、周辺装置の
ファンクションへアクセスする。これをポートAに接続
されている周辺装置が標準(ゲーム)コントローラ(基
本デバイス)である場合を例にして説明する。
【0425】(1) ホストは、標準コントローラにデー
タを要求する。コマンドはゲットコンディション[Get
Condition]を使用する。このコマンドは、ファンクシ
ョンの物理的な状態を返すように指定するコマンドであ
る。ホストはゲームコントローラに対し、ボタンや、キ
ー、レバーの状態を要求する。コマンド送信の間隔は1
インターバル(INT)毎が望ましく、例えば、それより
早いアクセスは禁止される。ホストから周辺装置(コン
トローラ)に送信される送信データの例を表24に示
す。
【0426】
【表24】
【0427】(2) コントローラからデータフォーマ
ットに則ってデータがホストに返信される。コマンドは
データトランスファ[Data Transfer]が使用される。
周辺装置(コントローラ)からホストに送信されるデー
タの例を表25に示す。
【0428】
【表25】
【0429】ファンクションタイプは、ホストが送信し
たタイプがそのまま格納され、それに従って、リードフ
ォーマットが付加される。コントローラのリードフォー
マットは8バイトである。
【0430】例外処理 例外処理は、データ送受信をコマンドでコントロール出
来ない装置のために用意された、特別な処理である。代
表的なものは光線銃である。
【0431】光線銃(Light-GUN) (1) ホストは、周辺装置がシューティングゲームに
用いる光線銃や模擬銃のデバイスIDを持つことを認識
した場合は、光線銃を使用する時にMバスを通常モード
からSDCKB占有モードに切り換える。周辺装置側か
らモード切り換えは出来ない。ホストがSDCKB占有
パターン(図52参照)を送信し、ポートがSDCKB
占有モードになると、そのポートの全ての周辺装置がS
DCKB占有モードになり、SDCKB占有モードで動
作する周辺装置以外は動作しない。1つのポートに光線
銃のデバイスIDを持つ周辺装置が複数接続されている
場合は、ホストは、注意メッセージなどでユーザーに知
らせ、接続数を1つにするように表示や音声で案内す
る。 (2) MバスをSDCKB占有モードから戻すために
は、ホストが解除処理を行う。SDCKB占有モード終
了後は、すぐに通常モードになる。 (3) 光線銃の場合、1インターバル(INT)の画面書
き換えの時間の内、垂直ブランキング期間を除いた時
間、つまり、TV画面を描画している期間がSDCKB
占有モードとなる。画面を描画している期間が終わり、
ブランキング期間になった時、すぐに通常モードに切り
換えて、そのポートの他の周辺装置に対して、データの
送受信が行える。 (4) 光線銃の機能を実現する為には、受光素子をも
つ部分を1ファンクション(拡張デバイスでも可)と
し、トリガーや方向キー,アナログキーなどの部分を別
の1ファンクション(拡張デバイスでも可)とする。こ
うすることで、従来、光線銃を使用する時には方向キー
が使用できない、というような問題を克服できる。ま
た、光線銃が単体のファンクションとなるので、他の拡
張装置との接続も可能となる。 (5) SDCKB占有モード中は、タイムアウト(Tim
e Out)処理は行わない。
【0432】ホストの内部インターフェイス Mバスドライバとホスト用MIEとのインターフェイス
(図46、図63参照)を説明する。
【0433】ホストの内部インターフェイスの概要 図63に示すペリフェラルコントローラは、複数のレジ
スタによって構成されるレジスタセットをターゲット部
52a内に備えている。すなわち、ペリフェラルコント
ローラは、32ビットのDMAインストラクションテー
ブルアドレスレジスタ、DMAトリガセレクションレジ
スタ、DMAイネーブルレジスタ、DMAスタート/ス
テイタスレジスタ、システムコントロールレジスタ、ス
テイタスレジスタ、ハードトリガクリアレジスタ、ワー
クラムエリアプロテクションレジスタ等を含んで構成さ
れる。
【0434】以下、ホストのペリフェラルインターフェ
イスの基本動作を説明する。ペリフェラルコントローラ
は、V_BLANK信号に同期(システムコントロールレジス
タにより起動遅延設定可)し、DMAインストラクショ
ンテーブルアドレスレジスタで示されるワークRAM
(Work RAM)上の送信データを送信データFIFOへロ
ードする。ワークRAMはメインメモリ上の所定エリア
を割り当てることによっても構成できる。送信データ
は、インストラクション+受信データストアアドレス+
送出データ、により構成される。
【0435】インストラクションはペリフェラルコント
ローラへ与える命令であり、インストラクション終了、
出力ポート、送出データ長等を設定する。また、インス
トラクションが終了を示さない場合、送信データFIF
Oがエンプティになり次第、引き続きワークRAM上の
送信データを送信データFIFOへロードする(32バ
イト単位で行われる)。受信データストアアドレスには
受信データをストアする先頭アドレスを設定する。送出
データはアプリケーションプロトコルで支配される実際
に周辺装置に転送されるデータである(4バイト単
位)。周辺装置からの受信データは4バイト単位であ
り、受信データFIFOがフル(32バイト)になり次
第、受信データストアアドレスで示されるワークRAM
のエリアへ転送される。ただし、FIFOがフルでなく
ても受信が終了次第、強制的に32バイトとして転送す
る(有効データ+無効データ)。
【0436】また、周辺装置が未接続や、不具合等によ
りTime Out(例えば、1mSec)を起こした場合、3
2ビットのffff_ffffhが、そのインストラクションに対
応する先頭受信データストアアドレスに書き込まれる。
パリティエラーを起こした場合、32ビットのffff_ff0
0hが書き込まれる。一連の動作が終了した場合、ペリフ
ェラルコントローラは動作を停止し、DMAスタート/
ステイタスレジスタへ状態を反映する。
【0437】レジスタマップ DMAインストラクションテーブルアドレスレジスタ DMAインストラクションテーブルアドレスレジスタ
は、32ビットで構成されるリードライト可能レジスタ
である。構成要素は、ペリフェラルコントローラへの命
令(インストラクション)、受信データストアアドレ
ス、送信データ群の先頭アドレスを示すビット(Ct31
Ct5)である。
【0438】DMAトリガセレクションレジスタ DMAトリガセレクションレジスタは、32ビットで構
成されるリードライト可能なレジスタである。構成要素
は、送受信の起動トリガをソフトウェア起動とするか、
ハードウェア起動(Vブランクアウト)にするかの選択
ビット(Ts)である。
【0439】DMAイネーブルレジスタ DMAイネーブルレジスタは、32ビットで構成される
リードライト可能なレジスタである。構成要素は、送受
信のイネーブル、ディセーブルの選択ビット(Tn)で
ある。ソフトウェアトリガ時、本ビットをイネーブルに
し、DMAスタート/ステイタスレジスタで示すDMA
スタートビットを“1”にすることで送受信が開始され
る。ハードウェアトリガ時、本ビットをイネーブルにし
ハードトリガ(Vブランクアウト)が検出され次第、送
受信が開始される。また、イネーブル状態において'0'
を書き込むことにより強制終了することができる。
【0440】DMAスタート/ステイタスレジスタ DMAスタートレジスタは、32ビットで構成されるリ
ードライト可能なレジスタである。構成要素は、送受信
のソフトウェアスタートを行うビット(Ss)である。
また、リード時は送受信状態を示すステイタスとなる。
起動トリガにソフトウェアトリガを選択した時のみ'1'
の書き込みが有効となり、送信が開始される。
【0441】システムコントロールレジスタ システムコントロールレジスタは、32ビットで構成さ
れるリードライト可能なレジスタである。構成要素は、
周辺装置に対するデータ送出からのタイムアウト(Time
Out)設定ビット(To15〜To0)、ハードウェアトリガ
時Vブランクアウト毎に起動を行うか、クリアレジスタ
上のフラグをクリアするまで停止しているかの選択ビッ
ト(Si)、転送レートの設定ビット(Dc3〜Dc0)、ハ
ードウェア起動時の起動タイミングの設定(Vブランク
アウトからの遅延設定)ビット(Dt3〜Dt0)である。
タイムアウト設定時間は、設定時間 = 20ns ×To
15〜To0となる。例えば、300μs = 20 ns ×
3a98h で設定できる。Siは自動起動の反復設定ビ
ットである。同ビットが“0”のときは各インターバル
毎に行う。“1”のときはハードトリガクリアレジスタ
のフラグクリアまで、次の起動は行わない。Dc1〜Dc0
は、転送レート設定ビットを表す。
【0442】ステイタスレジスタ ステイタスレジスタは、32ビットで構成されるリード
専用レジスタである。構成要素は、ペリフェラルコント
ローラが動作中(送受信中)を示すビット(Do)、内
部ブロックのフレームカウンタをモニタするビット(F
m2〜Fm0)、内部ブロックのステートカウンタをモニタ
するビット(St5〜St0)、各ポートの入出力ラインを
モニタするビット(La3〜La0、Lb3〜Lb0)である。
このレジスタはハードウェアデバッグ用のレジスタであ
り、アプリケーションでは使用しない。
【0443】ハードトリガクリアレジスタ ハードトリガクリアレジスタは、32ビットで構成され
るライト専用レジスタである。このレジスタの構成要素
は、ペリフェラルコントローラのシングルハードウェア
自動起動停止の解除ビット(Tc)である。このビット
に“1”を書き込むことにより、自動停止がクリアされ
る。
【0444】ワークラムエリアプロテクションレジスタ ワークラムエリアプロテクションレジスタは、32ビッ
トで構成されるライト専用レジスタである。このレジス
タの構成要素は、16ビットの書き込みセキュリティコ
ード、受信データのストアアドレスの範囲先頭(H
a)、終了(Ta)アドレスを設定するビットである。
【0445】送信データアドレスカウンタレジスタ 送信データアドレスカウンタレジスタは、32ビットで
構成されるリード専用レジスタである。構成要素は、ペ
リフェラルコントローラが読み込むワークRAM(Work
RAM)上の送信データのアドレスポイントを示す。デバッ
グ用レジスタであるためアプリケーションでは使用しな
い。
【0446】受信データアドレスカウンタレジスタ 受信データアドレスカウンタレジスタは、32ビットで
構成されるリード専用レジスタである。構成要素は、ペ
リフェラルコントローラが書き込むワークRAM(Work
RAM)上の受信データのアドレスポイントを示す。デバッ
グ用レジスタであるためアプリケーションでは使用しな
い。
【0447】受信データベースアドレスレジスタ 受信データベースアドレスレジスタは、32ビットで構
成されるリード専用レジスタである。構成要素は、ペリ
フェラルコントローラが書き込むワークRAM上の受信
データの先頭アドレスを示す。デバッグ用であるためア
プリケーションでは使用しない。
【0448】送信データ 次に、送信データについて説明する。送信データは1つ
の単位を、インストラクション、受信データストアアド
レス、送出データで構成する。ワークRAM上に、イン
ストラクション+受信データストアアドレス+送出デー
タ+インストラクション+受信データストアアドレス+
送出データ… と配置すれば、ペリフェラルコントロー
ラは順次実行する。
【0449】インストラクション インストラクションは、ペリフェラルコントローラを制
御する為にアプリケーションプログラムから該コントロ
ーラに与えられる32ビットのデータである。構成要素
は、実効インストラクションの最終を示す最終ビット
(Ef)、送受信の対象となるアクティブポートの選択
ビット(Po1,Po0)、パターン選択ビット(Pn2
Pn0)、送出データ長選択ビット(Ln8〜Ln0)であ
る。ペリフェラルコントローラはEfビットに“1”を
検出した場合、このインストラクションで処理を終了す
る(送信データの最終コマンドは必ずEfビットを
“1”にしなければならない)。また、Efビットに
“0”を検出した場合、次のインストラクションを実行
する。パターン選択ビットに[START]を選んだ場
合、送出データを出力する。それ以外のパターン(SD
CKB占有許可、RESET、SDCKB占有解除)を
選択した場合、ポートには情報パターン出力のみで送出
データ長の指定は無効となる。SDCKB占有許可パタ
ーンを選択した場合、そのインストラクションのEfビ
ットは“1”にしなければならない。次のインストラク
ションの実行は、SDCKB占有解除パターン以外、す
べて無効となる。また、ペリフェラルコントローラはS
DCKB占有の間、SDCKBラインより入力されるネ
ガティブエッジをHVカウンタのラッチ信号として出力
する。送出データ長選択ビットLnは、例えば、4バイ
ト単位で1024バイトまで指定できる。
【0450】受信データストアアドレス 受信データストアアドレスは、受信データをストアする
為の先頭アドレスの設定ビット(Ra)である。
【0451】送出データ 送出データは実際に周辺装置へ送信されるデータであ
る。送出データのデータ長は上記インストラクションで
設定される送出データ長のサイズ分存在しなければなら
ない(32ビット単位)。
【0452】割り込みレジスタ 割り込み関連のレジスタは、本インタフェースには含ま
れない。本インターフェイスからは、割り込みブロック
へ6本の信号が接続されている。割込みが生じるのは、
例えば、送受信終了(DMA終了)の場合、送受信動作
(DMA)がVBLANK INにまたがっている場合、受信F
IFOがフル状態のときに、更に、受信FIFOにデー
タ書き込みを行おうとした場合、DMAインストラクシ
ョンテーブルアドレスのプロテクションエリア外設定及
び起動の場合、イリーガルインストラクションのフェッ
チの場合等である。
【0453】HVカウンタレジスタ ライトガン(Light-Gun)モードでのHVカウンタレジス
タは、本インタフェースには含まれない。本インターフ
ェイスからは、描画ブロックへHVラッチ信号が接続さ
れている。アプリケーションはV BLANK期間に描画ブロ
ックのHVカウンタ値を読む。
【0454】送受信シーケンス 次に、送受信シーケンスについて説明する。送受信シー
ケンスには、以下に説明する、通常シーケンスとSDC
KB占有手順とが含まれる。
【0455】通常シーケンス 通常シーケンスの一例を図61に示す。同図は、後に詳
細に説明される図63に示されるホストのCPU、ペリ
フェラルコントローラ、図64に示される周辺装置A及
びBのデータ送受の流れを示している。
【0456】図61において、ホストのCPUは、既述
APの確立によって各ポートへの周辺装置接続の有無と
各周辺装置の送信先APを知っている。そして、各周辺
装置へのデバイスリクエスト[Device Request]の送信
及びその返信によって各周辺装置の内容を把握してい
る。CPUは、例えば、アプリケーション等の要求に基
づいて周辺装置Aとのデータ通信を行うべく、DMA動
作のワークRAMに送信データを設定し、ペリフェラル
コントローラのターゲット部52a内のレジスタにイン
ストラクション等の各種設定を行う。また、例えば、周
辺装置Bとのデータ通信を行うべく、ワークRAMに送
信データを設定し、ペリフェラルコントローラのターゲ
ット部52a内のレジスタにインストラクション等の各
種設定を行う。このインストラクションはペリフェラル
コントローラへ与える命令であり、インストラクション
終了、出力ポート、送出データ長等を設定する。また、
インストラクションが終了を示さない場合、送信FIF
O53aがエンプティになり次第、引き続きワークRA
M上の送信データを送信FIFO53aへロードする。
ロードは、例えば、32バイト単位で行われる。
【0457】ペリフェラルコントローラは、例えば、供
給されるビデオ信号のVブランク(V BLANK)信号の立
ち上がり(ブランキング期間終了)に同期し、DMAイ
ンストラクションテーブルアドレスレジスタで示される
ワークRAM(Work RAM)上の送信データを送信FIF
O53aへロードする。なお、既述したように、システ
ムコントロールレジスタにより起動遅延設定が可能であ
る。ペリフェラルコントローラは、CPUが出力したイ
ンストラクション及びデータに基づいて図48に示すフ
レーム形式の送信データを形成し、この送信データを該
当ポートのMバスに送る。
【0458】周辺装置Aは、Mバス上のデータ信号を常
時監視している。送信データの送信先APが自己のアド
レス(AP)であることを確認すると、この送信データ
を取込む。周辺装置Aはコマンドに対応する処理を行
い、所定フレーム形式の返信データを作成してMバスに
送信する。
【0459】ペリフェラルコントローラは、周辺装置A
からのデータを受信すると、受信データを受信FIFO
56bに一旦取り込み、これをDMA動作のワークRA
Mに転送する。周辺装置からの受信データは、例えば、
4バイト単位であり、受信FIFO56bがフル(32
バイト)になり次第、受信データストアアドレスで示さ
れるワークRAMへ転送される。ただし、受信FIFO
56bがフルでなくても受信が終了次第、強制的に32
バイトとし転送する(有効データ+無効データ)。次
に、ワークRAMに残っている周辺装置Bに送信すべき
データを読み取って、送信データのFIFO53aに取
り込み、周辺装置Bへの送信データを形成する。これを
周辺装置Bが接続されているポートのMバスに送出す
る。
【0460】周辺装置Bも同様に、Mバス上のデータ信
号を常時監視している。送信データの送信先APが自己
のアドレス(AP)であることを確認すると、この送信
データを取込む。周辺装置Bはコマンドに対応する処理
を行い、所定フレーム形式の返信データを作成してMバ
スに送信する。
【0461】ペリフェラルコントローラは、周辺装置B
からのデータを受信すると、受信データを受信FIFO
56bに一旦取り込み、これをDMA動作のワークRA
Mに転送する。
【0462】CPUは、供給されるビデオ信号のVブラ
ンク(V BLANK)信号の立ち下がり(ブランキング期間
開始)に同期し、ペリフェラルコントローラからステイ
タスを読み取る。これにより、周辺装置からのデータの
存在を知る。ワークRAMの該当エリアから保存した受
信データを読み取る。このデータをアプリケーションに
返す。
【0463】このような手順を繰り返して、ホストと周
辺装置とのデータ通信が行われる。一連の動作が終了し
た場合、ペリフェラルコントローラは動作を停止し、D
MAスタート/ステイタスレジスタへ状態を反映する。
【0464】なお、周辺装置が未接続や、不具合等によ
りタイムアウト(例えば、1mSec)を起こした場
合、32ビットのffff_ffffhが、そのコマンドに対応す
る先頭受信データストアアドレスにペリフェラルコント
ローラによって書き込まれる。パリティエラーを起こし
た場合、32ビットのffff_ff00hが書き込まれる。CP
Uは、これに対応した処理を行う。
【0465】SDCKB占有手順(light-GUN) 次に、SDCKB占有手順について図62を参照して説
明する。SDCKB占有手順は、例えば、射撃ゲーム(s
hooting game)における周辺装置としての光線銃とホス
トとのデータ通信に使用される。
【0466】前述したように、CPUは、既述APの確
立によって各ポートへの周辺装置接続の有無と各周辺装
置の送信先APを知っている。そして、各周辺装置への
デバイスリクエスト(Device Request)の送信及びその返
信によって各周辺装置の内容を把握している。CPU
は、例えば、射撃ゲームアプリケーションの要求に基づ
いて光線銃とのデータ通信を行うべく、DMA動作でワ
ークRAMに送信データを設定し、ペリフェラルコント
ローラのターゲット部52内のレジスタにインストラク
ション等の各種設定を行う。
【0467】例えば、ガンゲームのアプリケーション
が、SDCKB占有をCPUに要求すると、CPUは、
ポートの動作を通常モードからSDCKB占有モードに
する。既述コマンドによって、選択ポート、SDCKB
占有許可、を含む送信データをワークRAMに書き込
む。DMAコマンドテーブルアドレスレジスタにワーク
RAM上のデータのアドレスを書き込む。
【0468】ペリフェラルコントローラは、例えば、供
給されるビデオ信号のVブランク(V BLANK)信号の立
ち上がり(ブランキング期間終了)に同期し、DMAコ
マンドテーブルアドレスレジスタで示されるワークRA
M(Work RAM)上の送信データを送信データFIFO5
3aへロードする。ペリフェラルコントローラは、ワー
クRAMからコマンド及びデータを読み出し、図52に
示す形式のSDCKB占有許可パターンの信号を形成
し、これを該当ポートのMバスに送る。
【0469】周辺装置Aは、Mバス上のデータ信号を常
時監視している。SDCKB占有許可パターンを受信す
ると、周辺装置Aは任意のタイミングで出力をMバスに
送出することが可能となる。使用者によって周辺装置A
(光線銃)が操作される(引き金が引かれる)と、周辺
装置A(光線銃)はトリガ信号をMバスに送出する。
【0470】ペリフェラルコントローラは、周辺装置A
からのトリガ信号のデータを受信すると、図示しないH
Vカウンタのラッチ信号を出力する。HVカウンタは、
テレビ画面上を走査する輝点の位置に対応する値を数え
る。ラッチされたHVカウンタ値により、周辺装置A
(光線銃)をトリガしたときの画面上の着弾位置を判別
可能である。
【0471】CPUは、周辺装置が光線銃の場合、供給
されるビデオ信号の1インターバルのテレビ画面描画期
間をSDCKB占有期間として割り当てる。そこで、描
画期間が終わってVブランク(V BLANK)信号が立ち下
がる(ブランキング期間開始)と、CPUは、SDCK
B占有モードを解除し、該当ポートの動作をSDCKB
占有モードから通常モードにする。このため、CPU
は、既述コマンドによって、選択ポート、SDCKB占
有解除、を含む送信データをワークRAMに書き込む。
DMAコマンドテーブルアドレスレジスタにワークスR
AM上のデータのアドレスを書き込む。
【0472】ペリフェラルコントローラは、直ちに、D
MAコマンドテーブルアドレスレジスタで示されるワー
クRAM(Work RAM)上の送信データを送信FIFOへ
ロードする。ペリフェラルコントローラは、ワークRA
Mからコマンド及びデータを読み出し、SDCKB占有
許可解除パターンの信号を形成し、これを該当ポートの
Mバスに送る。
【0473】周辺装置Aは、Mバス上のデータ信号を常
時監視している。SDCKB占有解除パターンを受信す
ると、周辺装置Aは出力のイネーブル状態を解除する。
【0474】このようにして、ビデオ信号の1インター
バルのうち、テレビを描画している期間はSDCKB占
有モードとなり、垂直ブランキング期間は、通常動作モ
ードとなる。従って、光線銃のようなランダムに出力を
発生する周辺装置を使用している場合にも、同じMバス
に接続された他の周辺装置を使用可能である。
【0475】レジスタ設定方法 レジスタ設定の一例について、ソフト起動とハード起動
(トリガ毎に自動起動)の場合について説明する。
【0476】ソフト起動では、以下の場合にレジスタの
所定値の設定を行う。 初期化 1.ワークRAM(Work RAM)エリアプロテクションレジス
タ設定 2.システムコントロールレジスタ設定 3.DMAトリガセレクションレジスタ設定 実行手順 4.ワークRAM(Work RAM)へのデータ設定(DMAコマ
ンドテーブル) 5.DMAコマンドテーブルアドレスレジスタ設定 6.DMAイネーブルレジスタ設定 7.DMAスタート/ステイタスレジスタ設定 終了確認 8.DMAスタート/ステイタスの確認 9.ワークRAMへ受信データ読み込み ハード起動(トリガ毎に自動起動)では、以下の場合に
レジスタへの所定値の設定を行う。
【0477】初期化 1.ワークラムエリアプロテクションレジスタ設定 2.システムコントロールレジスタ設定 3.DMAトリガセレクションレジスタ設定 実行手順 4.ワークRAM(Work RAM)へのデータ設定(DMAコマ
ンドテーブル) 5.DMAコマンドテーブルアドレスレジスタ設定 6.DMAイネーブルレジスタ設定 7.DMAスタート/ステイタスレジスタ設定 終了確認 8.DMAスタート/ステイタスの確認 9.ワークRAMへ受信データ読み込み ホストのMIEブロック図 図63は、ホストのペリフェラルコントローラ(MI
E)1hの概略構成(ペリフェラルコントローラ)を示
すブロック図である。同図において図21と対応する部
分には同一符号を付している。
【0478】図63において、イニシエータ部50は、
ペリフェラルコントローラ1hが動作状態になったとき
に、バスマスタとなってワークRAMにアクセスする役
割を果たす。周辺装置に送信すべきデータのワークRA
Mからの読み出しや、周辺装置から受信したデータのワ
ークRAMへの書き込み等を行う。クロックディバイダ
51は、送信データのビットレート(転送レート)選択
用のクロック分周回路である。ターゲット部52aは、
ルートバス上でターゲットとして動作するブロックであ
り、ホストのCPUによって32ビットでリード/ライ
トされる前述したレジスタ群で構成される。主に、イン
ストラクション等が書き込まれる。送信データテンポラ
リレジスタ53bは、32バイトの送信データFIFO
53aからの送信用データ32ビットを保持しておく為
のレジスタである。送信データFIFO53aは、送信
データを一時保持する32バイトのFIFO(Firtst In
First Out)、すなわち、先入れ先出し動作のレジスタ
である。受信データFIFO56bは、32バイトの受
信データFIFOである。受信データテンポラリレジス
タ56aは、受信データ32ビットを保持しておく為の
レジスタである。データの受信完了次第、受信データを
受信データFIFO56bへ書き込む。インターラプト
信号制御部54は、インターラプト(割り込み処理)部
へ送る1クロックパルスのインタラプト(割り込み)信
号を一定の条件下に発生する。フレームコントローラ5
8は、インストラクション等に基づいて送信フレーム
(スタートパターン、データパターン、エンドパターン
等)をコントロールするブロックである。フレームエン
コーダ59は、フレームパターンを作成するブロックで
ある。オルタネイトシフトレジスタ(パラレル/シリア
ル)60は、パラレル送信データを交互に2本のシリア
ルラインに変換する回路である。また、オルタネイトシ
フトレジスタ60は、送信データのパリティ計算を行
い、送信データの最後にパリティデータ(例えば、1バ
イトのパリティビット)を付加する。フレームデコーダ
61は、受信信号のフレームを解析する回路である。オ
ルタネイトシフトレジスタ(シリアル/パラレル)62
は、2本のシリアルラインから交互に来るデータを、パ
ラレルデータに変換する回路である。また、オルタネイ
トシフトレジスタ62は、受信データのパリティ計算を
行う。その計算結果と、受信したパリティデータとを照
合してエラーの有無を判別する。エラーがあると、イン
タラプト信号制御部54を介してCPUのインタラプト
コントローラにエラーを知らせる。これにより、CPU
は再送指令等のエラー処理を行うことが出来る。HVラ
ッチ信号コントローラ63は、シリアルラインからのH
Vラッチ信号を描画プロセッサ部(ビデオ信号形成部)
1fのHVカウンタへ渡す回路である。ポートコントロ
ーラ57は、送受信の対象となるアクティブポートをコ
ントロールする。すなわち、インストラクションによっ
て選択された送信ポートの3ステートバッファ68aか
ら68hを制御して、セレクタ64及び65の各出力S
DCKA及びSDCKBを選択ポートに導出する。セレ
クタ64は、フレームコントローラ58によって制御さ
れ、フレームエンコーダ59の出力またはオルタネイト
シフトレジスタ60の出力を選択してSDCKA信号を
形成し、選択された3ステートバッファ68を介してM
バスラインに出力する。セレクタ65は、フレームコン
トローラ58によって制御され、フレームエンコーダ5
9の出力またはオルタネイトシフトレジスタ60の出力
を選択してSDCKB信号を形成し、選択された3ステ
ートバッファ68を介してMバスラインに出力する。セ
レクタ66は、ポートコントローラ57の指令に従って
受信ポートを選択し、バッファアンプ69を経た受信信
号SDCKAをフレームデコーダ61及びオルタネイト
シフトレジスタ62に供給する。セレクタ67は、ポー
トコントローラ57の指令に従って受信ポートを選択
し、バッファアンプ69を経た受信信号SDCKBをフ
レームデコーダ61及びオルタネイトシフトレジスタ6
2に供給する。
【0479】周辺装置の内部インターフェイス 図64は、周辺装置としての基本デバイスの回路構成を
概略的に示すブロック回路図である。また、図65は、
図64に示されるソケットコントロール部203及び通
信処理部204のインタフェース(基本デバイス用MI
E)をより詳細に説明するブロック回路図である。これ
等の例では、説明(作図)の便宜上、外部拡張ソケット
は2つだけが描かれているが実際には、既述したよう
に、4つの外部拡張ソケットを備えることができる。
【0480】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及びSDCK
Bに接続する。従って、ホスト1からMバスを見ると、
等価的には、Mバスに複数の周辺装置(基本デバイス、
拡張デバイス)が並列に接続されているように見える。
通信処理ブロック204は、受信データのデコード、C
PUの出力データのエンコード等を行う。CPUブロッ
ク201〜通信処理ブロック204は、1チップ集積回
路構成とすることが可能である。
【0481】通信処理部204は、ホスト1から受信し
たフレームの復調、CPU部201の出力した送信デー
タのフレーム化(デコード)の役割を担っている。通信
処理部204はソケットコントロール部203と共に、
MIE(入出力インタフェース)の主要部分を構成す
る。
【0482】ホストがMバスに出力したSDCKA信号
(下り信号)は、バッファアンプ212aを介して通信
処理部204に供給される。また、バッファアンプ21
2aを経たSDCKA信号は、それぞれ3ステートバッ
ファ215a及び215bを介して、SDCKADS−
1信号及びSDCKADS−2信号として、LMバス1
及び2に供給される。
【0483】ホストがMバスに出力したSDCKB信号
(下り信号)は、バッファアンプ212bを介して通信
処理部204に供給される。また、バッファアンプ21
2bを経たSDCKB信号は、それぞれ3ステートバッ
ファ216a及び216bを介して、SDCKBDS−
1信号及びSDCKBDS−2信号として、LMバス1
及び2に供給される。
【0484】一方、デバイスの通信処理部204が出力
するホスト(上流)に向けてのSDCKA信号は、オア
ゲート214a(の第1入力端子)及び3ステートバッ
ファ211aを経てMバスのデータ線SDCKAに出力
され、ホストのMIEによって受信される。また、通信
処理部204が出力するホストに向けてのSDCKB信
号は、オアゲート214b(の第1入力端子)及び3ス
テートバッファ211bを経てMバスのデータ線SDC
KBに出力され、ホストのMIEによって受信される。
通信処理部204がSDCKA信号及びSDCKB信号
を送出する際には、オアゲート213a(の第1入力端
子)を介して3ステートバッファ211aの制御端子に
イネーブル信号を与えてゲート211aを開放(導通)
させ、また、オアゲート213b(の第1入力端子)を
介して3ステートバッファ211bの制御端子にイネー
ブル信号を与えてゲート211bを開放させる。3入力
オアゲート213a及び213bの各入力端子は抵抗を
介して接地される。入力端子に信号入力がない場合には
当該入力端子は接地レベルに保持される。また、32入
力オアゲート214a及び214bの各入力端子は抵抗
を介して電源Vccに接続される。このため、信号入力の
ない入力端子は「H」レベルに保持される。
【0485】第1の拡張デバイスがLMバス1に出力し
たSDCKA信号は、拡張ソケット1の端子SDCKA
US−1を介してオアゲート214a(の第2入力端
子)及び3ステートバッファ211aを経てMバスのデ
ータ線SDCKAに出力される。第1の拡張デバイスが
LMバス1に出力したSDCKB信号は、拡張ソケット
1の端子SDCKBUS−1を介してオアゲート214
b(の第2入力端子)及び3ステートバッファ211b
を経てMバスのデータ線SDCKBに出力される。第1
の拡張デバイスがSDCKA信号及びSDCKB信号を
送出する際には、第1の拡張デバイスは、LMバス1の
信号線SDCKAEN1、オアゲート213a(の第2
入力端子)を介して3ステートバッファ211aの制御
端子にイネーブル信号を与えてゲート211aを開放さ
せる。また、LMバス1の信号線SDCKBEN1、オ
アゲート213b(の第2入力端子)を介して3ステー
トバッファ211bにイネーブル信号を与えてゲート2
11bを開放させる。
【0486】同様に、第2の拡張デバイスがLMバスに
出力したSDCKA信号は、拡張ソケット2の端子SD
CKAUS−2を介してオアゲート214a(の第3入
力端子)及び3ステートバッファ211aを経てMバス
のデータ線SDCKAに出力される。第2の拡張デバイ
スがLMバスに出力したSDCKB信号は、拡張ソケッ
ト2の端子SDCKBUS−2を介してオアゲート21
4b(の第3入力端子)及び3ステートバッファ211
bを経てMバスのデータ線SDCKBに出力される。第
2の拡張デバイスがSDCKA信号及びSDCKB信号
を送出する際には、第2の拡張デバイスは、LMバス2
の信号線SDCKAEN2、オアゲート213a(の第
3入力端子)を介して3ステートバッファ211aの制
御端子にイネーブル信号を与えてゲート211aを開放
させる。また、LMバス2の信号線SDCKBEN2、
オアゲート213b(の第3入力端子)を介して3ステ
ートバッファ211bの制御端子にイネーブル信号を与
えてゲート211bを開放させる。
【0487】基本デバイスの動作電源は、ホスト1から
Mバスの電源線Vcc及びGNDを介して供給される。拡
張デバイスの動作電源は、基本デバイスからLMバスの
電源線Vcc及びGNDを介して供給される。
【0488】図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バスのデータ線SDCK
A及びSDCKBと、LMバスのデータ線SDCKAD
S及びSDCKBDSとをそれぞれ接続する。LMバス
コントローラ203aは、他部の動作とは独立して、拡
張コネクタバスの活性化を制御することが出来るが、こ
れにCPUの判断を介在させることも出来る。すなわ
ち、LMバスコントローラ203aが拡張デバイスの接
続を検出し、検出出力をコントロールレジスタ204a
に設定する。CPU201は、コントロールレジスタ2
04aを監視することによってLMバスへの拡張デバイ
スの接続を知る。CPU201は、拡張デバイスの接続
を許容する場合に、該当LMバスの接続を指令するフラ
グLMCをコントロールレジスタ204aに設定する。
LMバスコントローラ203aは、フラグLMCに対応
するLMバスの3ステートバッファ215、216を開
放(導通)させる。このような動作によって、図47に
示したように、基本デバイスに拡張デバイスが接続され
ると、基本デバイスが拡張デバイスの接続を自動的に認
識し、拡張デバイスをMバスに接続する。
【0489】通信処理部204は、コントロールレジス
タ204a、パリティレジスタ204b、フレームコン
トローラ204c、ラインモニタ204d、フレームエ
ンコーダ204e、オルタネイトシフトレジスタP/S
204f、テンポラリレジスタ204g、フレームデコ
ーダ204h、オルタネイトシフトレジスタS/P20
4i、送受信バッファ204j、データ長レジスタ20
4kを含んで構成される。
【0490】コントロールレジスタ204aは、データ
の送受信を制御するための各種フラグ等を保持するレジ
スタである。各種フラグについては後に表26を参照し
て説明される。パリティレジスタ204bは、シリアル
/パラレル、パラレル/シリアル変換に係る計算及びパ
リティ計算用のダブルバッファである。送受信バッファ
204jは、データの送受信の際に使用するデータの格
納用レジスタである。フレームコントローラ204c
は、コントロールレジスタ204aの各種フラグを監視
してフレームの送受信の制御を行う。また、スタートパ
ターン、エンドパターン、SDCKB占有パターン、リ
セットパターン等の検出に対応して、該当するフラグを
コントロールレジスタ204aに設定する。フレームエ
ンコーダ204eは、データにパターン部を付加してフ
レームの生成を行う。オルタネイティブシフトレジスタ
P/S204fは、パラレルデータをシリアルデータに
変換するパラレル/シリアル変換を行う。ラインモニタ
204dは、SDCKA、SDCKB信号線をモニタす
る。データ長レジスタ204kは、送信時の送信データ
量を指定するレジスタである。
【0491】周辺装置のCPU部201から見たMIE
とのインターフェイスは、21個のコントロールフラグ
(CFLAG)とデータ長レジスタ(LREG)204k、及び
最大1024バイトの送受信バッファ(TRBF)204j
によって構成される。送受信バッファはデバイスに対応
して容量が最適化される。
【0492】上記構成による、MIEコントローラ(C
PU201)と基本デバイス用MIE(ソケットコント
ロール203、通信処理204)とのインターフェイス
を説明する。
【0493】ホストからデータ線SDCKA及びSDC
KBを介して送信されたフレームデータは、フレームデ
コーダ204hに受信される。フレームデコーダ204
hは、SDCKA及びSDCKB信号からフレームデー
タを復調し、フレームデータからパターン部分とデータ
部分とを分離する。フレームデコーダ204hは、スタ
ートパターン、エンドパターン、SDCKB占有パター
ン、リセットパターン等のパターン部分を検出すると、
そのパターン部分の検出情報がフレームコントロールコ
ントローラ204cに送られる。フレームコントローラ
204cは、受信を制御すると共に、パターン検出に対
応してコントロールレジスタにフラグを設定する。この
フラグには、受信フラグRXB、受信完了フラグRF
B、SDCKB占有モードフラグPOS、リセットパタ
ーン受信フラグHRESが含まれる。
【0494】分離されたデータ部分は、オルタネイトシ
フトレジスタ204iに送られる。シフトレジスタ20
4iは、データのシリアル/パラレル変換機能を有し、
分離したシリアルデータをパラレルデータに変換してテ
ンポラリレジスタ204gに送る。テンポラリレジスタ
204gは、受信データのパリティチェックの計算を行
う。また、受信データのパリティビット部分を抽出して
パリティレジスタ204bに保持する。パリティチェッ
クの結果とパリティレジスタ204bのパリティビット
を比較してエラーを検出すると、コントロールレジスタ
204aにパリティエラーフラグPERRが設定され
る。エラーチェックされたデータは、送受信バッファ2
04jに格納される。受信データの量が送受信バッファ
204jの容量を超えると、コントロールレジスタ20
4aにバッファオーバーフローフラグBFOVを設定す
る。あふれたデータは送受信バッファ204jには格納
されない。受信が完了すると、コントロールレジスタ2
04aに受信完了フラグRFBが設定される。CPU2
01はコントロールレジスタ204aの内容をモニタし
ており、受信完了フラグRFBの設定に対応して送受信
バッファ204jに格納された受信データを読み出す。
【0495】CPU201がデータを送信するときは、
送信データを送受信バッファに格納し、データ長レジス
タ204kに送信データ量を書き込む。CPU201
は、コントロールレジスタ204aに送信フラグTX
B、エンドパターン送出フラグENP(後続の送信デー
タがない場合)を設定する。送受信バッファ204jの
送信データは、テンポラリレジスタ204gに送られ、
パリティ計算が行われる。テンポラリレジスタ204g
は、パリティ計算の結果を1バイトのパリティビットと
して保持し、送信データの最後に付加する。送信データ
は、テンポラリレジスタ204gからオルタネイトシフ
トレジスタ204fに供給され、シリアルデータに変換
され、フレームエンコーダ204eに供給される。フレ
ームエンコーダ204eは、送信データ及びパリティデ
ータの前後にそれぞれスタートパターン及びエンドパタ
ーンを付加して送信フレームを形成する。フレームコン
トローラ204cは、オアゲート213a及び213b
を介してそれぞれ3ステートバッファ211a及び21
1bを開放する。送信フレームは、フレームエンコーダ
204eによってSDCKA信号及びSDCKB信号に
エンコードされる。SDCKA信号及びSDCKB信号
は、それぞれMバスのデータ線SDCKA及びデータ線
SDCKBに出力される。
【0496】ラインモニタ204dは、データ線SDC
KA及びデータ線SDCKBを常に監視している。この
結果(信号の有無)をコントロールレジスタ204aに
SDCKAラインモニタフラグ及びSDCKBラインモ
ニタフラグとして設定する。CPU201は、これ等の
フラグを参照してホストから送られるデータのタイムア
ウトを調べることが出来る。
【0497】図62に示すように、拡張デバイスのMI
Eは基本デバイスのMIEと同様に構成されるが、ソケ
ットコントロール部は備えていない。同図のサポート機
能部は基本デバイスの入力手段とI/O部202に相当
する部分で、例えば、LCD表示器、音声出力カートリ
ッジ、音声入力カートリッジ、光線銃カートリッジ、振
動カートリッジ、メモリカートリッジ等の個性化された
機能を担う部分である。CPU部301及び通信処理部
304はそれぞれデバイスのCPU部201及び通信処
理部204に対応する。
【0498】次に、上述した、基本デバイス(あるいは
拡張デバイス)のMIE内に設けられたコントロールレ
ジスタ204a、データ長レジスタ204k及び送受信
バァッファ(TRBF)の構成について説明する。
【0499】各種のコントロールフラグ(CFLAG)を含
むコントロールレジスタ204aの構成を表26に示
す。コントロールフラグは、データの送信と受信を制御
するための、21個のフラグによって構成される。どの
フラグを使用してレジスタを構成するかは、周辺装置の
種類によって異なる。
【0500】
【表26】
【0501】同表において、R/Wは、読み込み/書き
込み可能であることを示す。Rは、読み出しのみ可能で
あることを示す。Iniは、初期設定を表す。HRESは
リセットパターン受信フラグを示す。リセットパターン
受信フラグHRESはリセットパターンを受信すると
“1”になり、MIEコントローラの初期化を促す。T
XBは送信フラグである。送信あるいは受信中にTXB
に書き込みを行うと、その場合のデータの内容は保証さ
れない。CTXBはコンティニュー送信フラグである。
送受信バッファ204jの容量を超えて送信する場合
は、続きのデータを送受信バッファ204jに格納後、
送信フラグTXBではなくコンティニュー送信フラグC
TXBで送信する。TFBは送信完了フラグである。B
FOVは送受信バッファオーバーフローフラグである。
オーバーフローフラグBFOVは受信開始時と送信開始
時に“0”クリアされる。送受信バッファ204jがオ
ーバーフローを起こすと、オーバーフローフラグBFO
Vが“1”にセットされる。RFBは、受信完了フラグ
である。ENDPはエンドパターン送出フラグである。
送信データにエンドパターンを付加する場合には、EN
DP=“1”にセットする。RXBは受信フラグであ
る。受信フラグRXBはデータ受信時に変化する。EM
Pは、エンプティフラグである。送信時に送受信バッフ
ァ204jに送信するデータが無くなる(空になる)
と、エンプティフラグEMPが“1”にセットされる。
PERRはパリティエラーフラグである。パリティエラ
ーフラグPERRは受信したフレームのパリティが不一
致の時に“1”にセットされ、正常の時に“0”にクリ
アされる。POSは、SDCKB占有モードフラグであ
る。SDCKB占有モードフラグPOSは、Mバスが通
常モード(POS=“0”)であるかSDCKB占有モ
ード(POS=“1”)であるかを示す。SDAMは、
SDCKAラインモニタフラグ(基本デバイスのみに設
けられる)である。SDBMは、SDCKBラインモニ
タフラグ(基本デバイスのみに設けられる)である。S
DAM,SDBMはそれぞれデータ線SDCKA,SD
CKBのラインの状態を示す。LMC1〜4は、LMバ
ス1〜4の接続フラグ(基本デバイスのみに設けられ
る)である。フラグLMC1〜4は、LMバス1〜4の接
続(=“1”),切断(=“0”)を指示する。LMM
1〜4は、LMバス1〜4接続モニタフラグ(基本デバ
イスのみに設けられる)である。フラグLMM1〜4は
LMバス1〜4の使用状態を示す。MIEコントローラ
は、フラグSDAM、SDBMをチェックしてホストか
ら来るデータのタイムアウトを調べる。タイムアウト処
理は基本デバイスのみが行い、拡張デバイスは行わな
い。
【0502】データ長レジスタ(LREG) データ長レジスタの構成を表27に示す。データ長レジ
スタは、送信時の1フレームのサイズを指定する為の、1
バイトのレジスタである。
【0503】
【表27】
【0504】同表において、R/Wは、読み込み/書き
込みの両方が可能であることを示す。初期状態では、全
てのビット(bit)は不定である。Lnは、データ長を表
す。 00h≦Ln≦FFh である。Lnの値とデータ長の対応
関係を表28に示す。
【0505】
【表28】
【0506】データの送受信中及び受信後はデータ長レ
ジスタ(LREG)の値は不定である。データ長は、4バイト
単位で指定することができる。
【0507】次に、データバッファについて説明する。
データのバッファとして上述した送受信バッファ(TRB
F)204jが使用される。送受信バッファ204j
は、1フレームの送信データと受信データを格納するバ
ッファ領域である。容量は最小4バイトから4バイト単
位で最大1024バイトまでである。容量は周辺装置毎
に最適化される。送信と受信で共通したバッファを持
ち、その中でコマンドコード,送信先AP,送信元A
P,データサイズとデータの領域に分けて使用する。
【0508】送受信バッファの構成を表29に示す。同
表において、R/Wは、読み込み/書き込みの両方が可
能であることを示す。初期状態では、バッファの内容は
不定である。同表の第一番目のデータ(1st Data)から
順に送信され、受信データは第一番目のデータ記憶領域
から順に書き込まれる。なお、1st Data〜4st Data部
分は格納すべきデータが決められている領域である。
【0509】
【表29】
【0510】同表において、第1のデータ部分(1st D
ata)は、コマンドコードを格納するための領域であ
る。第2のデータ部分(2nd Data)は、送信先APの
値を格納するための領域である。第3のデータ部分(3
rd Data)は、送信元APの値を格納するための領域で
ある。第4のデータ部分(4th Data)は、データのサ
イズを格納するための領域である。第4のデータD4
(D40〜D47)の値が“00h”の時は、データ無しを意
味する。第5のデータ部分(5th Data)以降は、パラ
メータのデータを格納するための領域である。データサ
イズで指定されたバイト数だけ、データを格納する。デ
ータサイズ以降のデータ領域の内容は不定である。
【0511】ホストのMIEと基本デバイスのMIEと
のデータ伝送手順 上述した構成のホストのMIEと基本デバイスのMIE
によるデータ受信及びデータ通信について説明する。な
お、拡張デバイスにおいても同様のデータ電送手順であ
るので、ホストのMIEと拡張デバイスのMIEとのデ
ータ伝送手順については説明を省略する。
【0512】データ受信手順 まず、基本デバイスのデータ受信手順の概略について説
明する。データの受信はホスト及び基本デバイスの各M
IEが自動的に行う。ホストからデータ信号が送出さ
れ、基本デバイスの受信が始まると、MIEによって送
信フラグTXB、送信完了フラグTFB、受信完了フラ
グRFBが“0”にクリアされる。受信フラグRXB
が、“1”の時はMIEがデータ受信中を示し、RXB
が“0”の時は受信終了を示す。データの受信が正常に
完了し、データが送受信バッファ(TRBF)に、パリ
ティエラーの状態がパリティエラーフラグPERRに格
納されると、受信完了フラグRFBが“1”にセットさ
れ(割込処理の場合はここで受信割込が発生する)、受
信処理が終了する。受信フラグRXBと受信完了フラグ
RFBが両方共“1”である場合は、受信にエラーが生
じたことを示す。また、受信データが送受信バッファの
容量を超えた場合は、送受信バッファオーバーフローフ
ラグBFOVが“1”にセットされ、受信開始から送受
信バッファの容量分までの受信データが、送受信バッフ
ァに格納される。フレームデータのパリティが不一致の
場合はPERRが“1”にセットされ、正常の場合は
“0”にクリアされる。
【0513】図67は、ホストからデバイス(周辺装
置)への送信データの容量が送受信バッファ204jの
容量を超えない場合のデバイス側のMIEのデータ受信
を説明する図である。
【0514】まず、ホスト側で送信すべき送信データが
ワークRAM1eに形成され、ホストのMIEがこのデ
ータを含むフレームデータを形成してMバスに送信を開
始する。デバイスのMIEは、フレームデータを受信
し、フレームデコーダ204hでデコードする。フレー
ムデータのデータ部分(データパーターン)及びパリテ
ィデータは、オルタネイトシフトレジスタ204iで直
並列変換され、テンポラリレジスタ204gでパリティ
チェック(パリティ計算)される。チェックされたデー
タ部分は、送受信バッファ204kに格納され、パリテ
ィデータはパリティレジスタ204bに格納される。
【0515】フレームコントローラ204cは、フレー
ムデコーダ204hがフレームデータのスタートパター
ンを検出すると、コントロールレジスタ204aの送信
フラグTXB、送信完了フラグTFB、受信完了フラグ
RFBを“0”にクリアする。既述のように、受信フラ
グRXBが“1”のときは、MIEがデータ受信中であ
ることを示し、受信フラグRXBが“0”のときは受信
終了を示す。CPU部201は、受信フラグRXBが
“1”であることを読み取ってデータを受信しているこ
とを判別する。また、CPU部201は、フラグSDA
M及びSDBMをチェックすることにより、データ線S
DCKA及びSDCKBの使用をモニタすることが出来
る。フレームコントローラ204cは、フレームデコー
ダ204hがフレームデータのエンドパターンを検出す
ると、受信終了を判別し、受信フラグRXBを“0”に
設定する。
【0516】パリティレジスタ部204bは、受信デー
タのパリティチェックの結果と受信したパリティデータ
とを比較し、パリティエラーの有無を判断する。エラー
の有無をコントロールレジスタ204aのパリティエラ
ーフラグPERRに書き込む。フレームデータの受信が
正常に完了し、データが送受信バッファ204jに、パ
リティエラーの状態がコントロールレジスタ204aの
パリティエラーフラグPERRに格納されると、受信完
了フラグRFBが“1”にセットされ、受信処理が終了
する。受信完了フラグRFBは、CPU部201への割
込み信号とすることが出来る。
【0517】CPU部201は、定期的に受信完了フラ
グRFBを監視し、あるいは受信完了フラグRFBが
“1”にセットされたことによる割り込み信号を受ける
と、受信データを処理するプログラムを実行する。ま
ず、コントロールレジスタ204aのパリティエラーフ
ラグPERRがエラーの存在を示していないことを確認
する。次に、送受信バッファ204jから受信データを
CPU部201内のメインメモリに取り込む。そして、
ホストから送信されたコマンド、パラメータに対応する
処理を行い、返信データ等の形成処理などを行う。
【0518】なお、受信フラグRXBと受信完了フラグ
RFBが両方共“1”である場合は、本来両立しない状
態であるので、CPUは受信にエラーが生じたことを判
別し、対応する処理を行う。また、CPU部201は、
パリティエラーフラグPERRがエラーの存在を示す場
合、例えば、ホストに対して再送信要求のコマンドを送
信する処理を行う。
【0519】図68は、ホストから基本デバイス(周辺
装置)への送信データの容量が送受信バッファTRBF
の容量を超える場合の基本デバイス側のMIEのデータ
受信を説明する図である。受信データが送受信バッファ
204jの容量を超えた場合は、送受信バッファオーバ
ーフローフラグBFOVが“1”にセットされ、受信デ
ータは受信開始から送受信バッファの容量分までが、送
受信バッファに格納される。この場合の動作について説
明する。
【0520】まず、図67の場合と同様に、ホスト側で
送信すべき送信データがワークRAM1eに形成され、
ホストのMIEがこのデータを含むフレームデータを形
成してMバスに送信を開始する。基本デバイスのMIE
は、フレームデータを受信し、フレームデコーダ204
hでデコードする。フレームデータのデータ部分(デー
タパーターン)及びパリティデータは、オルタネイトシ
フトレジスタ204iで直並列変換され、テンポラリレ
ジスタ204gでパリティチェック(パリティ計算)さ
れる。チェックされたデータ部分は、送受信バッファ2
04jに格納され、パリティデータはパリティレジスタ
204bに格納される。
【0521】フレームコントローラ204cは、フレー
ムデコーダ204hがフレームデータのスタートパター
ンを検出すると、コントロールレジスタ204aの送信
フラグTXB、送信完了フラグTFB、受信完了フラグ
RFBを“0”にクリアする。既述のように、受信フラ
グRXBが“1”のときは、MIEがデータ受信中であ
ることを示し、受信フラグRXBが“0”のときは受信
終了を示す。CPU部201は、受信フラグRXBが
“1”であることを読み取ってデータを受信しているこ
とを判別する。また、CPU部201は、フラグSDA
M及びSDBMをチェックすることにより、データ線S
DCKA及びSDCKBの使用をモニタすることが出来
る。
【0522】送受信バッファ204jは、受信データが
送受信バッファ204jの容量を超えると、コントロー
ルレジスタの送受信バッファオーバーフローフラグBF
OVを“1”にセットする。これは、例えば、送受信バ
ッファ204j内蔵のアドレスカウンタがメモリの最大
アドレス値となったときに検出出力を発生することによ
り、オーバーフローを検出することが可能である。受信
データの量が送受信バッファ204jの容量を超えた後
も、受信データはテンポラリレジスタを経由して送受信
バッファに供給されるが、送受信バッファはデータを取
り込まない。従って、パリティ計算のみが全データにつ
いて行われる。受信データのパリティデータ部分は、パ
リティレジスタに格納される。
【0523】フレームコントローラ204cは、フレー
ムデコーダ204hがフレームデータのエンドパターン
を検出すると、受信終了を判別し、受信フラグRXBを
“0”に設定する。
【0524】パリティレジスタ部204bは、受信デー
タのパリティチェックの結果と受信したパリティデータ
とを比較し、パリティエラーの有無を判断する。エラー
の有無をコントロールレジスタ204aのパリティエラ
ーフラグPERRに書き込む。データが送受信バッファ
204jに、パリティエラーの状態がコントロールレジ
スタ204aのパリティエラーフラグPERRに設定さ
れると、受信完了フラグRFBが“1”にセットされ、
受信処理が終了する。受信完了フラグRFBは、CPU
部201への割込み信号とすることが出来る。
【0525】CPU部201は、定期的にコントロール
レジスタの受信完了フラグRFBを監視することによ
り、あるいは受信完了フラグRFBが“1”にセットさ
れたことによる割り込み信号を受けることにより、受信
データを処理するプログラムを実行すべきであることを
知る。また、コントロールレジスタ204aのパリティ
エラーフラグPERRがエラーの存在を示していないこ
とを確認する。更に、送受信バッファオーバーフローフ
ラグBFOVが“1”にセットされていることを確認す
る。CPU部201は、途中までのデータであることを
知った上で送受信バッファ204jから受信データをC
PU部201内のメインメモリに取り込む。そして、該
当する処理を行う。
【0526】データ送信方法 次に、基本デバイスからホストへのデータの送信手順に
ついて図69を参照して説明する。なお、拡張デバイス
からホストへのデータ伝送手順は基本デバイスからホス
トへのデータ伝送手順と同様であるのでその説明は省略
する。
【0527】基本デバイスは、ホストからコマンドを受
けると、これに応答するべく返信データを形成し、これ
をホストに送信する。既述のように、ホストは、コマン
ド送信後予め定められた時間(例えば、1.0ms)以
内に応答がない場合は未接続とする。従って、基本デバ
イスは、この期間中にコマンドを返信しなければならな
い。
【0528】まず、基本デバイスのCPU部201は、
送受信バッファ204jに送信データ(コマンド、パラ
メータ)を書き込む。その後、データ長レジスタ204
kに送信データのデータ量を書き込み、コントロールレ
ジスタのエンドパターンフラグENDPを“1”に設定
する。
【0529】CPU部201が、コントロールレジスタ
204aの送信フラグTXBを“1”に設定すると、M
IEは、データ長レジスタで指定されたサイズのデータ
を送信するべく送信動作を開始する。送信フラグTXB
が“1”に設定されると、コントロールレジスタの20
4aの受信フラグRXB、受信完了フラグRFB、送信
完了フラグTFB、送受信バッファオーバーフローフラ
グBFOVは、“0”に設定(クリア)される。なお、
データ長レジスタ204kに設定されたデータ量が送受
信バッファ204jの容量を超えるとき、送受信バッフ
ァオーバーフローフラグBFOVは“1”になり、送受
信バッファ204jの全データを送信する。
【0530】フレームコントローラ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は、送信中を示す送信フラグTX
Bと送信完了フラグTFBが共に“1”の場合、エラー
が生じていること判別する。
【0531】一方、ホストのMIEは、基本デバイスか
ら送信されたフレームデータを受信する。フレームデコ
ーダ61がデータのスタートパターンを検出すると、イ
ンタラプト信号制御部54を介してホストのCPU1a
のインタラプトコントローラに信号が送られ、データの
受信がCPUに知らされる。受信データは、オルタネイ
トシフトレジスタ62によって直並列変換され、受信デ
ータテンポラリレジスタ56a、受信データFIFO5
6bを経て、イニシエータ部50からワークRAM1e
に送られる。ワークRAM1e上の受信データの格納場
所は、CPU1aによって予め指定された受信データス
トアアドレスを先頭位置とする。フレームデコーダ61
がエンドパターンを検出すると受信は終了し、インタラ
プト信号制御部54から受信完了を示す信号がインタラ
プトコントローラに送られる。これにより、CPUは受
信完了を知り、ワークRAM1e上の受信データにアク
セスして処理を行うことが出来る。
【0532】次に、基本デバイスの送信データがその送
受信バッファ204jの容量を超える場合のデータ送信
について図70を参照して説明する。なお、拡張デバイ
スの場合も基本デバイスの場合と同様の手順で行われ
る。
【0533】基本デバイスのCPU部201は、送信デ
ータが送受信バッファ204jの容量を超えている場合
は、データを送受信バッファ204jの容量で、いくつ
かのブロックに分割して送信することが出来る。
【0534】基本デバイスのCPU部201は、ホスト
からコマンドを受信すると、これに応答するべく返信デ
ータを形成し、これをホストに送信する。ホストは、コ
マンド送信後予め定められた時間(例えば、1.0m
s)以内に応答がない場合は未接続と判断する。従っ
て、基本デバイスは、この期間中にコマンド及びパラメ
ータを返信しなければならない。
【0535】まず、基本デバイスのCPU部201は、
送信すべきデータの量と送受信バッファ204jの容量
とを比べて送信データのデータ量が大きいことを認識す
る。CPU部201は、送信データを送受信バッファ2
04jの容量(例えば、1024バイト)以下の長さに
区切って、送受信バッファ204jに書き込む(データ
のブロック化)。その後、CPU部201は、データ長
レジスタ204kに送受信バッファ204jに格納した
送信データのデータ量を書き込み、コントロールレジス
タ204aのエンドパターンフラグENDPを“0”に
設定する。
【0536】CPU部201が、コントロールレジスタ
204aの送信フラグTXBを“1”(送信モード)に
設定すると、MIEは、データ長レジスタで指定された
サイズのデータを送信するべく送信動作を開始する。送
信フラグTXBが“1”に設定されると、フレームコン
トローラ204cは、コントロールレジスタの204a
の受信フラグRXB、受信完了フラグRFB、送信完了
フラグTFB、エンプティフラグEMP、送受信バッフ
ァオーバーフローフラグBFOVを、“0”に設定(ク
リア)する。
【0537】フレームコントローラ204cは、送信フ
ラグTXBの“1”の設定に対応して、送受信バッファ
204jに格納された送信データを送出させる。送信デ
ータは、テンポラリレジスタ204gにおいてパリティ
計算され、オルタネイトシフトレジスタ204fで並直
列変換されて、フレームエンコーダ204eに送られ
る。フレームエンコーダ204eは、フレームコントロ
ーラ204cの制御に従って、スタートパターン、送信
データ(コマンド、パラメータ)を順次送出する。フラ
グENDPを“0”に設定したことにより、このデータ
のブロックの最後には、パリティデータ及びエンドパタ
ーンは付加されない。これ等のデータによって構成され
る送信フレームは、既述SDCKA信号及びSDCKB
信号に担われてMバスに送出される。送受信バッファ2
04jから最後のデータが送り出されると、コントロー
ルレジスタのエンプティフラグEMPは“1”、コンテ
ィニュー送信フラグは“0”に設定される。
【0538】CPU部201は、コントロールレジスタ
204aのエンプティフラグEMPを周期的に監視す
る。エンプティフラグEMPが“1”になったことを確
認すると、続きの送信データを送受信バッファの容量以
下に区切って送受信バッファ204jに格納する。この
データの長さをデータ長レジスタ204kに設定する。
次いで、CPU部201はコントロールレジスタ204
aのコンティニュー送信フラグCTXBを“1”に設定
する。
【0539】コンティニュー送信フラグCTXBが
“1”に設定されると、フレームコントローラ204c
は、コントロールレジスタの204aのエンプティフラ
グEMP、送受信バッファオーバーフローフラグBFO
Vを“0”に設定(クリア)する。
【0540】フレームコントローラ204cは、送信フ
ラグTXBの“1”の設定に対応して、送受信バッファ
204jに格納された送信データを送出させる。送信デ
ータは、テンポラリレジスタ204gにおいてパリティ
計算され、オルタネイトシフトレジスタ204fで並直
列変換されて、フレームエンコーダ204eに送られ
る。フレームエンコーダ204eは、フレームコントロ
ーラ204cの制御に従って、送信データ(コマンド、
パラメータ)を順次送出する。これ等のデータは、既述
SDCKA信号及びSDCKB信号に担われてMバスに
送出される。送受信バッファ204jから最後のデータ
が送り出されると、コントロールレジスタのエンプティ
フラグEMPは“1”、コンティニュー送信フラグCT
XBは“0”に設定される。
【0541】CPU部201は、コントロールレジスタ
を周期定期に監視することによって、エンプティフラグ
EMPが“1”になったことを知る。CPU部201
は、残っている(未送信の)送信データを送受信バッフ
ァ204jの容量以下に区切って送受信バッファ204
jに格納する。この例の場合、残っているデータは送受
信バッファ204jの容量以下になったので、残りのデ
ータ全部を送受信バッファ204jに格納する。このデ
ータの長さをデータ長レジスタ204kに設定する。更
に、最後のデータブロックの送信となるので、最後にエ
ンドパターンを付加するべく、エンドパターン送出フラ
グENDPを“1”に設定する。次いで、CPU部20
1はコントロールレジスタ204aのコンティニュー送
信フラグCTXBを“1”に設定する。
【0542】コンティニュー送信フラグCTXBが
“1”に設定されると、フレームコントローラ204c
は、コントロールレジスタの204aのエンプティフラ
グEMP、送受信バッファオーバーフローフラグBFO
Vを“0”に設定(クリア)する。
【0543】フレームコントローラ204cは、送信フ
ラグTXBの“1”の設定に対応して、送受信バッファ
204jに格納された送信データを送出させる。送信デ
ータは、テンポラリレジスタ204gにおいてパリティ
計算され、オルタネイトシフトレジスタ204fで並直
列変換されて、フレームエンコーダ204eに送られ
る。テンポラリレジスタ204gは、全送信データにつ
いてパリティ計算した結果をパリティデータ(1バイト
のパリティビット)として、送信データの最後に付加す
る。フレームエンコーダ204eは、フレームコントロ
ーラ204cの制御に従って、送信データ(コマンド、
パラメータ)、パリティデータ、エンドパターンを順次
送出する。これ等のデータは、既述SDCKA信号及び
SDCKB信号に担われてMバスに送出される。送受信
バッファ204jから最後のデータが送り出されると、
コントロールレジスタのエンプティフラグEMPは
“1”、コンティニュー送信フラグCTXBは“0”に
設定される。送信が終了したので送信フラグTXB、送
信完了フラグTFBは共に“0”に設定される。
【0544】CPU部201は、コントロールレジスタ
204aを定期的に監視することによって、各フラグの
状態から全データの送信が完了したことを知る。
【0545】一方、ホストのMIEは、スタートパター
ンを受信することによって受信動作を開始し、受信デー
タ(コマンド、パラメータ)をワークRAM1eに逐次
格納する。ワークRAM1eにおける格納場所は予めD
MAレジスタで指定されている。受信した各データブロ
ックをワークRAM1eにて連結することによって元の
送信データが復元される。ホストのMIEが最後にエン
ドパターンを受信すると、該MIEは受信を終了する。
【0546】以上説明したように、送信データを分割し
て送るブロック送信の際には、最初のブロックは送信フ
ラグTXBを使用し、2番目以降のブロックはコンティ
ニュー送信フラグCTXBを使用して残りのデータを送
信する。1ブロックのデータを送信した後、次のブロッ
クを送信するまでの時間が所定時間、例えば、1.0m
sを超えると、ホストにてタイムアウト(Time Out)に
なるので、デバイス側は、第2のブロック以降をこの時
間以内に送信する。ブロックのサイズは、各ブロック単
位で設定可能である。各ブロックの送信毎にブロックの
サイズをデータ長レジスタ204kにセットする。最終
ブロック以外は、エンドパターンフラグを“0”で送信
し、エンドパターンは付加しない。最終ブロックを送信
する時には、エンドパターンフラグを“1”にして、送
信データの最後にエンドパターンを付加する。このよう
にして、基本デバイスは、自己の送受信バッファの容量
以上のデータをホストに送ることが可能となる。拡張デ
バイスも同様である。
【0547】フラグと通信状態の関係 基本デバイスのコントロールレジスタのフラグ204a
と通信状態との関係を説明する。 (1) 基本デバイスのフラグの状態(当該基本デバイ
スがホストと通信している場合) (a) 基本デバイスからホストにデータを送信する場
【0548】
【表30】
【0549】送信フラグTXBと送信完了フラグTFB
とが共に“1”であるときは、送信エラーである。
【0550】(b) 基本デバイスがホストからデータ
を受信する場合
【0551】
【表31】
【0552】受信フラグRXBと受信完了フラグRFB
とが共に“1”であるときは、受信エラーである。
【0553】(2) 基本デバイスのフラグの状態(あ
る拡張デバイスがホストと交信している場合) (a) 拡張デバイスがホストにデータを送信している
場合
【0554】
【表32】
【0555】いずれかの拡張デバイス(送信デバイス)
がホストにデータを送信する場合には、当該拡張デバイ
スがLMバスを占有することとしても良い。この占有
は、送信デバイスによってオアゲート213、214を
制御することによって可能となる。こうした場合、送信
デバイス以外の基本デバイス及び拡張デバイスは、バス
から外されるのでデータ受信の監視をする必要がなく、
その分負担が軽減される。
【0556】(b) 拡張デバイスがホストからデータ
を受信している場合
【0557】
【表33】
【0558】受信フラグRXBと受信完了フラグRFB
とが共に“1”であるときは、受信エラーである。
【0559】エラー処理 エラー処理について説明する。前述したように、送信フ
ラグTXB及び送信完了フラグTFBが共に“1”であ
るときは送信エラーである。受信フラグRXB及び受信
完了フラグRFBが共に“1”であるときは受信エラー
である。なお、送信処理中にエラーが生じたときに、M
IEが送信フラグTXB及び送信完了フラグTFBを共
に“1”に設定してエラーを知らしめることとしても良
い。受信処理中にエラーが生じた場合も同様である。パ
リティエラーが生じた場合には、パリティエラーフラグ
PERRが設定(=“1”)される。受信時に受信デー
タが送受信バッファの容量を超えた場合(オーバーフロ
ー)や、送信時にバッファ容量を越えてデータ長を指定
した場合は送受信バッファオーバーフローフラグBFO
Vが設定(=“1”)される。
【0560】このようなエラーが発生した場合の基本デ
バイスにおけるエラー処理の例について説明する。
【0561】(a) ホストに送信している時にエラー
が発生した場合は、エラーに対しては何もせずに、送信
フラグTXB及び送信完了フラグTFBのクリアのみ行
う。 (b) ホストからのデータ受信時にエラーが発生した
場合、まず、データ送信先が自身の場合は、ホストに対
して再送コマンドを送信することが出来る。次に、デー
タ送信先が他のデバイスの場合は、自己の受信フラグR
XB、受信完了フラグRFBをクリアする。 (c) ホストからのデータ受信時のエラーがタイムア
ウト(Time Out)である場合は、基本デバイス、拡張デ
バイス共にリセットする。すなわち、イ)拡張デバイス
へのIDを反転させて、拡張デバイスへの動作停止信号
とする。これにより、拡張デバイスは処理を停止する。
ロ)基本デバイスがリセットし、復帰後、IDを反転
(元に戻す)する。IDが反転すると拡張デバイスはリ
セットする。ハ)リセット後はソフトリセット後と同じ
状態である。
【0562】コマンドリファレンス フレームに使用される各種コマンドについて説明する。
コマンドコードは、01h〜FEhまでの254個が使用
可能である。00hとFFhは使用できない。このコード
は「通信エラーの為データは保証しない」の意味で使用
することが予約されている。コマンドには、コントロー
ルコマンド及びエラーコマンドが含まれる。
【0563】コントロールコマンド コントロールコマンドは、コマンドコード01h〜DFh
の範囲を使用する。このコマンドは、データの送受信を
コントロールするためのコマンドである。ホスト、基本
デバイス、拡張デバイス各々のファンクション・ライブ
ラリには、同じコマンドコードで異なるコマンドを設け
てはならない。コマンドを増設する場合は規格の管理者
に事前に届け出て規格の統一を図るのが望ましい。以
下、コントロールコマンドについて説明する。
【0564】デバイスリクエスト(Device Request、図
71) 発行権:ホスト コマンドコード:01h データサイズ:00h データ領域:none 期待戻り値:デバイスステイタス[Device Status] 説明:送信先APの周辺装置に対して、[Device Statu
s]を要求するコマンドである。ポートに対して、接続
チェックにも使用する。
【0565】オールステイタスリクエスト(All Status
Request、図72) 発行権:ホスト コマンドコード:02h データサイズ:00h データ領域:none 期待戻り値:デバイスオールステイタス[Device All S
tatus] 説明:送信先APの周辺装置に対して、全てのデバイス
ステイタス(フィクスドデバイスステイタスFixed Devi
ce StatusとフリーデバイスステイタスFree Device Sta
tusの両方)を要求する。
【0566】デバイスリセット(Device Reset、図7
3) 発行権:ホスト コマンドコード:03h データサイズ:00h データ領域:none 期待戻り値:デバイスリプライ[Device Reply] 説明:送信先APで指定される周辺装置に対して、初期
化することが出来る。
【0567】動作順:(1)周辺装置は、デバイスリプラ
イ[Device Reply]を返す。(2)周辺装置は自己を初期
化する。
【0568】デバイスキル(Device Kill、図74) 発行権:ホスト コマンドコード:04h データサイズ:00h データ領域:none 期待戻り値:デバイスリプライ[Device Reply] 説明:送信先APで指定される周辺装置に対して、動作
を認めない。周辺装置は、スタンバイ消費電流で待機
し、コマンドを一切受け付けない。動作させるために
は、ハードリセットまたは、電源を切って再動作させる
必要がある。 動作順:(1)周辺装置は、デバイスリプライ[Device Re
ply]を返す。(2)周辺装置は動作を停止する。
【0569】デバイスステイタス(Device Status) 発行権:周辺装置 コマンドコード:05h データサイズ:1Ch(28) データ領域:デバイスID:16バイト、仕向地コー
ド:1バイト、製品名:31バイト、ライセンス:60
バイト、スタンバイ消費電流:2バイト、最大消費電
流:2バイト 説明:ホストからのデバイスリクエスト[Device Reque
st]に対して、フィクスドデバイスステイタス[Fixed
Device Status]データを返す。内容の詳細は、後述の
周辺装置の情報に記載されている。
【0570】デバイスオールステイタス(Device All S
tatus) 発行権:周辺装置 コマンドコード:06h データサイズ:1Ch+(n/4) データ領域:フィクスドデバイスステイタス[Fixe
d Device Status]:112バイト、デ
バイスID:16バイト、仕向地コード: 1バイト、製
品名:31バイト、ライセンス:60バイト、スタンバ
イ消費電流:2バイト、最大消費電流: 2バイト、フ
リーデバイスステイタス[Free Device Status]:nバ
イト 説明:ホストからのオールステイタスリクエスト[All
Status Request]に対して、フィクスドデバイスステイ
タスとフリーデバイスステイタスの両方を返す。内容の
詳細は、後述の周辺装置の情報で説明される。
【0571】デバイスリプライ(Device Reply) 発行権:周辺装置 コマンドコード:07h データサイズ:00h データ領域:none 説明:周辺装置からの返信として使用する。
【0572】データトランスファ(Data Transfer、図
75) 発行権:周辺装置 コマンドコード:08h データサイズ:n (01h≦n≦FFh) データ領域:ファンクションタイプ:4バイト、デー
タ:(n−1)×4バイト 期待戻り値:none 説明:ホストから指定されたファンクションタイプのデ
ータを返す。データは要求されたコマンドで異なる。
【0573】ゲットコンディション(Get Condition、
図76) 発行権:ホスト コマンドコード:09h データサイズ:01h データ領域:ファンクションタイプ:4バイト 期待戻り値:データトランスファ[Data Transfer] 説明:周辺装置のファンクションタイプで指定したファ
ンクションの物理的状態を要求する。周辺装置は、ホス
トから送られてきたファンクションタイプと同じタイプ
で返す。一度に指定できるファンクションタイプは、1
つだけである。
【0574】ゲットメディアインホ(Get Media Info、
図77) 発行権:ホスト コマンドコード:0Ah データサイズ:02h データ領域:ファンクションタイプ:4バイト、PT
(パーティション):4バイト(うち3バイトはダミ
ー) 期待戻り値:データトランスファ[Data Transfer] 説明:周辺装置のファンクションタイプとPTで指定し
たファンクションの、メディア(Media)情報を要求す
る。詳細は、それぞれのファンクションタイプの仕様書
による。
【0575】ブロックリード(Block Read、図78) 発行権:ホスト コマンドコード:0Bh データサイズ:02h データ領域:ファンクションタイプ:4バイト、パーテ
ィション(PT):1バイト、フェーズ(Phase):1
バイト、ブロック番号(Block No.):2バイト 期待戻り値:データトランスファ[Data Transfer] 説明:周辺装置のファンクションタイプと情報記録媒体
のパーティション、フェーズ、ブロック番号で指定した
場所(例えば、FDD、HDD、メモリやCD−ROM
等のデータ記録場所)のデータを要求する。詳細は、そ
れぞれのファンクションタイプの仕様書による。
【0576】ブロックライト(Block Write、図79) 発行権:ホスト コマンドコード:0Ch データサイズ:02h+n データ領域:ファンクションタイプ:4バイト、パーテ
ィション:1バイト、フェーズ:1バイト、ブロック番
号:2バイト、書き込みデータ:n×4バイト 期待戻り値:デバイスリプライ[Device Reply] 説明:周辺装置のファンクションタイプと、パーティシ
ョン、フェーズ、ブロック番号で指定した場所にデータ
を書き込む。詳細は、それぞれのファンクションタイプ
の仕様書による。
【0577】ゲットラストエラー(Get Last Error、図
80) 発行権:ホスト コマンドコード:0Dh データサイズ:02h データ領域:ファンクションタイプ:4バイト、パーテ
ィション:1バイト、フェーズ:1バイト、ブロック番
号:2バイト 期待戻り値:デバイスリプライ[Device Reply] 説明:直前のコマンドに対してエラーが発生したかを調
べる。エラーが無ければデバイスリプライ[Device Repl
y]を、エラーがあればエラーコマンドを返します。パー
ティションとブロック番号は直前のコマンドの値をその
ままに、フェーズは+1する。詳細は、それぞれのファ
ンクションタイプの仕様書による。
【0578】エラーコマンド 次に、エラーコマンドについて説明する。エラーコマン
ドは、コマンドコードE0h〜FEhの範囲を使用する。
エラーコマンドは、データの送受信や処理に対して、エ
ラーが発生したことを告げる。ホスト、基本デバイス、
拡張デバイスの各々のファンクション・ライブラリは、
同じコマンドコードで異なるコマンドを設けることは禁
止される。エラーコマンドを増設する場合は規格の管理
者に事前に届け出て規格の統一を図るのが望ましい。以
下、エラーコマンドについて説明する。
【0579】ファンクションタイプアンノウン(Functi
on Type Unknown) 発行権:周辺装置 コマンドコード:FEh データサイズ:00h データ領域:none 説明:送信されてきたファンクションタイプで指定され
るファンクションが、周辺装置に存在しない場合に発行
する。 考えられる原因:(1)ファンクションタイプの指定が間
違っている。(2)データの記述が間違っている。(3)デバ
イスIDがデータ化けしていた。(4)通信中にデータ化
けした。 対処:(1)ファンクションタイプの指定を正しくする。
(2)データの記述を正しくする。(3)もう一度デバイスリ
クエスト[Device Request]を送信し、デバイスIDを
得る。(4)もう一度送信してみる(最大3回まで、以後タ
イムアウトと同処理)。
【0580】コマンドアンノウン(Command Unknown) 発行権:周辺装置 コマンドコード:FDh データサイズ:00h データ領域:none 説明:送信されてきたコマンドが、周辺装置側のファン
クションに用意されていない時に発行する。
【0581】考えられる原因:(1)コマンドの指定が間
違っている。(2)データの記述が間違っている。(3)デバ
イスIDがデータ化けしていた。(4)通信中にデータ化
けした。 対処:(1)コマンドの指定を正しくする。(2)データの記
述を正しくする。(3)もう一度デバイスリクエスト[Dev
ice Request]を送信し、デバイスIDを得る。(4)もう
一度送信してみる(最大3回まで、以後タイムアウトと
同処理)。
【0582】トラスンミットアゲイン(Transmit Agai
n) 発行権:ホスト,周辺装置 コマンドコード:FCh データサイズ:00h データ領域:none 説明:送信されてきたデータが、何らかでエラーがあっ
た場合で、もう一度同じデータを送るように要求する。 考えられる原因:(1)パリティエラーが発生した。(2)デ
ータがオーバーフローした。(3)通信中にデータ化けし
た。 対処:もう一度送信する(最大3回まで、以後タイムア
ウトと同処理)。
【0583】ファイルエラー(File Error) 発行権:周辺装置 コマンドコード:FBh データサイズ:01h データ領域:ファンクション・エラーコード 説明:ファイルファンクション(File Function)でエラ
ーが発生した時に発行する。ファンクション・エラーコ
ードで、詳細なエラーを返す。 考えられる原因:
【0584】
【表34】
【0585】同表において、エラーが発生した項目が
“1”になり、エラーでない項目は、“0”になる。F
0はパーティションエラー(PT Error)、FE1はフェー
ズエラー(Phase Error)、FE2はブロックエラー(Block
Error)、FE3は書き込みエラー(Write Error)、FE4
はデータ長エラー(Length Error)、FE5はCRCエラ
ー(CRC Error)、を表す。以下は、予約される。
【0586】LCDエラー(LCD Error) 発行権:周辺装置 コマンドコード:FAh データサイズ:01h データ領域:ファンクション・エラーコード 説明:LCDファンクション(LCD Function)でエラーが
発生した時に発行する。ファンクション・エラーコード
で、詳細なエラーを返す。 考えられる原因:
【0587】
【表35】
【0588】同表において、エラーが発生した項目が
“1”になり、エラーでない項目は、“0”になる。F
0はPT Error、FE1はPhase Error、FE2はBlock Er
ror、FE3はWrite Error、FE4はLength Error、FE
5はnone、を表す。以下は、予約される。
【0589】周辺装置の情報 基本デバイス及び拡張デバイス固有の情報(デバイスス
テイタス)について説明する。デバイスステイタスは、
書き換え出来たり、消去出来ないようにし、そのままの
データを記録する。デバイスステイタスには、フィクス
ドデバイスステイタス(Fixed Device Status)とフリ
ーデバイスステイタス(Free Device Status)とがあ
る。フィクスドデバイスステイタスは、絶対に記述しな
ければならない、112バイトのフォーマットの決まっ
たデバイスステイタスである。全ての項目を記述してい
ないと、動作,接続の保証はない。フリーデバイスステ
イタスは、個々のデバイスによって自由に使用しても良
いデバイスステイタスである。容量は、最大912バイ
トである。
【0590】フィクスドデバイスステイタス(Fixed De
vice Status) フィクスドデバイスステイタスは、下記の項目を全てを
記述しなければならない。 (1) デバイスID 容量:16バイト 説明:周辺装置の属性,データフォーマット(ファンク
ション)を示す。デバイスIDについては、プロトコル
の項に関連記載がある。 (2) 仕向地 容量:1バイト 説明:製品の仕向地(販売地域)を示す。仕向地の設定
ビットの構成を表36に示す。仕向地の設定ビットと仕
向地との関係を表37に示す。
【0591】
【表36】
【0592】
【表37】
【0593】例えば、全世界共通の場合は、DES=
“11111111”=FFh、日本とアジア向け共通の場合
は、DES=“00000110”=06hとなる。DES=00
hは指定禁止である。 (3) 製品名 容量:31バイト 説明:製品名を英語またはローマ字で記述する。全角、
半角を問わない。余りの容量(ビット)には、スペース
コード(20h)を入れる。この製品名は、事前登録す
る。 (4) ライセンス 容量:60バイト 説明:製品のライセンス表示を英語またはローマ字でAS
CIIコードで記述する。余りの容量には、スペースコー
ド(20h)を入れる。例えば、「Produced By or Unde
r License From XXXXX,LTD.」と記述する。 (5) スタンバイ消費電流 容量:2バイト 説明:一時停止時の消費電流を0.1mA単位で16進
数によって記述する。例えば、10.5mAの場合は、
00−69hと記述する。 (6) 最大消費電流 容量:2バイト 説明:最大消費電流を0.1mA単位で16進数で記述
する。例えば、127.9mAの場合は、04−FFh
と記述する。
【0594】フリーデバイスステイタス(Free Device
Status) フリーデバイスステイタスは、製品の企画者,開発者,
設計者,プログラマー等が自由に記述出来る領域で、オ
ールデバイスリクエスト[All Device Request]でホス
トは取得出来る。アプリケーションソフト等で使用する
場合には、データ配列等の対応をしておく必要がある。
【0595】本発明を用いた基本デバイス、拡張デバイ
スの他の例について図面を参照して説明する。
【0596】図81は、相対アドレスを使用する第1の
実施の形態にかかる、他の基本デバイス(コントロー
ラ)の構成例を概略的に示している。相対アドレス方式
による図33に示したUデバイスファンクションの構成
例では、SDCKA OUTの端子(抵抗が接続されて
いる)によって拡張デバイスの接続の有無を判断してい
るが、この例では、図64に示す例と同様に、各拡張コ
ネクタに抵抗Rを接続した端子ID2を設けて、この端
子の生起電圧を判別して拡張ソケットの接続の有無を判
断している。
【0597】図81において、基本デバイス(ゲームコ
ントローラ)2の制御回路は、いわゆる1チップマイク
ロコンピュータシステム200によって構成することが
可能である。コンピュータシステム200には、各部の
制御を行うCPU201a、CPU201aの制御プロ
グラムやデータライブラリを格納するROM201b、
CPUプログラムやデータを格納してデータ処理を行う
ために使用されるRAM201c、11個のデジタルス
イッチ206の押圧操作をコードデータに変換するI/
O部202a、4個のアナログスイッチ207の可変な
レベル出力をデータ信号に変換するA/D変換器202
b、基本デバイスとホストとのデータ通信、拡張デバイ
スとホストとのデータ通信の補助を行う基本デバイス用
MIE205を含んでいる。また、コンピュータシステ
ム200には、電源投入の際にリセット信号を生成す
る、抵抗、キャパシタ、ダイオードからなるリセット信
号生成回路、システムの各種クロック信号を発生するク
リスタル発振器、基本デバイス用MIE205の信号用
電圧及び拡張デバイス用信号電圧3.3Vを電源Vcc
(+5V)から生成する電圧変換回路を含む。基本デバ
イスへの電源Vcc(+5V)は、外部接続ケーブルを介
してゲーム装置から供給される。外部接続ケーブルは、
信号線SDCKA、信号線SDCKB、電源線Vcc及び
接地線GNDによって構成される。ゲーム装置から外部
接続ケーブルを介して供給される電源Vcc(+5V)
は、上述した信号用電源(+3.3V)と共に拡張コネ
クタを介して図示しない拡張デバイスに供給される。
【0598】CPU201a、ROM201b及びRA
M201cは、図33におけるCPUに、A/D変換器
202b及びI/O部202aはI/Oに、基本デバイ
ス用MIE205は通信処理部、ソケットコントロール
部及びゲート類に対応している。基本デバイス2には、
Mバスを介してホストから電源Vcc及び接地GNDが供
給される。また、信号線SDCKA及びSDCKBによ
ってデータ通信が行われる。基本デバイスと拡張デバイ
ス間は信号線SDCKA-US-1、SDCKA-DS-
1、SDCKA-EN-1、SDCKB-US-1、SDC
KB-DS-1、SDCKB-EN-1、SDCKA-US-
2、SDCKA-DS-2、SDCKA-EN-2、SDC
KB-US-2、SDCKB-DS-2、SDCKB-EN-
2、電源Vcc(+5V、3.3V)、接地線GND
(4本)によって接続される。なお、この例では、基本
デバイスが拡張コネクタを2つ持つ場合で説明している
が、既述のように、外部への拡張コネクタを4つ持つこ
とができる。この場合、拡張デバイスの接続を確認する
ためのID2は、ID2-1〜ID2-4まで備える。基
本デバイス2の動作は、図33に示したUデバイスファ
ンクションと同じであるのでその説明は省略する。
【0599】図82は、絶対アドレスを使用する第2の
実施の形態にかかる、他の基本デバイス(コントロー
ラ)の構成例を相対アドレスを使用する図81の例に対
応して示している。同図において図65あるいは図81
と対応する部分には、同一符号を付し、かかる部分の説
明は省略する。絶対アドレス方式を採る基本デバイスで
は、I/Oブロック202aは、CPUの出力に従って
各拡張ソケットのID0、ID1端子を介して接続され
た拡張デバイスにLMバスの番号を知らせる。ID0、
ID1端子の役割は、図59を参照した拡張デバイスの
APの設定手順で説明されている。I/O202aから
端子ID0−1及びID1−1は、第1の拡張ソケット
に、端子ID0−2及びID1−2は、第2の拡張ソケ
ットに設けられる。
【0600】図83及び図84は、それぞれ相対アドレ
ス方式及び絶対アドレス方式の、LCD表示器(LCD
カートリッジ)を備える拡張デバイスの例を示してい
る。
【0601】両図において、拡張デバイス(LCDカー
トリッジ)3の制御回路は、いわゆる1チップマイクロ
コンピュータシステム300によって構成することが可
能である。コンピュータシステム300には、各部の制
御を行うCPU301、CPU301の制御プログラム
やデータライブラリを格納するROM302、CPUの
プログラムやデータを格納してデータ処理を行うために
使用されるRAM303、拡張デバイスとホストとのデ
ータ通信を行う拡張デバイス用MIE304、入力及び
出力のインタフェースを行うI/O部305、LCD3
08の表示を制御するLCDコントローラ306、LC
Dのエレメントを駆動するLCDドライバ307を含ん
でいる。拡張デバイス用MIE304は、基本デバイス
のMIEと同様に構成されるが、LMバスコントローラ
203a及びこれに関連するゲートは備えていない。L
CDカートリッジは、ホストからMバス、LMバス、M
IE304を介してフレーム形式で送信された文字デー
タ、静止画データ、動画データ(LD、CD−V、DV
D、テレビのビデオ情報を含む)等をRAM303に格
納する。そして、CPU301によって、これ等の表示
すべきデータをLCDコントローラ306に与えて画像
化する。
【0602】また、コンピュータシステム300には、
電源投入の際にリセット信号を生成するリセット信号生
成回路、クロック信号を発生するクリスタル発振器、必
要により設けられるデバイス用MIE205の信号等の
電圧3.3Vを電源Vcc(+5V)から生成する電圧変
換回路(図示せず)を含む。電源Vcc(5V、3.3
V)は、基本デバイス側から供給されるが、拡張デバイ
スは目的とする機能を実現するに必要な電圧を内部回路
で生成することができる。信号線ID2には、拡張デバ
イス側において電源電圧Vccが印加される。絶対アドレ
スの拡張デバイスにおいては、既述のように、I/O部
305にLMバス番号を知らせるID0、ID1が接続
される。
【0603】図85及び図86は、それぞれ相対アドレ
ス方式及び絶対アドレス方式のメモリカートリッジ(拡
張デバイス)の例を示している。両図において、図83
及び図84と対応する部分には、同一符号を付し、かか
る部分の説明は省略する。
【0604】この例では、EEPROMや電池でバック
アップされたメモリ等の不揮発性RAM312を備えて
いる。保存すべきデータがMIE304を介してRAM
303に格納される。CPU301は、格納されたデー
タを不揮発性RAM312に外部出力バスドライバ31
1を介して書き込む。また、CPU301は、ホストか
らの指令に応じてRAM312に書き込まれたデータを
RAM303に読み出し、MIE304を介してホスト
に転送する。例えば、遊技者がゲームを途中で止める場
合に、ホストから送られたゲーム途中までのゲームパラ
メータをRAM312に保存することにより、次回のゲ
ームをゲーム途中から再開することが可能となる。な
お、不揮発性RAM312部分を、ソケットを介してバ
スドライバ311と接続するようにし、カード化した複
数の不揮発性RAM312を交換可能とすることができ
る。また、コンピュータシステム300に不揮発性RA
M312を含むようにすることもできる。
【0605】図87及び図88は、それぞれ相対アドレ
ス方式及び絶対アドレス方式の振動カートリッジ(拡張
デバイス)の例を示している。両図において、図83及
び図84と対応する部分には、同一符号を付し、かかる
部分の説明は省略する。
【0606】この例では、振動を発生する偏心錘を回転
させるモータやソレノイド等による振動体322を駆動
するドライバ/コントローラ部321を備える。振動体
の動作指令信号あるいは動作停止指令信号は、ホストか
らMIE304を介してRAM303に格納され、CP
U301によってI/O部305を介してドライバ/コ
ントローラ部321に与えられる。
【0607】図89及び図90は、それぞれ相対アドレ
ス方式及び絶対アドレス方式のライトガン(光線銃)カ
ートリッジ(拡張デバイス)の例を示している。両図に
おいて、図83及び図84と対応する部分には、同一符
号を付し、かかる部分の説明は省略する。
【0608】この例では、テレビ画面上のある部分(光
線銃の着弾点)を走査する電子ビームによる輝点がライ
トガンカートリッジのレンズを介して受光素子332に
取り込まれる。受光信号は、増幅器331によってレベ
ル増幅される。ゲームコントローラの引き金(例えば、
後述の図97(b)の2d)が操作されるとトリガ信号
が発生し、増幅器331の出力が検出信号としてMIE
304に供給される。この信号は、ホストに転送されて
HVカウンタのラッチ信号として使用される。
【0609】図91及び図92は、それぞれ相対アドレ
ス方式及び絶対アドレス方式の音声入力カートリッジ
(拡張デバイス)の例を示している。両図において、図
83及び図84と対応する部分には、同一符号を付し、
かかる部分の説明は省略する。
【0610】この例では、マイク345の出力が増幅器
344で適当なレベルに増幅され、A/D変換器343
によってサンプリングされる。サンプリングされた音声
データは、バッファメモリ342の第1及び第2のレジ
スタ(FIFO)に交互に格納される。このデータをバ
スコントローラ341が読み出し、ローカルバスを介し
てMIE304の送受信バッファに送り出す。MIE3
04によって音声データはフレーム化されてホスト(ゲ
ーム装置)に送られる。このような機能は、いわゆる音
声入力、カラオケ、電話機、通信機等としてホストを使
用することを可能とする。
【0611】図93及び図94は、それぞれ相対アドレ
ス方式及び絶対アドレス方式の音声出力カートリッジ
(拡張デバイス)の例を示している。両図において、図
83及び図84と対応する部分には、同一符号を付し、
かかる部分の説明は省略する。
【0612】この例では、ホストから送信された音声デ
ータがMIE304からローカルバスを介してバスコン
トローラ351に供給される。バスコントローラ351
は、音声データをFIFO(First In First Out)動作の
メモリ352に格納し、逐次転送される音声データを連
結する。メモリ352から出力された音声データはD/
A変換器353によって音声信号に変換され、増幅器3
54にてレベル増幅され、スピーカ355から音声とし
て出力される。このような機能は、いわゆるホストの音
声による応答(音声出力)機能、ゲームの効果音(特に
複数スピーカ構成による音響効果)、カラオケ、電話の
受話器等として使用可能である。
【0613】なお、上述した発明の実施の形態は、2つ
の規格の形式で説明されているが、第1の実施の形態の
構成要素と第2の実施の形態の構成要素とを技術的に矛
盾しない範囲で組み合わせることが可能である。また、
本発明は、ゲーム装置への適用に限定されるものではな
く、小型のコンピュータシステム、コンピュータネット
ワーク、コンピュータ応用装置、携帯型通信端末装置等
にも適用可能である。
【0614】図95及び図96は、ホスト及び周辺装置
相互間を接続するMバスをワイヤレス構成とした他の実
施の形態を示している。両図において、第1及び第2の
実施の形態と対応する部分には同一符号を付し、かかる
部分の説明は省略する。
【0615】図95において、ホスト(ゲーム装置)1
のペリフェラルコントローラ1hと、周辺装置(基本デ
バイス)2のペリフェラルコントローラとのそれぞれに
無線モデム装置500が接続されている。無線モデム装
置500は、データコントローラ501、送信部50
2、デュプレクサ503、受信部504、アンテナ50
5等によって構成され、ホストと周辺装置相互間の通信
データを中継する。この場合、周辺装置2は電池駆動と
することができる。
【0616】データコントローラ501は、送信すべき
SDCKA信号及びSDCKB信号を多値変調、例え
ば、π/4シフトQPSK変調により送信すべく、デー
タ処理を行ってI信号成分、Q信号成分のデータを形成
する。この直交成分のデータを送信部502に供給す
る。また、データコントローラ501は、受信部504
によって復号化されたI、Q成分のデータからSDCK
A信号及びSDCKB信号を形成してペリフェラルコン
トローラ501に供給する。送信部502は、多値変調
器、例えば、π/4シフトQPSK変調を行う直交変調
器を備え、フレームデータを担う周波数f1のキャリア
信号を形成する。このキャリア信号は、デュプレクサ5
03によってアンテナ505に導出され、自由空間に電
波として放射される。一方、周辺装置2側のアンテナ5
05に到来した電波はキャリア信号となり、デュプレク
サ503によって受信部504に導かれる。受信部50
4は、例えば、同期検波器を備えており、キャリア信号
からI信号成分、Q信号成分を分離し、多値データを復
号する。前述したように、データコントローラ501
は、多値データからSDCKA信号及びSDCKB信号
を形成してペリフェラルコントローラ501に供給す
る。
【0617】この結果、ホストと周辺装置間を接続した
Mバスのケーブル類が不要となる。ワイヤレスの周辺装
置2は、ホストから離間した配置や使用態様の自由度が
増す。上述した無線モデム装置500は、携帯型電話装
置(あるいはPHS装置)を活用するものであっても良
い。この場合には、比較的に安価にICチップが入手で
き、周辺装置のワイヤレス使用のみならず、ホストを通
信回線に接続した対戦型ゲームやインターネットの使用
が可能となる。
【0618】なお、SDCKA信号及びSDCKB信号
の二つの信号に対応して送信系及び受信系を二重に構成
し、二つの通信チャネルf1、f2を使用する構成として
も良い。また、SDCKA信号及びSDCKB信号を一
旦シリアルデータのフレーム信号に戻してから、相手側
に一つの通信チャネルf1で送信し、受信側で復調した
フレーム信号からSDCKA信号及びSDCKB信号を
復号する構成としても良い。
【0619】図96は、図95に示したワイヤレス構成
を光通信によって構成した例を示している。同図におい
て、図95と対応する部分には同一符号を付している。
かかる部分の説明は省略する。
【0620】この例では、光(例えば、赤外線)による
通信を行うために、赤外線モデム装置600が用いられ
ている。赤外線モデム装置600は、データコントロー
ラ601、変調器602、発行部603、受光部60
4、復調部605等によって構成される。データコント
ローラ601は、SDCKA信号及びSDCKB信号を
一旦シリアルデータのフレーム信号に戻す。変調器60
2はフレーム信号によって駆動電流を変調する。変調と
しては、例えば、レベル変調あるいは周波数変調を選択
することができる。駆動電流は、発光部603の発光素
子、例えば、赤外線発光のLEDに供給され、LEDを
点滅させる。LEDの点滅光は光学系を経て外部に放射
される。この放射光は、他方の赤外線モデム装置600
の受光部604に入射する。入射光は、受光素子、例え
ば、フォトトランジスタによって電気信号に変換され、
復調部605によってデジタルデータ信号に復調され
る。このデータ信号は、データコントローラ601によ
ってSDCKA信号及びSDCKB信号に戻され、ペリ
フェラルコントローラに送られる。ホスト(ゲーム装
置)1あるいは周辺装置2のペリフェラルコントローラ
については、既述している。
【0621】このように、Mバスの構成は有線のみなら
ず無線(ワイヤレス)によって構成しても良いものであ
る。
【0622】次に、ホスト及び周辺装置のコネクタ等に
ついて図97を参照して説明する。図97(a)は、ホ
ストとしてのゲーム装置1と、周辺装置としての基本デ
バイス(ゲームコントローラ)2と、を接続するMバス
コネクタを説明する説明図である。同図において図1と
対応する部分には同一符号を付している。
【0623】この例では、ゲーム装置の正面側に4つの
コネクタ(ソケット)1iを備えている。このコネクタ
1iのいずれかにゲームコントローラ2のコネクタ(プ
ラグ)110が接続される。ソケット1i及びプラグ1
10はそれぞれ5端子(ピン)を備える後述の形状をし
ている。ゲームコントローラ2の上面には、A、B、C
及びDボタン(A、B、C、Dスイッチ)2a、十字キ
ー(上下左右方向指示スイッチ)2b、ゲームコントロ
ーラ2の保持部には、トリガレバー(トリガスイッチ)
2dが設けられている(図97(b)参照)。これ等の
ボタン類は、デジタル入力のスイッチ類206をアクチ
ュエートする。また、アナログ入力を行うアナログスイ
ッチ207をアクチュエートするアナログボタン(アナ
ログキー)2cを備えている。アナログキーは、例え
ば、画面上のカーソルやポインタを連続的に移動するた
めに使用される。
【0624】図97(b)は、基本デバイス(ゲームコ
ントローラ)2と図示しない拡張デバイス3とを接続す
るLMバスコネクタ131を説明する説明図である。同
図において、図97(a)と対応する部分には、同一符
号を付し、かかる部分の説明は省略する。ゲームコント
ローラ2の、ゲーム装置1cと向かい合う背面側には、
2つのLMバスコネクタ(ソケット)131が設けられ
ている。
【0625】図98(a)は、他のゲームコントローラ
の例を示している。このゲームコントローラは、拡張デ
バイスと合体する機能を有している。
【0626】同図において、ゲームコントローラ2は、
A、B、C及びDボタン2a、十字キー2b、アナログ
キー2c、レバー2d(既述図97(b)参照)、スタ
ートボタン(スタートスイッチ)2eを備えている。更
に、ゲームコントローラの背面側(図97(b)参照)
に拡張デバイスを挿入するスロットを備えている。ゲー
ムコントローラ2の上面中央の背面側よりに窓2fが設
けられている。
【0627】図98(b)は、拡張デバイス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単体でも形態
型ゲーム装置として楽しめるように構成されている。
【0628】図99〜図101は、Mバスに使用される
Mバスコネクタの構成を説明する図である。
【0629】図99は、ホスト1の筐体に設けられるバ
スコネクタ1iのソケット側を正面方向(挿入方向)か
ら見た状態の概略を示している。ソケットは、略D字状
の外周部101と、略D字状の6角形状のピン基台10
2と、外周部101とピン基台102との間に形成され
た略D字状の溝103と、を含んで構成されている。ソ
ケットは絶縁性プラスチックの射出成型品であり、ピン
基台102の主面(上面)には、接触ピンNo.1、N
o.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と接続される。接触ピンN
o.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のデータ線へ与える影響は少ない。
【0630】図100は、バスコネクタ1iのソケット
に対応するプラグ側の構成を示している。同図(a)
は、プラグの側面図、同図(b)は上面図、同図(c)
は正面図である。プラグは絶縁性の良いプラスチックに
よって成型されており、111はワイヤ類と接触ピンの
端子との接続部を内蔵するハウジング、112は断面が
ソケットの溝103の形状に対応した略D字状の差込
部、113は差込部の略D字状の内壁、114はピン基
台102の外形に対応した形状の溝、No.1〜No.
5は、内壁113に設けられた接触ピンである。各接触
ピンは金属の弾性体であり、ソケットの各ピンに対応し
て設けられる。プラグの差込部112をソケットの溝1
03に挿入することで互いの接触ピンNo.1〜No.
5同士が接続される。
【0631】図101は、Mバスケーブルの周辺装置
(基本デバイス)側のコネクタ(プラグ)を説明する正
面図である。絶縁性の良いプラスチックによって成型さ
れたプラグ121は、ケーブルの各ワイヤに接続される
端子No.1〜No.5を備えている。各端子は、略直
方体あるいは板状体のソケットの一側面に一列に配置さ
れている。このソケット121は、周辺装置の基板の配
線に、コネクタ(ソケット)を介して、あるいは半田付
けにより直接接続される。
【0632】図102は、基本デバイスと拡張デバイス
とを接続するLMバスコネクタのソケット131の構成
例を示している。同図(a)は上面図、同図(b)は正
面図である。また、図103は、LMバスコネクタのプ
ラグ141の構成例を示している。同図(a)は上面
図、同図(b)は正面図である。
【0633】ソケット131は、概略、挿入部132、
被挿入部133及び両者を結合あるいは収容するハウジ
ング134によって構成される。同様に、プラグ141
も、挿入部142、被挿入部143及び両者を結合ある
いは収容するハウジング144とによって構成される。
ソケット131の挿入部132は、プラグ141の被挿
入部143に挿入され、プラグ141の挿入部142
は、ソケット131の被挿入部133に挿入される。
【0634】ソケット131の挿入部132は、ハウジ
ング134の正面左側の一面から突起する柱状体であ
り、該柱状体の正面側端面に、左右方向に延在する
「I」字状(長方形)の挿入溝132aが形成されてい
る。この挿入溝は、挿入部132をプラグ141の溝1
43aに、該溝内の板状のピン基台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(5
V)、制御線SDCKA EN、データ線SDCKB D
S、データ線SDCKA US、識別線ID1及び接地
線GNDに接続される。
【0635】ソケット131の被挿入部133は、ハウ
ジング134の正面右側から突起する柱状体であり、該
柱状体133の正面側端部には、ピン基台133cを一
周する「O」字状の溝133aが形成されている。溝1
33aの内壁133bの形状は、プラグ141の挿入部
142の外形に対応している。溝中央のピン基台133
cは左右方向に延在する「I」字状の、溝142aに対
応した形状の板状体である。ピン基台133cの上面
は、柱状体133の端面の上下方向の略中央位置となる
ようになされ、この上面に金属弾性体の接続ピンNo.
8〜No.14が配設されている。接続ピンNo.8〜
No.14の各々は、図示しないが、それぞれハウジン
グ134の背面側の対応する各接続端子にまで延在し、
基板の配線またはケーブルと接続される。接続ピンN
o.8〜No.14は、それぞれ接地線GND、識別線
ID2、データ線SDCKB DS、データ線SDCK
B US、制御線SDCKB EN、及び識別線ID0に
接続される。なお、接続ピンNo.14は、現在のとこ
ろ使用されておらず、空き端子となっている。
【0636】ソケット131に挿入されるプラグ141
は、ソケット131と同様に形成される。ただし、図1
03(a)に示すように、接続ピンNo.1〜No.7
は被挿入部143内に設けられ、接続ピンNo.8〜N
o.14は挿入部142内に設けられる。
【0637】このように構成される拡張コネクタは、互
いの外形が異なる挿入部132、142と被挿入部13
3、143とが分離した形で別々に形成されているの
で、使用者は一見してソケット131及びプラグ141
の接続方向を認識することができる。また、一つの接続
方向(態様)でのみしか接続できないので、誤接続が生
じない。また、接続ピンに直接手が触れないという利点
がある。
【0638】
【発明の効果】以上説明したように、本発明によれば、
2本のデータ線と比較的に簡単なI/O回路構成で、ゲ
ーム装置(あるいはホスト)と周辺装置相互間のデータ
通信を行うことが可能となって好ましい。
【0639】また、データ通信を行うに際し、ネットワ
ークに接続された複数の装置のアドレス設定が自動的に
行われるので、ゲーム装置(あるいはホスト)に周辺装
置を自由に接続でき、また、接続した周辺装置の内容を
ゲーム装置が把握することが可能となるので、ゲーム装
置のような、コンシューマに向けたコンピュータシステ
ムとして好都合である。
【図面の簡単な説明】
【図1】図1は、ホスト(ゲーム装置)1と周辺装置2
及び拡張周辺装置3の例を説明する説明図である。
【図2】図2は、ホストの制御系を説明するブロック図
である。
【図3】図3は、ホストとデバイスの接続関係を説明す
るブロック図である。
【図4】図4は、ホスト、上位デバイス及び下位デバイ
スの関係を説明するブロック図である。
【図5】図5は、絶対位置の割当てを説明するブロック
図である。
【図6】図6は、ホストから見たデバイスが位置透過性
を持つことを説明するブロック図である。
【図7】図7は、転送データの1フレームの構成を説明
する説明図である。
【図8】図8は、ソフトウェアの側面からインタフェー
スの構成を説明するブロック図である。
【図9】図9は、ホストとデバイス間の通信プロトコル
の階層を説明するブロック図である。
【図10】図10は、データの伝送方式を説明する説明
図である。
【図11】図11は、伝送フレームの標準フォーマット
を説明する説明図である。
【図12】図12は、伝送フレームのCRCオプション
付きフォーマットを説明する説明図である。
【図13】図13は、同期パターンの、スタートパター
ン(a)と、エンドパターン(b)を説明する説明図で
ある。
【図14】図14は、CRCオプションスタートパター
ンを説明する説明図である。
【図15】図15は、SDCKB占有許可パターンを説
明する説明図である。
【図16】図16は、リセットパターンを説明する説明
図である。
【図17】図17は、ホストとデバイスファンクション
間の交信の態様を説明する説明図である。
【図18】図18(a)は、ホストからのコマンドに対
して各デバイスファンクションが応答する形式でデータ
通信が間欠的に行われるMバス上の様子を説明する説明
図である。同図(b)は、送信すべきデータが長いとき
に、複数の送信フレームを使用してデータを間欠的に送
信する例を説明する説明図である。
【図19】図19は、デバイスにおける動作を概略的に
説明する説明図である。
【図20】図20は、絶対位置(AP)設定の手順を説
明する説明図である。
【図21】図21は、ホスト用MIEを説明するブロッ
ク回路図である。
【図22】図22は、フレームエンコーダの動作原理を
説明するブロック回路図である。
【図23】図23は、フレームエンコーダの動作を説明
するタイミング図である。
【図24】図24は、オルタネイトシフトレジスタの動
作原理を説明するブロック回路図である。
【図25】図25は、オルタネイトシフトレジスタ(パ
ラレル・シリアル変換)の動作を説明するタイミング図
である。
【図26】図26は、フレームデコーダの動作原理を説
明するブロック回路図である。
【図27】図27は、フレームデコーダの動作を説明す
るタイミング図である。
【図28】図28は、オルタネイトシフトレジスタ(シ
リアル・パラレル変換)の動作原理を説明するブロック
回路図である。
【図29】図29は、オルタネイトシフトレジスタの動
作を説明するタイミング図である。
【図30】図30は、標準コントローラの全体の構成を
概略的に示すブロック図である。
【図31】図31は、標準コントローラのMIEを説明
するブロック図である。
【図32】図32は、データの透過(位置透過)なバス
切替部を説明するブロック図である。
【図33】図33は、U−デバイスのMIEを説明する
ブロック回路図である。
【図34】図34は、L−デバイスのMIEを説明する
ブロック回路図である。
【図35】図35は、MIEにおける送信パターンの判
別を説明するフローチャートである。
【図36】図36は、標準フォーマットのフレーム信号
の形成を説明するフローチャートである。
【図37】図37は、CRCオプション付きフォーマッ
トのフレーム信号の形成を説明するフローチャートであ
る。
【図38】SDCKB占有パターンによる動作を説明す
るフローチャートである。
【図39】図39は、リセットパターンの送出を説明す
るフローチャートである。
【図40】図40は、MIEにおける受信動作を説明す
るフローチャートである。
【図41】図41は、スタートパターンを検出した場合
の処理を説明するフローチャートである。
【図42】図42は、CRC付きスタートパターンを検
出した場合の処理を説明するフローチャートである。
【図43】図43は、ホストがデバイスに保持される固
有情報を読出す例を説明するフローチャートである。
【図44】図44は、ホストと、基本デバイス、拡張デ
バイスの接続の複数の態様について説明する説明図であ
る。
【図45】図45は、ホストとファンクション(基本デ
バイス、拡張デバイス)との関係を概念的に説明する説
明図である。
【図46】図46は、ホストと基本及び拡張デバイスと
の間のデータ通信を階層化モデルで説明する説明図であ
る。
【図47】図47は、基本デバイスと各拡張デバイスと
の接続関係を説明する説明図である。
【図48】図48は、フレームデータの構成を説明する
説明図である。
【図49】図49は、タイムアウトを説明する説明図で
ある。
【図50】図50は、SDCKA信号及びSDCKB信
号によるデータ伝送を説明する説明図である。
【図51】図51は、スタートパターン及びエンドパタ
ーンを説明する説明図である。
【図52】図52は、SDCKB占有許可パターンを説
明する説明図である。
【図53】図53は、リセットパターンを説明する説明
図である。
【図54】図54は、フレームのフォーマットを説明す
る説明図である。
【図55】図55は、ホストと周辺装置(基本デバイ
ス、拡張デバイス)間のデータ伝送の概略を説明する説
明図である。
【図56】図56(a)は、ホストからデバイスに送ら
れたコマンドに対して各デバイスが応答する形式でデー
タ通信が間欠的に行われることを説明する説明図であ
る。同図(b)は、送信すべきデータが1送信フレーム
で送れる量よりも大きい場合に、該データを複数のデー
タに分割し、複数の送信フレームで間欠的に送信する例
を説明する説明図である。
【図57】図57は、ホスト、各基本デバイス、各拡張
デバイスの全AP値を説明する説明図である。
【図58】図58は、基本デバイスのAP設定(絶対ア
ドレス)の手順を説明する説明図である。
【図59】図59は、拡張デバイスのAP設定(絶対ア
ドレス)手順を説明する説明図である。
【図60】図60は、ホスト、基本デバイス、拡張デバ
イス間のフレームデータ転送を説明する説明図である。
【図61】図61は、ホストと基本デバイス(あるいは
拡張デバイス)との通常の交信手順を説明する説明図で
ある。
【図62】図62は、ホストと基本デバイス間のSDC
KB占有手順を説明する説明図である。
【図63】図63は、ホストのMIEを説明するブロッ
ク図である。
【図64】図64は、基本デバイスの構成を説明するブ
ロック図である。
【図65】図65は、基本デバイスのMIEの構成を説
明するブロック図である。
【図66】図66は、基本デバイスと拡張デバイスの接
続を説明するブロック図である。
【図67】図67は、基本デバイスがホストからデータ
を受信する場合の手順を説明する説明図である。
【図68】図68は、基本デバイスがホストから送受信
バッファ以上のデータを受信する場合の手順を説明する
説明図である。
【図69】図69は、基本デバイスからホストにデータ
を送信する場合の手順を説明する説明図である。
【図70】図70は、基本デバイスからホストにMIE
の送受信バッファの容量以上のデータを送信する場合の
手順を説明する説明図である。
【図71】図71は、コマンド"Device Request"を説明
する説明図である。
【図72】図68は、コマンド"All Status Request"を
説明する説明図である。
【図73】図73は、コマンド"Device Reset"を説明す
る説明図である。
【図74】図74は、コマンド"Device Kill"を説明す
る説明図である。
【図75】図75は、コマンド"Date Transfer"を説明
する説明図である。
【図76】図76は、コマンド"Get Condition"を説明
する説明図である。
【図77】図77は、コマンド"Get Media Info"を説明
する説明図である。
【図78】図78は、コマンド"Block Read"を説明する
説明図である。
【図79】図79は、コマンド"Block Write"を説明す
る説明図である。
【図80】図80は、コマンド"Get Last Error"を説明
する説明図である。
【図81】図81は、相対アドレスの基本デバイス(ゲ
ームコントローラ)の例を示すブロック図である。
【図82】図82は、絶対アドレスの基本デバイス(ゲ
ームコントローラ)の例を示すブロック図である。
【図83】図83は、相対アドレスの拡張デバイス(L
CDカートリッジ)の例を示すブロック図である。
【図84】図84は、絶対アドレスの拡張デバイス(L
CDカートリッジ)の例を示すブロック図である。
【図85】図85は、相対アドレスの拡張デバイス(メ
モリカートリッジ)の例を示すブロック図である。
【図86】図86は、絶対アドレスの拡張デバイス(メ
モリカートリッジ)の例を示すブロック図である。
【図87】図87は、相対アドレスの拡張デバイス(振
動カートリッジ)の例を示すブロック図である。
【図88】図88は、絶対アドレスの拡張デバイス(振
動カートリッジ)の例を示すブロック図である。
【図89】図89は、相対アドレスの拡張デバイス(ラ
イトガンカートリッジ)の例を示すブロック図である。
【図90】図90は、絶対アドレスの拡張デバイス(ラ
イトガンカートリッジ)の例を示すブロック図である。
【図91】図91は、相対アドレスの拡張デバイス(音
声入力カートリッジ)の例を示すブロック図である。
【図92】図92は、絶対アドレスの拡張デバイス(音
声入力カートリッジ)の例を示すブロック図である。
【図93】図93は、相対アドレスの拡張デバイス(音
声出力カートリッジ)の例を示すブロック図である。
【図94】図94は、絶対アドレスの拡張デバイス(音
声出力カートリッジ)の例を示すブロック図である。
【図95】図95は、Mバスをワイヤレス(無線通信)
で構成する例を説明する説明図である。
【図96】図96は、Mバスをワイヤレス(光通信)で
構成する他の例を説明する説明図である。
【図97】図97(a)は、ゲームコントローラのMバ
スコネクタを説明する説明図である。同図(b)は、ゲ
ームコントローラのLMバスコネクタを説明する説明図
である。
【図98】図98は、他のゲームコントローラの例を説
明する説明図である。
【図99】図99は、Mバスコネクタのソケット例を説
明する正面図である。
【図100】図100(a)は、Mバスコネクタのプラ
グを説明する側面図、同図(b)は同プラグの上面図、
同図(c)は同プラグの正面図である。
【図101】図101は、Mバスケーブルの周辺装置
(基本デバイス)側に設けられるコネクタの説明図であ
る。
【図102】図102(a)は、LMバスコネクタのソ
ケットの上面図、同図(b)は、同プラグの正面図であ
る。
【図103】図103(a)は、LMバスコネクタのプ
ラグの上面図、同図(b)は、同プラグの正面図であ
る。
【符号の説明】
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 301 CPU部 304 MIE 306〜355 サポート機能

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】1つのシリアルデータを第1及び第2のデ
    ータ信号に分配してデータを伝送するデータ伝送方法で
    あって、 前記第1のデータ信号は、一定間隔のパルス列によって
    形成される第1のクロック信号の各パルス間に、前記シ
    リアルデータの奇数ビットの各々を夫々配置してなり、 前記第2のデータ信号は、前記第1のクロック信号と同
    周期のパルス列によって形成される第2のクロック信号
    の各パルス間に、前記シリアルデータの偶数ビットの各
    々を夫々配置してなり、 前記第1のデータ信号は、そのクロック信号成分のパル
    スエッジが時間軸上において前記第2のデータ信号のデ
    ータ部分に位置するように伝送され、 前記第2のデータ信号は、そのクロック信号成分のパル
    スエッジが時間軸上において前記第1のデータ信号のデ
    ータ部分に位置するように伝送される、 ことを特徴とするデータ伝送方法。
  2. 【請求項2】前記第1及び第2のデータ信号のうちのい
    ずれか一方のデータ信号のクロック信号成分のパルスエ
    ッジで、他方のデータ信号のレベルをラッチすることに
    よって、前記他方のデータ信号に重畳されたデータを分
    離する、 ことを特徴とする請求項1記載のデータ伝送方法。
  3. 【請求項3】少なくとも、データの開始情報を担うスタ
    ートパターン、シリアルデータを担うデータパターン及
    びデータの終了情報を担うエンドパターンを含む伝送フ
    ォーマットで定義されるデータフレームを第1及び第2
    のデータ信号に分配して伝送するデータ伝送方法であっ
    て、 前記スタートパターンは、前記第1のデータ信号を一定
    値とし、前記第2のデータ信号を第1のパルス列信号と
    して形成され、 前記データパターンは、前記第1のデータ信号を、一定
    間隔の第2のパルス列信号の各パルス間に、前記シリア
    ルデータの奇数ビットの各々を夫々配置して形成すると
    共に、前記第2のデータ信号を、前記第2のパルス列信
    号の時間軸上の位置を所定値だけずらした第3のパルス
    列信号の各パルス間に、前記シリアルデータの偶数ビッ
    トの各々を夫々配置して形成し、 前記エンドパターンは、前記第2のデータ信号を一定値
    とし、前記第1のデータ信号を第4のパルス列信号とし
    て形成される、 ことを特徴とするデータ伝送方法。
  4. 【請求項4】1つ又は複数の周辺装置に信号の伝送路を
    介して2つのデータ信号を同時に送信してゲームに必要
    な情報の送信を要求するゲーム装置であって、 第1のデータ信号を第1の期間中一定値状態とし、第2
    のデータ信号を前記第1の期間中クロック信号状態とし
    て、2つのデータ信号で表されるスタートパターンを形
    成するスタートパターン形成手段と、 前記周辺装置に送信すべきデータを2つのデータ列に分
    け、第1のデータ列の各ビットを第1のクロック信号の
    各パルス間にそれぞれ挿入して前記第1のデータ信号を
    形成し、第2のデータ列の各ビットを前記第1のクロッ
    ク信号と所定の位相差を有する同周期の第2のクロック
    信号の各パルス間にそれぞれ挿入して前記第2のデータ
    信号を形成し、2つのデータ信号で表されるデータパタ
    ーンを形成するデータパターン形成手段と、 前記第2のデータ信号を第2の期間中一定値状態とし、
    前記第1のデータ信号を前記第2の期間中クロック信号
    状態として、2つのデータ信号で表されるエンドパター
    ンを形成するエンドパターン形成手段と、 前記スタートパターン、前記データパターン及び前記エ
    ンドパターンを含む、2つのデータ信号で表されるフレ
    ームを形成し、これを送信単位として前記周辺装置に送
    出するフレーム形成手段と、 を備えるゲーム装置。
  5. 【請求項5】前記データはシリアルデータであり、前記
    第1のデータ列は前記シリアルデータの奇数ビットのデ
    ータ列、前記第2のデータ列は前記シリアルデータの偶
    数ビットのデータ列である、請求項4記載のゲーム装
    置。
  6. 【請求項6】前記所定の位相差は、前記データパターン
    を表す2つのデータ信号のうちの一方のデータ信号に含
    まれるクロック信号のパルスエッジが時間軸上において
    他方のデータ信号のデータ部分に位置し、前記他方のデ
    ータ信号に含まれるクロック信号のパルスエッジが時間
    軸上において前記一方のデータ信号のデータ部分に位置
    するように定められる、請求項4記載のゲーム装置。
  7. 【請求項7】前記データパターンはコマンド及びパラメ
    ータを含み、前記パラメータは少なくとも前記フレーム
    を受信すべき前記信号の伝送路に接続された周辺装置の
    アドレスを含む、請求項4記載のゲーム装置。
  8. 【請求項8】前記信号の伝送路は、データ信号線、無線
    通信チャネル及び光通信チャネルのうち少なくともいず
    れかを含む、請求項4記載のゲーム装置。
  9. 【請求項9】1つ又は複数の入出力ポートを有するゲー
    ム装置に2つのデータ信号を同時に送信してゲームに必
    要な情報を送るゲーム装置の周辺装置であって、 第1のデータ信号を第1の期間中一定値状態とし、第2
    のデータ信号を前記第1の期間中クロック信号状態とし
    て、2つのデータ信号で表されるスタートパターンを形
    成するスタートパターン形成手段と、 前記ゲーム装置に送信すべきデータを2つのデータ列に
    分け、第1のデータ列の各ビットを第1のクロック信号
    の各パルス間にそれぞれ挿入し、第2のデータ列の各ビ
    ットを前記第1のクロック信号と所定の位相差を有する
    同周期の第2のクロック信号の各パルス間にそれぞれ挿
    入して、2つのデータ信号で表されるデータパターンを
    形成するデータパターン形成手段と、 前記第2のデータ信号を第2の期間中一定値状態とし、
    前記第1のデータ信号を前記第2の期間中クロック信号
    状態として、2つのデータ信号で表されるエンドパター
    ンを形成するエンドパターン形成手段と、 前記スタートパターン、前記データパターン及び前記エ
    ンドパターンを含む、2つのデータ信号で表されるフレ
    ームを形成し、これを送信単位として前記ゲーム装置に
    送出するフレーム形成手段と、 を備えるゲーム装置の周辺装置。
  10. 【請求項10】前記データはシリアルデータであり、前
    記第1のデータ列は前記シリアルデータの奇数ビットの
    データ列、前記第2のデータ列は前記シリアルデータの
    偶数ビットのデータ列である、請求項9記載のゲーム装
    置の周辺装置。
  11. 【請求項11】前記所定の位相差は、前記データパター
    ンを表す2つのデータ信号のうちの一方のデータ信号に
    含まれるクロック信号のパルスエッジが時間軸上におい
    て他方のデータ信号のデータ部分に位置し、前記他方の
    データ信号に含まれるクロック信号のパルスエッジが時
    間軸上において前記一方のデータ信号のデータ部分に位
    置するように定められる、請求項9記載のゲーム装置の
    周辺装置。
  12. 【請求項12】前記データパターンはコマンド及びパラ
    メータを含み、前記パラメータは少なくとも前記フレー
    ムを受信すべき前記ゲーム装置の入出力ポートのアドレ
    スを含む、請求項9記載のゲーム装置の周辺装置。
  13. 【請求項13】前記信号の伝送路は、データ信号線、無
    線通信チャネル及び光通信チャネルのうち少なくともい
    ずれかを含む、請求項9記載のゲーム装置の周辺装置。
  14. 【請求項14】前記データパターンは、コマンド及びパ
    ラメータを含み、前記パラメータは、前記フレームを送
    信する周辺装置の前記伝送路上のアドレスを表す送信元
    アドレスを含み、この送信元アドレスは、周辺装置が予
    め保持している周辺装置の種類を表す周辺装置識別情報
    と、前記ゲーム装置から通知される周辺装置が接続され
    た入出力ポートの情報と、に基づいて形成される、 請求項9記載のゲーム装置の周辺装置。
  15. 【請求項15】1つ又は複数の入出力ポートを備えるゲ
    ーム装置のいずれかの入出力ポートに接続されるデータ
    伝送路を介して、前記ゲーム装置とデータ通信を行う周
    辺装置であって、 周辺装置の種類を表す周辺装置の識別情報を予め記憶す
    る第1の記憶手段と、 前記ゲーム装置から通知される、前記データ伝送路が接
    続された入出力ポートを表す入出力ポート情報を記憶す
    る第2の記憶手段と、 前記周辺装置識別情報と前記入出力ポート情報とに基づ
    いて、前記ゲーム装置に送信すべきデータに加える自己
    の送信元アドレスを形成する送信元アドレス形成手段
    と、 を備える周辺装置。
  16. 【請求項16】ゲーム装置とのデータ通信を該ゲーム装
    置に設けられた1つ又は複数の入出力ポートのいずれか
    に接続されるデータ伝送路を介して行う周辺装置であっ
    て、 前記データ伝送路に接続される1つの基本コネクタと、 他の周辺装置を前記データ伝送路に接続するために、前
    記基本コネクタを介して前記データ伝送路に接続される
    1つ又は複数の拡張コネクタと、 前記基本コネクタを介して前記ゲーム装置とデータ通信
    を行う入出力コントローラと、を備え、前記入出力コン
    トローラは、 自己が前記ゲーム装置に直接的に接続されるべき周辺装
    置であることを表す周辺装置識別情報を予め記憶する第
    1の記憶手段と、 前記ゲーム装置から通知される、前記データ伝送路が接
    続された入出力ポートを表す入出力ポート情報を記憶す
    る第2の記憶手段と、 各拡張コネクタへの前記他の周辺装置の接続の有無を判
    別して、他の周辺装置の接続状態を表す接続情報を形成
    する接続判別手段と、 前記周辺装置識別情報、前記入出力ポート情報及び前記
    接続情報を含む、送信データに付加すべき、送信元アド
    レスを形成する送信元アドレス形成手段と、 を含む周辺装置。
  17. 【請求項17】前記判別手段は、前記他の周辺装置によ
    ってバイアス電圧が供給されるようになされたレベルシ
    フト回路が接続された前記拡張コネクタの特定の端子の
    電圧レベルを弁別することによって前記拡張ソケットへ
    の接続の有無を判断する、請求項16記載の周辺装置。
  18. 【請求項18】請求項16記載の周辺装置に前記拡張コ
    ネクタを介して接続される拡張周辺装置であって、 前記拡張コネクタへの接続後に、該拡張コネクタを介し
    て前記入出力コントローラから通知される、この拡張コ
    ネクタの番号を表すコネクタ識別情報を記憶する第1の
    記憶手段と、 前記拡張コネクタに接続されるべき周辺装置であること
    を表す拡張周辺装置情報を予め保持する第2の記憶手段
    と、 前記ゲーム装置から、前記データ伝送路、前記基本コネ
    クタ及び前記拡張コネクタを介して通知される、前記デ
    ータ伝送路が接続された入出力ポートを表す入出力ポー
    ト情報を記憶する第3の記憶手段と、 前記拡張周辺装置情報、前記入出力ポート情報及び前記
    接続情報を含む、送信データに付加すべき、送信元アド
    レスを形成する送信元アドレス形成手段と、 を含む拡張周辺装置。
  19. 【請求項19】1つ又は複数の拡張周辺装置を夫々に設
    けられた副データ伝送路を介して接続することができる
    ように構成された基本周辺装置を主データ伝送路を介し
    て接続するための1つ又は複数の入出力ポートを備える
    ゲーム装置であって、 前記周辺装置のいずれかとフレーム信号を用いて間欠的
    なデータ通信を行う入出力コントローラを備え、 前記データ通信は、前記入出力コントローラからの命令
    に、該当する周辺装置が応答する形式で行われ、 前記フレーム信号は、データパターンの開始を表すスタ
    ートパターン、通信データを担うデータパターン、デー
    タパターンの終了を表すエンドパターン、を含み、 前記データパターンは、コマンド及びパラメータを含
    み、 前記パラメータは、送信先アドレス及び送信元アドレス
    を含み、 前記送信先アドレス及び前記送信元アドレスの各々は、
    通信に使用される前記主データ伝送路、通信対象周辺装
    置の基本/拡張の区別、及び通信に使用される前記副デ
    ータ伝送路の情報を含んで形成される、ゲーム装置。
  20. 【請求項20】前記主データ伝送路に前記副データ伝送
    路の各々が並列に接続される、請求項19記載のゲーム
    装置。
  21. 【請求項21】前記基本周辺装置及び前記拡張周辺装置
    の各々は、周辺装置の種類や装置固有の情報を含む固有
    情報を保持し、前記ゲーム装置は、この固有情報を前記
    データ通信によって読み出す、請求項19記載のゲーム
    装置。
  22. 【請求項22】前記固有情報を参照してゲームアプリケ
    ーションと周辺装置との適合性を判別する、請求項21
    記載のゲーム装置。
  23. 【請求項23】前記主データ伝送路は2つのデータ線に
    よって構成され、前記フレーム信号を分割した2つのデ
    ータ信号が、それぞれ前記2つのデータ線を伝送する、
    請求項19記載のゲーム装置。
  24. 【請求項24】1つ又は複数の拡張周辺装置を夫々に設
    けられた副データ伝送路を介して接続することができる
    と共に、1つ又は複数の入出力ポートを備えるゲーム装
    置に主データ伝送路を介して接続されるゲーム装置の基
    本周辺装置であって、 前記ゲーム装置とフレーム信号を用いて間欠的なデータ
    通信を行う入出力コントローラを備え、 前記データ通信は、前記ゲーム装置からの命令に前記入
    出力コントローラが応答する形式で行われ、 前記フレーム信号は、データパターンの開始を表すスタ
    ートパターン、通信データを担うデータパターン、デー
    タパターンの終了を表すエンドパターン、を含み、 前記データパターンは、コマンド及びパラメータを含
    み、 前記パラメータは、送信先アドレス及び送信元アドレス
    を含み、 前記送信先アドレス及び前記送信元アドレスの各々は、
    通信に使用される前記主データ伝送路、通信対象の周辺
    装置の親子の区別及び通信に使用される前記副データ伝
    送路の情報を含んで形成される、ゲーム装置の基本周辺
    装置。
  25. 【請求項25】前記主データ伝送路に接続するコネクタ
    と、前記コネクタを介して前記主データ伝送路と前記副
    データ伝送路の各々とを並列に接続する複数の拡張コネ
    クタと、を備える請求項24記載のゲーム装置の基本周
    辺装置。
  26. 【請求項26】周辺装置の種類や装置固有の情報を含む
    固有情報を記憶する記憶手段を有し、前記ゲーム装置か
    らの求めに応じて、この固有情報を前記データ通信によ
    って送信する、請求項24記載のゲーム装置の基本周辺
    装置。
  27. 【請求項27】前記主データ伝送路は2つのデータ線に
    よって構成され、前記フレーム信号を分割した2つのデ
    ータ信号が、それぞれ前記2つのデータ線を伝送する、
    請求項24記載のゲーム装置の基本周辺装置。
  28. 【請求項28】副データ伝送路、拡張周辺装置を接続可
    能な基本周辺装置、及び主データ伝送路を介してゲーム
    装置に接続されるゲーム装置の拡張周辺装置であって、 前記ゲーム装置とフレーム信号を用いて間欠的なデータ
    通信を行う入出力コントローラを備え、 前記データ通信は、前記ゲーム装置からの命令に前記入
    出力コントローラが応答する形式で行われ、 前記フレーム信号は、データパターンの開始を表すスタ
    ートパターン、通信データを担うデータパターン、デー
    タパターンの終了を表すエンドパターン、を含み、 前記データパターンは、コマンド及びパラメータを含
    み、 前記パラメータは、送信先アドレス及び送信元アドレス
    を含み、 前記送信先アドレス及び前記送信元アドレスの各々は、
    通信に使用される前記主データ伝送路、通信対象周辺装
    置の基本/拡張の区別、及び通信に使用される前記副デ
    ータ伝送路の情報を含んで形成される、ゲーム装置の拡
    張周辺装置。
  29. 【請求項29】前記主データ伝送路は2つのデータ線に
    よって構成され、前記副データ伝送路は上り方向の2つ
    のデータ線と、下り方向の2つのデータ線とによって構
    成され、前記フレーム信号を分割した2つのデータ信号
    が、それぞれ前記2つのデータ線を伝送する、請求項2
    8記載のゲーム装置の拡張周辺装置。
  30. 【請求項30】コンピュータシステムを請求項3記載の
    ゲーム装置として動作させるプログラムを記憶した情報
    記憶媒体。
  31. 【請求項31】コンピュータシステムを請求項9記載の
    周辺装置として動作させるプログラムを記憶した情報記
    憶媒体。
  32. 【請求項32】コンピュータシステムを請求項16記載
    の周辺装置として動作させるプログラムを記憶した情報
    記憶媒体。
  33. 【請求項33】コンピュータシステムを請求項18記載
    の周辺装置として動作させるプログラムを記憶した情報
    記憶媒体。
JP10308413A 1997-05-14 1998-10-29 データ伝送方法及びこれを用いたゲームシステム Withdrawn JPH11234362A (ja)

Applications Claiming Priority (4)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10131803A Division JP2870538B2 (ja) 1997-05-14 1998-05-14 データ伝送方法及びこれを用いたゲームシステム

Publications (1)

Publication Number Publication Date
JPH11234362A true JPH11234362A (ja) 1999-08-27

Family

ID=26463550

Family Applications (2)

Application Number Title Priority Date Filing Date
JP10131803A Expired - Fee Related JP2870538B2 (ja) 1997-05-14 1998-05-14 データ伝送方法及びこれを用いたゲームシステム
JP10308413A Withdrawn JPH11234362A (ja) 1997-05-14 1998-10-29 データ伝送方法及びこれを用いたゲームシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP10131803A Expired - Fee Related JP2870538B2 (ja) 1997-05-14 1998-05-14 データ伝送方法及びこれを用いたゲームシステム

Country Status (8)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005158056A (ja) * 2003-11-04 2005-06-16 Matsushita Electric Ind Co Ltd コンテンツ移動システムおよびこれに用いられるコンテンツ送出機器
JP2008219766A (ja) * 2007-03-07 2008-09-18 Nec Corp 通信ノード及び該通信ノードを有するネットワーク・システムとデータ伝送方法
JP2010221065A (ja) * 2000-08-23 2010-10-07 Nintendo Co Ltd 情報処理システム
JP2011233055A (ja) * 2010-04-30 2011-11-17 Nintendo Co Ltd 入力装置
JP2020065195A (ja) * 2018-10-18 2020-04-23 株式会社東海理化電機製作所 通信装置

Families Citing this family (8)

* 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 データ処理装置および周辺機器およびデータ処理方法および記憶媒体
JP2002175263A (ja) * 2000-12-05 2002-06-21 Canon Inc 電子機器、制御方法及び記録媒体
JP2005027729A (ja) * 2003-07-08 2005-02-03 Olympia:Kk 遊技機用サブ基板及びこれを備える遊技機並びに検査装置
KR100866603B1 (ko) * 2007-01-03 2008-11-03 삼성전자주식회사 디시리얼라이징과 시리얼라이징을 수행하는 데이터 처리 방법 및 데이터 처리 장치
KR101319549B1 (ko) 2007-07-16 2013-10-21 삼성전자주식회사 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치
JP5137932B2 (ja) 2009-11-17 2013-02-06 株式会社ソニー・コンピュータエンタテインメント 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体、拡張機器
KR102384855B1 (ko) * 2017-09-29 2022-04-08 주식회사 한화 신호 처리 방법, 장치 및 프로그램

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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010221065A (ja) * 2000-08-23 2010-10-07 Nintendo Co Ltd 情報処理システム
JP2005158056A (ja) * 2003-11-04 2005-06-16 Matsushita Electric Ind Co Ltd コンテンツ移動システムおよびこれに用いられるコンテンツ送出機器
JP2008219766A (ja) * 2007-03-07 2008-09-18 Nec Corp 通信ノード及び該通信ノードを有するネットワーク・システムとデータ伝送方法
JP2011233055A (ja) * 2010-04-30 2011-11-17 Nintendo Co Ltd 入力装置
JP2020065195A (ja) * 2018-10-18 2020-04-23 株式会社東海理化電機製作所 通信装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US6324603B1 (en) Data transmission system and game system using the same
JP2870538B2 (ja) データ伝送方法及びこれを用いたゲームシステム
US10482057B2 (en) Multi-protocol dynamic address allocation
CN101911000B (zh) 用于连接电子装置的控制总线
US7043568B1 (en) Configuration selection for USB device controller
CN102591834B (zh) 单线总线系统
CN102203851A (zh) 在标准设备连接器上的可选内容的传输
US20040225812A1 (en) Method and apparatus for interconnecting wired-AND buses
CN102147781A (zh) 具有多重版本通用串行总线的主机板及其相关的方法
JPH09503610A (ja) データストリームモード切換機能を備えたメモリ装置
JPS60500195A (ja) デイジタル通信リンクに円滑に割込む方法と装置
CA2413420C (en) System and method for establishing wireless connection
CN104834619A (zh) 一种i2c总线电路、实现方法以及电子设备
CN100483375C (zh) 多媒体模块卡、用于操作它的设备和集成多媒体系统
CN116566761A (zh) Spi双主机共享仲裁系统及方法
WO2000030314A1 (fr) Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede
JP3477306B2 (ja) 拡張入出力インターフェイス
CN102929828B (zh) 同时支持标准和非标准i2c接口的数据传输方法及装置
MXPA99000582A (en) Data transmission method and game system constructed by using the method
JPH08316973A (ja) 通信処理手段
CN111913904A (zh) 向利用主从通信协议的多个从属装置自动分配互不相同地址的方法及用于其的装置
JP4219784B2 (ja) 情報処理装置の拡張ユニット
JP2006031235A (ja) 情報処理装置、外部装置、ホスト装置、及び通信方法
SU864276A1 (ru) Устройство дл сопр жени цифровой вычислительной машины с лини ми св зи
JP3029253U (ja) モニタ識別情報制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802