WO2001006708A1 - Dispositif de gestion de transfert de donnees et appareil electronique - Google Patents

Dispositif de gestion de transfert de donnees et appareil electronique Download PDF

Info

Publication number
WO2001006708A1
WO2001006708A1 PCT/JP2000/004637 JP0004637W WO0106708A1 WO 2001006708 A1 WO2001006708 A1 WO 2001006708A1 JP 0004637 W JP0004637 W JP 0004637W WO 0106708 A1 WO0106708 A1 WO 0106708A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data transfer
packet
reset
control device
Prior art date
Application number
PCT/JP2000/004637
Other languages
English (en)
French (fr)
Inventor
Takuya Ishida
Yoshiyuki Kamihara
Original Assignee
Seiko Epson Corporation
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 Seiko Epson Corporation filed Critical Seiko Epson Corporation
Priority to US09/787,077 priority Critical patent/US6978327B1/en
Priority to DE60038359T priority patent/DE60038359T2/de
Priority to EP00946266A priority patent/EP1120936B1/en
Publication of WO2001006708A1 publication Critical patent/WO2001006708A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)
  • Credit Cards Or The Like (AREA)

Description

明 細 書 デ一夕転送制御装置及び電子機器 [技術分野]
本発明は、 データ転送制御装置及びこれを含む電子機器に関し、 特に、 バス に接続される複数のノード間で I E E E 1 3 9 4などの規格に準じたデ一夕転 送を行うデータ転送制御装置及びこれを含む電子機器に関する。 [背景技術]
近年、 I E E E 1 3 9 4と呼ばれるィン夕ーフヱ一ス規格が脚光を浴びてい る。 この I E E E 1 3 9 4は、 次世代のマルチメディアにも対応可能な高速シ リアルバスィン夕一フェースを規格化したものである。 この I E E E 1 3 9 4 によれば、 動画像などのリアルタイム性が要求されるデータも扱うことができ る。 また、 I E E E 1 3 9 4のバスには、 プリン夕、 スキャナ、 C D— R Wド ライブ、 ハードディスク ドライブなどのコンピュータの周辺機器のみならず、 ビデオカメラ、 V T R、 T Vなどの家庭用電化製品も接続できる。 このため、 電子機器のデジ夕ル化を飛躍的に促進できるものとして期待されている。
さて、 この I E E E 1 3 9 4においては、 バスに電子機器が新たに接続され たり、 バスから電子機器が取り外されたりして、 バスに接続されるノードが増 減すると、 いわゆるバスリセッ トが発生する。 そしてバスリセッ トが発生する とノードのトポロジ情報がクリアされ、 その後、 トポロジ情報が自動的に再設 定される。 即ち、 バスリセッ トの発生後、 ツリー識別 (ルートノードの決定) 、 自己識別が行われ、 その後、 ァイソクロナスリソースマネージャ等の管理ノー ドが決定される。 そして通常のパケッ ト転送が開始される。
このように I E E E 1 3 9 4では、 バスリセッ ト後にトポロジ情報が自動的 に再設定されるため、 いわゆるホッ ト状態でのケ一ブルの抜き差し (ホッ トプ ラグ) が可能となる。 このため、 一般ユーザは、 V T Rなどの通常の家庭用電 化製品と同じように、 電子機器へのケーブルの抜き差を自由にできるようにな り、 いわゆるホームネッ トワークシステムの普及に役立つことができる。 しかしながら、 このようなバスリセッ トには、 以下のような問題があること が判明した。
( 1 ) バスリセッ 卜の発生によりノード I D等のトポロジ情報がクリアされる ため、 トランザクションの途中でバスリセッ トが発生した場合には、 トランザ クシヨンを再度やり直す必要がある。 従って、 各ノードは、 バスリセッ ト発生 時に、 どのトランザクションが未完了であつたかを判断する必要がある。 しかしながら、 パケッ トを処理するファームウェア (C P U ) の処理能力は 一般的に低く、 受信パケッ トに対する処理は、 そのパケッ トの受信後、 所与の 時間が経過してから行われる。 このため、 多くの未処理のパケッ トが常に存在 しており、 これらの多くの未処理のパケヅ卜が、 バスリセッ トの前後のいずれ に受信したパケッ トなのかを区別する処理が必要になる。 ところが、 このよう な処理はファームウェアにとって負担が非常に重い。 特に、 バスリセヅ ト後に はノード間で非常に多くのパケッ 卜が送受信されるため、 バスリセッ 卜後に受 信するバケツ 卜の数は非常に多く、 ファームウェアの処理負担の増加の問題は 更に深刻なものとなる。
( 2 ) ファームウェアがバケツ 卜の送信開始コマンドを発行した後にバスリセ ッ トが発生した場合、 その送信は中止される。 ところが、 例えば送信開始コマ ンドの発行とバスリセッ 卜とがほぼ同時に起きた場合には、 バスリセッ 卜の発 生により送信が中止したか否かをファームウェアは知ることができない。 この ため、 ファームウェアは、 送信完了のステータスが送られてくるまで待機する ことになつてしまい、 ファームウェアの処理がストールするおそれがある。
[発明の開示]
本発明は、 以上のような技術的課題に鑑みてなされたものであり、 その目的 とするところは、 ノードのトポロジ情報をクリァするリセッ 卜の発生時のファ ームウェアの処理負担を軽減でき、 リセット発生によるファームウェアの処理 のストール等を防止できるデータ転送制御装置及びこれが用いられる電子機器 を提供することにある。
上記課題を解決するために本発明は、 バスに接続される複数のノード間での デ一夕転送のためのデ一夕転送制御装置であって、 ノードの卜ポロジ情報をク リアするリセッ 卜から次のリセッ 卜までの間をリセッ トイン夕ーバルと定義し た場合に、 受信したパケッ トと次に受信したパケッ トとが異なるリセッ トイン 夕一バルに受信したパケッ トか否かを区別するための区別情報を生成する手段 と、 受信した各パケッ トと生成された各区別情報とを、 各パケッ トに各区別情 報を関連づけて、 バケツ ト記憶手段に書き込む書き込み手段とを含むことを特 徴とする。
本発明によれば、 例えば、 受信した第 Nのパケットに関連づけられた第 Nの 区別情報と、 次に受信した第 N + 1のパケッ トに関連づけられた第 N + 1の区 別情報とにより、 第 N、 N + 1のパケッ トが異なるリセッ トイン夕一バルに受 信されたか否かを区別できるようになる。 即ち、 第 N、 N + 1のパケッ トが、 同一の第 Mのリセッ トインタ一バルに受信された場合には、 第 N、 第 N + 1の 区別情報は例えば同じ値になり、 第 N、 N + 1のパケッ トが、 異なる第 M、 第 Lのリセッ トインターバルに受信された場合には、 第 N、 第 N + 1の区別情報 は例えば異なる値になる。 従って、 第 N、 第 N + 1の区別情報の変化を調べる ことで、 第 N、 第 N + 1のパケッ トが異なるリセッ トイン夕一バルに受信され たか否か、 即ち第 N、 第 N + 1のパケッ トの受信の間にリセッ トが発生したか 否を判別できるようになる。 従って、 ファームウェア等は、 リセッ トの発生場 所を容易に知ることができるようになり、 リセッ ト発生時の処理負担を軽減で きるようになる。
また本発明は、 前記区別情報が、 受信したパケッ トと次に受信したパケッ ト とが異なるリセッ トイン夕一バルに受信したバケツ トである場合に、 0から 1 に或いは 1から 0にトグルするトグルビッ トであることを特徴とする。 このよ うにすれば、 トグルビッ トの変化を調べるだけで、 リセッ トの発生場所を容易 に知ることができるようになり、 リセッ ト発生時のファームウェア等の処理負 担を更に軽減できるようになる。
また本発明は、 前記パケット記憶手段がランダムアクセス可能な記憶手段で あり、 前記パケッ ト記憶手段が、 パケッ トの制御情報が格納される制御情報領 域とバケツ トのデ一夕が格納されるデータ領域とに分離されている場合におい て、 前記区別情報を、 前記制御情報領域に書き込まれる前記制御情報の中に含 ませることを特徴とする。 このように、 パケッ ト記憶手段を制御情報領域とデ —夕領域に分離することで、 ファームウェア等の処理負担を軽減でき、 システ ム全体の実転送速度を向上できる。 そして、 区別情報を、 制御情報領域に書き 込まれる制御情報の中に含ませることで、 ファームウェア等は、 少ない処理負 担で区別情報を容易に読み出すことができるようになる。
また本発明は、 バスに接続される複数のノード間でのデ一夕転送のためのデ —夕転送制御装置であって、 各ノードから受信したパケッ トをパケッ ト記憶手 段に書き込む書き込み手段と、 ノードのトポロジ情報をクリアするリセッ 卜の 発生前の受信バケツ 卜の領域とリセッ 卜の発生後の受信バケツ 卜の領域との、 前記バケツ ト記憶手段における境界を特定する第 1のポインタ情報を記憶する 第 1のボイン夕記憶手段とを含むことを特徴とする。
本発明によれば、 ファームウェア等は、 第 1のポインタ記憶手段から第 1の ボイン夕情報を読み出すだけで、 リセッ ト発生前に受信したパケッ 卜とリセッ ト発生後に受信したパケッ トとを容易に区別できるようになる。 そして、 リセ ッ ト発生前に受信したバケツ 卜に対しては破棄する等の処理を行い、 リセッ ト 発生後に受信したパケッ トに対しては通常の処理を行うこと等が可能になる。 また本発明は、 リセッ トの発生の直前に受信したパケッ トの次のパケッ トの 先頭アドレスが、 前記第 1のポインタ情報として前記第 1のポインタ記憶手段 に記憶されることを特徴とする。 このようにすれば、 第 1のポインタ記憶手段 から第 1のポインタ情報を読み出すだけで、 リセッ 卜の発生の直前に受信した バケツ 卜の次のパケッ 卜に対する処理を開始できるようになり、 ファームゥェ ァ等の処理負担を軽減できる。
また本発明は、 処理済みパケッ トの領域と未処理のパケッ トの領域との、 前 記バケツ ト記憶手段における境界を特定する第 2のポインタ情報を記憶する第 2のポインタ記憶手段と、 受信済みバケツ 卜の領域とバケツ 卜を未受信の領域 との、 前記バケツ ト記憶手段における境界を特定する第 3のポインタ情報を記 憶する第 3のボイン夕記憶手段とを含むことを特徴とする。このようにすれば、 第 2、 第 3のポインタ記憶手段から第 2、 第 3のポインタ情報を読み出すだけ で、 未処理のパケッ トや、 最新に受信したパケッ トなどを容易に判別できるよ うになる。
また本発明は、 前記第 1のポインタ記憶手段に記憶される前記第 1のポイン 夕情報に基づいてリセッ ト発生後の受信バケツ トを特定し、 該バケツ 卜を優先 的に処理する処理手段を含むことを特徴とする。 このようにすれば、 リセッ ト 発生後の受信パケッ トが優先的に処理されるようになり、 ファームウェアの処 理がストールするなどの事態が生じるのを防止できるようになる。
また本発明は、 前記バケツ ト記憶手段がランダムアクセス可能な記憶手段で あり、 前記パケッ ト記憶手段が、 パケッ トの制御情報が格納される制御情報領 域とパケッ トのデータが格納されるデータ領域とに分離されている場合におい て、 前記第 1のポインタ記憶手段が、 ノードのトポロジ情報をクリアするリセ ッ 卜の発生前の受信バケツ 卜の制御情報とリセッ ト発生後の受信パケッ 卜の制 御情報との、 前記制御情報領域における境界を特定する第 4のポインタ情報を 記憶する第 4のポインタ記憶手段と、 ノードのトポロジ情報をクリアするリセ ッ 卜の発生前の受信パケッ トのデ一夕とリセッ ト発生後の受信パケッ トのデ一 夕との、 前記データ領域における境界を特定する第 5のポインタ情報を記憶す る第 5のポインタ記憶手段とを含むことを特徴とする。 このようにすれば、 第 5のポインタ記憶手段から第 5のポインタ情報を読み出すだけで、 リセッ ト発 生前後の受信パケッ 卜の、データ領域での境界を知ることができるようになり、 ファームウェア等の処理負担を更に軽減できる。
また本発明は、 前記データ領域が、 第 1の層用の第 1のデータが格納される 第 1のデ一夕領域と、 第 2の層用の第 2のデ一夕が格納される第 2のデータ領 域とに分離されている場合において、 前記第 5のポインタ情報が、 ノードのト ポロジ情報をクリアするリセッ 卜の発生前の受信バケツ 卜の第 1のデータとリ セッ 卜の発生後の受信バケツ 卜の第 1のデ一夕との、 前記第 1のデータ領域に おける境界を特定するボイン夕情報であることを特徴とする。 このようにすれ ば、 第 1の層 (例えばファームウェア) は、 第 1のデータ領域に格納される第 1のデータ (例えば O R B ) を、 リセッ トの発生の前後を区別して読み出すこ とができるようになり、第 1の層の処理負担を軽減できる。また、第 2の層(例 えばアプリケーション) は、 第 2のデータ領域に格納される第 2のデ一夕 (例 えばストリーム) を連続して読み出すことができるようになり、 デ一夕転送制 御装置の実転送速度を向上できるようになる。
また本発明は、 バスに接続される複数のノード間でのデータ転送のためのデ 一夕転送制御装置であって、 送信開始コマンドが発行された場合に、 パケッ ト 記憶手段からバケツ トを読み出す読み出し手段と、 読み出されたバケツ トを各 ノ一ドに送信するためのサービスを提供するリンク手段と、 ノードのトポロジ 情報をクリァするリセッ 卜の発生によりパケッ 卜の送信が中止された場合に、 リセッ 卜の発生によりパケッ 卜の送信が中止されたことを知らせるステータス 情報を記憶するステータス記憶手段とを含むことを特徴とする。
本発明によれば、 ファームウェア等は、 ステータス記憶手段からステータス 情報を読み出すことで、 リセッ 卜の発生によりバケツ トの送信が中止されたこ とを知ることができるようになる。 この結果、 例えば、 送信開始コマンドの発 行の少し前にリセッ トが発生した場合等においても、 ファームウェア等の処理 がス トールしてしまう事態を防止できるようになる。
また本発明は、 前記送信開始コマン ドを発行する処理手段を含み、 前記処理 手段が、 リセッ 卜の発生によりパケッ 卜の送信が中止されたと前記ステータス 情報に基づいて判断した場合には、送信が完了したか否かを判断することなく、 開始した送信処理をキャンセルすることを特徴とする。 このようにすれば、 フ アームウェア等は、 送信完了のステータスが送られてくるのを待つ必要がなく なり、 ファームウェア等の処理がストールする事態を防止できる。
また本発明では、 前記リセッ トが、 I E E E 1 3 9 4の規格において定義さ れるバスリセッ トであることが望ましい。
また、 本発明では、 I E E E 1 3 9 4の規格に準拠したデ一夕転送を行うこ とが望ましい。
また本発明に係る電子機器は、 上記のいずれかのデ一夕転送制御装置と、 前 記データ転送制御装置及びバスを介して他のノードから受信したデータに所与 の処理を施す装置と、 処理が施されたデータを出力又は記憶するための装置と を含むことを特徴とする。 また本発明に係る電子機器は、 上記のいずれかのデ 一夕転送制御装置と、 前記データ転送制御装置及びバスを介して他のノードに 送信するデータに所与の処理を施す装置と、 処理が施されるデータを取り込む ための装置とを含むことを特徴とする。
本発明によれば、 データ転送を制御するファームウェア等の処理負担を軽減 できるため、 電子機器の低コス ト化、 処理の高速化などを図ることができる。 また、 トポロジー情報をクリァするリセッ 卜の発生によりシステムがストール してしまうなどの事態を防止できるため、 電子機器の信頼性を高めることがで きる。
[図面の簡単な説明]
図 1は、 I E E E 1 3 9 4の層構造について示す図である。
図 2 A、 図 2 Bは、 トランザクション層やリンク層が提供する各種のサービ スについて説明するための図である。
図 3は、 S B P - 2について説明するための図である。 図 4は、 本実施形態のデータ転送制御装置の構成例を示す図である。
図 5は、 RAM (パケッ ト記憶手段) の分離 (分割) 手法について説明する ための図である。
図 6は、 比較例の構成について示す図である。
図 7は、 図 6の構成によるデータ転送の手法について説明するための図であ る。
図 8は、 本実施形態のデータ転送の手法について説明するための図である。 図 9A、 図 9 Bは、 バスリセッ トの発生によるトランザクションの中止につ いて説明するための図である。
図 10は、 トグルビッ ト BTについて説明するための図である。
図 1 1は、 トグルビッ ト B Tをヘッダに含ませる手法について説明するため の図である。
図 1 2は、 バスリセッ トポィン夕について説明するための図である。
図 13A、 図 13 B、 図 13 Cは、 バスリセッ トパケッ トを用いる場合とバ スリセッ トボイン夕を用いる場合のファームウェアの処理について説明するた めの図である。
図 14は、 バスリセッ ト ORBポィン夕について説明するための図である。 図 1 5 A、 図 1 5 Bは、 バスリセッ トへッダボイン夕のみを用いる場合とバ スリセッ 卜 ORBボイン夕を用いる場合のファームウェアの処理について説明 するためのフローチャートである。
図 1 6は、 バスリセッ ト後の受信パケヅ 卜を優先的に処理する手法について 説明するためのフローチヤ一トである。
図 17 A、 図 17 B、 図 17 C、 図 17 Dは、 バスリセッ ト送信中止ステ一 タスについて説明するための図である。
図 18A、 図 18 Bは、 バスリセッ ト送信中止ステータスを用いる場合と用 いない場合のファームウェアの処理について説明するためのフローチヤ一卜で ある。 図 19は、 受信側の詳細な構成について示す図である。
図 2 OAは、 I EEE 1394規格の、 非同期でブロックデ一夕を有するパ ケッ トのフォーマッ トであり、 図 20 Bは、 RAMに格納される、 非同期受信 でプロックデ一夕を有するパケヅ 卜のヘッダ部分のフォーマッ トである。
図 2 1は、 TAGについて説明するための図である。
図 22A、 図 22 Bは、 B T生成回路の状態遷移図である。
図 23は、 B T生成回路の動作について説明するためのタイミング波形図で ある。
図 24は、 各種ボイン夕レジス夕の詳細について説明するための図である。 図 25は、 バスリセッ ト送信中止ステータスの詳細について説明するための 図である。
図 26は、 バスリセッ ト送信中止ステータスの詳細について説明するための タイミング波形図である。
図 27A、 図 27 B、 図 27 Cは、 種々の電子機器の内部ブロック図の例で ある。
図 28A、 図 28 B、 図 28 Cは、 種々の電子機器の外観図の例である。
[発明を実施するための最良の形態]
以下、 本発明の好適な実施形態について図面を用いて詳細に説明する。 1. I E E E 1394
まず、 I E E E 1394について簡単に説明する。
1. 1 概要
I EEE 1394 ( I EEE 1394— 1 995、 P 1394. a) では 1 00〜400Mbp sの高速なデ一夕転送が可能となっている (P 1394. bでは 800~3200 Mbp s) 。 また、 転送速度が異なるノードをバスに 接続することも許される。
各ノードはッリー状に接続されており、 1つのバスに最大で 63個のノード が接続可能になっている。 なお、 バスブリッジを利用すれば約 6 4 0 0 0個の ノードを接続することも可能である。
I E E E 1 3 9 4では、 パケッ 卜の転送方式として非同期転送とアイソクロ ナス転送が用意されている。 ここで非同期転送は、 信頼性が要求されるデ一夕 の転送に好適な転送方式であり、 ァイソクロナス転送は、 リアルタイム性が要 求される動画像や音声などのデ一夕の転送に好適な転送方式である。
1 . 2 層構造
I E E E 1 3 9 4の層構造 (プロ トコル構成) を図 1に示す。
I E E E 1 3 9 4のプロ トコルは、 トランザクション層、 リンク層、 物理層 により構成される。 また、 シリアルバスマネージメントは、 トランザクション 層、 リンク層、 物理層をモニタ一したり制御したりするものであり、 ノードの 制御やバスのリソース管理のための種々の機能を提供する。
トランザクション層は、 上位層にトランザクション単位のィン夕ーフェース (サービス)を提供し、 下層のリンク層が提供するィン夕一フェースを通して、 リード トランザクシヨン、 ライ ト トランザクシヨン、 ロック トランザクション 等のトランザクションを実施する。
ここで、 リードトランザクションでは、 応答ノードから要求ノードにデータ が転送される。 一方、 ライ ト トランザクションでは、 要求ノードから応答ノー ドにデ一夕が転送される。 またロック トランザクションでは、 要求ノードから 応答ノードにデータが転送され、 応答ノードがそのデ一夕に処理を施して要求 ノードに返信する。
トランザクション層のサービスは、 図 2 Aに示すように要求、 表示、 応答、 確認という 4つのサービスにより構成される。
ここで、 トランザクション要求は、 要求側がトランザクションを開始させる サービスであり、 トランザクション表示は、 要求が届いたことを応答側に通知 するサービスである。 また、 トランザクション応答は、 応答側の状態ゃデ一夕 を要求側に返すサービスであり、 トランザクション確認は、 応答側からの応答 がきたことを要求側に通知するサービスである。
リンク層は、 アドレッシング、 デ一夕チェック、 パケッ ト送受信のためのデ 一夕フレーミング、アイソクロナス転送のためのサイクル制御などを提供する。
リンク層のサービスは、 トランザクション層と同様に、 図 2 Bに示すように 要求、 表示、 応答、 確認という 4つのサービスにより構成される。
ここで、 リンク要求は、 パケッ トを応答側に転送するサービスであり、 リン ク表示は、 応答側によるバケツ 卜の受信サービスである。 また、 リンク応答は、 応答側によるァクノリッジメン卜の転送サービスであり、 リンク確認は、 要求 側によるァクノリヅジメン トの受信サービスである。
物理層は、 リンク層により使用されるロジカルシンボルの電気信号への変換 や、 バスの調停や、 バスの物理的インターフェースを提供する。
物理層及びリンク層は、 通常、 データ転送制御装置 (インターフェースチッ プ) などのハードウェアにより実現される。 また、 トランザクション層は、 C PU上で動作するファームウェア (処理手段) や、 ハードウェアにより実現さ れる。
なお、 図 3に示すように、 I EEE 1 394のトランザクション層の一部の 機能を含む上位のプロトコルとして、 S B P-2 (Serial Bus Protocol- 2) と呼 ばれるプロ トコルが提案されている。
ここで S B P -2は、 S C S Iのコマンドセッ 卜を I EEE 1394のプロ ト コル上で利用可能にするために提案されたものである。 この SB P- 2を用いれ ば、 既存の S CS I規格の電子機器で使用されていた S C S Iのコマンドセッ トに最小限の変更を加えて、 I E EE 1 394規格の電子機器に使用できるよ うになる。 従って、 電子機器の設計や開発を容易化できる。 また、 S C S Iの コマンドだけではなく、 デバイス固有のコマンドもカプセル化して利用できる ため、 非常に汎用性が高い。
この SBP- 2では、 まず、 イニシエータ (パーソナルコンピュータ等) が、 口グインゃフェッチ ·エージェントの初期化のための 0 R B (Operation Request Block) を作成して、 ターゲッ ト (プリン夕、 CD— RWドライブ等) に送る。 次に、 イニシエータは、 コマンド (リ一ドコマンド、 ライ トコマンド) を含む ORB (コマンドブロック〇RB) を作成して、 その作成した ORBの アドレスを、 ターゲッ トに知らせる。 そして、 ターゲッ トは、 そのアドレスを フェッチすることにより、 イニシエータが作成した ORBを取得する。 ORB に含まれるコマンドがリードコマンドであった場合には、 ターゲッ トは、 プロ ヅクライ ト トランザクションを発行して、 イニシエータのデ一夕バッファ (メ モリ) にターゲッ トのデータを送信する。 一方、 ORBに含まれるコマンドが ライ トコマンドであった場合には、 ターゲッ トは、 ブロックリード トランザク シヨンを発行して、 イニシエータのデ一夕バッファからデータを受信する。 この SB P- 2によれば、 ターゲッ トは、 自身が都合の良いときにトランザク シヨンを発行して、 デ一夕を送受信できる。 従って、 イニシエータと夕一ゲッ 卜が同期して動く必要がなくなるため、データ転送効率を高めることができる。 なお、 I E E E 1 394の上位プロ トコルとしては、 S BP- 2以外にも、 F CP (Function Control Protocol) と呼ばれるプロ トコルなども提案されてい る。
1. 3 ノ ス リセ ッ ト
I EEE 1394では、 電源が投入されたり、 途中でデバイスの抜き差しが 発生すると、 バスリセッ トが発生する。 即ち、 各ノードは、 ポートの電圧変化 を監視している。 そして、 バスに新たなノードが接続されるなどしてポートの 電圧に変化が生じると、 この変化を検知したノードは、 バス上の他のノードに 対して、 バスリセッ 卜が発生したことを知らせる。 また、 各ノ一ドの物理層は、 バスリセッ トが発生したことをリンク層に伝える。
そして、 このようにバスリセッ トが発生すると、 ノード I Dなどのトポロジ 情報がクリアされる。 そして、 その後、 トポロジー情報が自動的に再設定され る。 即ち、 バスリセッ ト後、 ツリー識別、 自己識別が行われる。 その後、 アイ ソクロナスリソースマネージャ、 サイクルマス夕、 バスマネージャ等の管理ノ —ドが決定される。 そして、 通常のパケッ ト転送が開始される。
このように I E E E 1394では、 バスリセッ ト後にトポロジ情報が自動的 に再設定されるため、電子機器のケーブルを自由に抜き差しできるようになり、 いわゆるホッ トプラグを実現できる。
なお、 トランザクションの途中でバスリセッ トが発生した場合には、 そのト ランザクシヨンは中止される。 そして、 中止されたトランザクションを発行し た要求ノードは、 トポロジー情報を再設定された後に、 要求パケッ トを再度転 送する。 また、 応答ノードは、 バスリセッ トにより中止された卜ランザクショ ンの応答バケツ トを要求ノードに返送してはならない。
2. 全体構成
次に、 本実施形態のデ一夕転送制御装置の全体構成の例について図 4を用い て説明する。
図 4において、 P H Yインタ一フェース 10は、 PHYデバイス (物理層の デバイス) とのインターフェースを行う回路である。
リンクコア 20 (リンク手段) は、 リンク層のプロ トコルゃトランザクショ ン層のプロ トコルの一部をハ一ドウエアにより実現する回路であり、 ノ一ド間 でのパケッ ト転送のための各種サービスを提供する。 レジスタ 22は、 これら のプロ トコルを実現したリンクコア 20を制御するためのレジス夕である。
F I FO (AT F) 30、 F I FO ( I T F) 32、 F I FO (R F) 34 は、 各々、 非同期送信用、 ァイソクロナス送信用、 受信用の F I FOであり、 例えばレジスタや半導体メモリなどのハードウエアにより構成される。 本実施 形態では、 これらの F I FO 30、 32、 34の段数は非常に少ない。 例えば 1つの F I FOの段数は、 好ましくは 3段以下であり、 更に好ましくは 2段以 下となる。
DMAC 40 (読み出し手段) 、 DMAC 42 (読み出し手段) 、 DMAC
44 (書き込み手段) は、 各々、 ATF用、 I TF用、 RF用の DMAコント ローラである。 これらの DMAC 40、 42、 44を用いることで、 CPU 6 6に介入されることなく、 RAM 80とリンクコア 20との間でのデータ転送 が可能になる。 なお、 レジス夕 46は、 DMA C 40、 42、 44などを制御 するレジスタである。
ポートインターフェース 50は、 アプリケーション層のデバイス (例えばプ リン夕の印字処理を行うデバイス) とのインターフェースを行う回路である。 本実施形態では、 このポートインターフェース 50を用いて、 例えば 8ビッ ト のデ一夕転送が可能になっている。
F I FO (PF) 52は、 アプリケーション層のデバイスとの間でのデ一夕 転送のための F I F 0であり、 DMAC 54は、 P F用の D M Aコントローラ である。 レジス夕 56は、 ポートインターフェース 50や DMA C 54を制御 するレジス夕である。
S BP- 2コア 84は、 S BP- 2のプロ トコルの一部をハードウエアにより実 現する回路である。 レジス夕 88は、 SBP- 2コア 84を制御するためのレジ ス夕である。 DMAC (SBP-2用) 86は、 S B P -2コア 84用の D M Aコ ントローラである。
RAM領域管理回路 300は、 RAM 80の各領域を管理するための回路で ある。 RAM領域管理回路 300は、 RAM 80の各領域がフルになったり、 ェンプティになった場合に、 各種のフル信号、 ェンプティ信号を用いて DMA C 40、 42、 44、 54、 86を制御する。
CPUイン夕一フェース 60は、 データ転送制御装置をコン トロールする C
PU 66とのイン夕一フエースを行う回路である。 CPUイン夕一フェース 6 0は、 ァドレスデコーダ 62、 データ同期化回路 63、 割り込みコントロ一ラ 64を含む。 クロック制御回路 68は、 本実施形態で使用されるクロックを制 御するものであり、 PHYデバイス (PHYチップ) から送られてくる S CL Kや、 マス夕一クロックである HCLKが入力される。
バッファマネージャ 70は、 RAM 80とのィン夕一フェースを管理する回 路である。 ノ ソファマネージャ 70は、 バッファマネージャの制御のためのレ ジス夕 72、 RAM 80へのバス接続を調停する調停回路 74、 各種の制御信 号を生成するシーケンサ 76を含む。
RAM 80は、 ランダムアクセス可能なパケヅ ト記憶手段として機能するも のであり、 その機能は例えば S R AM、 SDRAM, DRAMなどにより実現 される。
なお RAM 80は、 本実施形態のデ一夕転送制御装置に内蔵させることが特 に望ましいが、 その-一部又は全部を外付けにすることも可能である。
図 5に、 RAM 80のメモリマップの一例を示す。 図 5に示すように本実施 形態では、 RAM80が、 ヘッダ領域 (AR 2、 AR 3、 AR4、 AR 6 ) と デ一夕領域 (AR 5、 AR 7、 AR 8、 AR 9 ) に分離されている。 そして、 パケッ 卜のヘッダ (広義には制御情報) はヘッダ領域に格納され、 バケツ 卜の データ (ORB、 ストリーム) はデータ領域に格納される。
また本実施形態では、 図 5に示すように、 RAM 80のデ一夕領域(AR 5、 AR7、 AR 8、 AR 9 ) が、 ORB領域 (AR 5、 AR 7 ) とス トリーム領 域 (AR 8、 AR 9 ) に分離されている。
更に本実施形態では、 RAM 80が、 受信領域 (AR 2、 AR4、 AR 5、 AR 9 ) と送信領域 (AR 3、 AR 6、 AR 7、 AR 8 ) に分離されている。 なお、 ORB (第 1の層用の第 1のデータ) は、 上述したように SB P- 2用 のデータ (コマンド) である。 一方、 ストリーム (第 1の層より上層の第 2の 層用の第 2のデ一夕) は、 アプリケーション層用のデータ (プリン夕の印字デ —夕、 CD— RWの読み出し ·書き込みデ一夕、 スキャナによる取り込み画像 デ一夕等) である。
また、 AR 1、 AR 2、 AR 3に示す HW (ハードウェア) 用ページテープ ル領域、 HW用受信ヘッダ領域、 HW用送信ヘッダ領域は、 図 4に示す SB P -2コア 84 ( S B P- 2をハ一ドウエアにより実現する回路) が、 ページテープ ルゃ受信へッダゃ送信へッダを書き込んだり読み出したりするための領域であ る。 また、 図 5において AR4、 AR 5、 AR 8、 AR 9に示す領域は、 いわゆ るリングバッファ構造になっている。
さて、 図 4のバス 90 (或いはバス 92、 94) は、 アプリケーションに接 続されるものである (第 1のバス) 。 またバス 95 (或いはバス 96) はデ一 夕転送制御装置をコントロールし、 或いはデータをリード · ライ トするための ものであり、デ一夕転送制御装置をコントロールするデバイス(例えば CPU) に電気的に接続される (第 2のバス) 。 またバス 100 (或いはバス 102、 104、 105、 106、 107、 108、 109 ) は、 物理層のデバイス ( P HYデバイス) に電気的に接続されるものである (第 3のバス) 。 また、 バス 1 10は、 ランダムアクセス可能な記憶手段である RAM80に電気的に接続 されるものである (第 4のバス) 。 またバス 99は、 S B P- 2コア 84がハー ドウエアにより SBP- 2を実現するためのヘッダ情報やページテーブル情報を リード .ライ トするためのものである (第 5のバス) 。
バッファマネージャ 70の調停回路 74は、 DMAC 40、 42、 44、 C PUイン夕一フェース 60、 DMAC 86、 54からのバスアクセス要求の調 停を行う。 そして、 この調停結果に基づいて、 各々、 バス 105、 107、 1 09、 96、 99、 94のいずれかと、 R AM 80のバス 1 10との間にデー 夕の経路が確立される (第 1、 第 2、 第 3、 第 5のバスのいずれかと第 4のバ スとの間にデータ経路が確立される) 。
本実施形態の 1つの特徴は、 ランダムアクセスが可能でありパケッ トを格納 する RAM 80を設けると共に、 互いに分離されるバス 90、 95、 99、 1 00と、 これらのバスを RAM 80のバス 1 10に接続するための調停回路 7 4とを設けた点にある。
例えば図 6に、 本実施形態と構成の異なるデ一夕転送制御装置の例を示す。 このデ一夕転送制御装置では、 リンクコア 902は、 PHYイン夕一フェース 900、 バス 922を介して PHYデバイスと接続される。 また、 リンクコア 902は、 F I FO 904、 906、 908、 CPUインターフェース 9 10、 バス 920を介して C P U 9 12に接続される。 そして、 C P U 9 12は、 バ ス 924を介して、 CPUにローカルなメモリである RAM9 14に接続され る。
図 6の構成のデータ転送制御装置を用いた場合のデータ転送の手法について 図 7を用いて説明する。 P HYデバイス 930を介して他のノードから送られ てきた受信パケッ トは、 バス 922、 データ転送制御装置 932、 バス 920 を介して CPU 9 1 2が受け取る。 そして、 CPU 9 12は、 受け取った受信 パケッ トをバス 924を介して RAM 9 14に一旦書き込む。 そして、 CPU 9 12は、 RAM 9 14に書き込まれた受信パケッ トをバス 924を介して読 み出し、 アプリケーション層が使用できるように加工し、 バス 926を介して アプリケーション層のデバィス 934に転送する。
一方、 アプリケーション層のデバィス 934からのデ一夕を転送する場合に は、 C P U 9 12は、 このデ一夕を RAM 9 14に書き込む。 そして、 RAM 9 14のデータにヘッダを付加することで I EEE 1394に準拠したパケヅ 卜を生成する。 そして生成されたパケッ トは、 データ転送制御装置 932、 P H Yデバイス 930などを介して他のノードに送信される。
しかしながら、 このような図 7のデータ転送手法によると、 CPU 9 1 2の 処理負担が非常に重くなる。 従って、 ノード間を接続するシリアルバスの転送 速度が高速になっても、 C PU 9 1 2の処理のオーバーへッ ドなどに起因して、 システム全体の実転送速度は低くなり、 結局、 高速なデータ転送を実現できな い。
これに対して、 本実施形態では図 8に示すように、 デ一夕転送制御装置 1 2 0、 アプリケーション層のデバイス 1 24間のバス 90と、 CPUバス 96と、 データ転送制御装置 1 20、 RAM 80間のバス 1 10とが互いに分離されて いる。 従って、 CPUバス 96をデータ転送の制御のみに使用できるようにな る。 また、 バス 90を占有して、 デ一夕転送制御装置 120、 アプリケーショ ン層のデバイス 124間でデータ転送を行うことができるようになる。例えば、 データ転送制御装置 1 20が組み込まれる電子機器がプリン夕である場合には、 バス 90を占有して印字デ一夕を転送できるようになる。 この結果、 CPU 6 6の処理負担を軽減でき、 システム全体の実転送速度を高めることができる。 また CPU 66として安価なものを採用できると共に、 CPUバス 96として 高速なバスを使用する必要性がなくなる。 このため、 電子機器の低コスト化、 小規模化を図れるようになる。
3. 本実施形態の特徴
3. 1 バスリセッ トにより トグルするビッ ト
図 9 Aに示すように、 I EE E 1394のトランザクションは、 要求ノード が応答ノードに要求パケッ トを送信し、 応答ノードからの応答パケッ トを要求 ノードが受信することで完了する。 そして、 このようなトランザクションの完 了後にバスリセッ 卜が発生しても問題はない。
一方、 トランザクションの途中でバスリセッ トが発生すると、 図 9 Bの C 1 に示すようにトランザクションは中止される。 そして、 この場合に応答ノード は、 中止されたトランザクションについての応答パケッ トを、 要求ノードに対 して返送してはならない。 また、 トランザクションを完了させるためには、 要 求ノードは、 C 2に示すように要求バケツ トを応答ノードに再度送信する必要 がある。
しかしながら、 プリン夕ゃ CD—RWなどの周辺機器に本実施形態のデ一夕 転送制御装置を組み込んだ場合、 製品コス トの制約から、 図 4の CPU66と しては安価で処理能力が低い C PUが使用されるのが一般的である。 従って、 C P U 66上で動作するファームウェアの処理能力も低い。 このため、 パケヅ トを受信しても、 受信したパケッ トを直ぐには処理できず、 多くの未処理の受 信パケッ トが RAM 80に存在するようになる。 従って、 バスリセッ トが発生 した場合には、 これらの未処理のパケッ トが、 バスリセッ トの前後のいずれに 受信したバケツ トなのかを区別する処理が必要になる。 即ち、 バスリセッ 卜の 発生場所を検出する処理が必要になる。 そして、 前述のようにファームウェア の処理能力は一般的に低いと考えられるため、 バスリセッ 卜の発生場所を検出 する処理は、 負荷の低いものであることが望まれる。
そこで、 本実施形態では図 1 0に示すような手法を採用している。
即ち、 1つのバスリセッ ト (ノードのトポロジ情報をクリアするリセッ ト) から次のバスリセッ 卜までの間をバスリセヅ トイン夕ーバルと定義したとする c 例えば図 10では、 バスリセッ ト Mから M+ 1までの間はバスリセッ トイン夕 一バル Mとなり、 バスリセッ ト M+ 1から M+ 2までの間はバスリセッ トイン 夕一バル M+ 1となる。
この場合に本実施形態では、 受信したパケッ 卜と次に受信したバケツ トとが 異なるリセッ トイン夕ーバルに受信したバケツ トか否かを区別するためのトグ ルビヅ ト BT (広義には区別情報) を生成する。 そして、 このトグルビッ ト B Tを各パケヅ 卜に関連づけて、 図 10の C 1 1に示すように RAM (バケツ ト 記憶手段) に書き込むようにしている。
即ち図 10において、 バケツ ト Nと N+ 1は同一のバスリセッ トィン夕一バ ル Mに受信されているため、 これらの B Tは共に 0になる。 一方、 パケッ ト N + 1と N + 2は異なるバスリセッ トイン夕一バル Mと M+ 1に受信されている ため、 パケッ ト N + 1の B Tは 0となり、 パケッ ト N + 2の B Tは 1になる。 即ち、 B Tが 0から 1にトグルする。 同様に、 パケッ ト N + 4と N+ 5も異な るバスリセッ トイン夕一バル M+ 1と M + 2に受信されているため、 B Tが 1 から 0にトグルする。 また、 パケッ ト N + 5と N + 6も異なるバスリセッ トイ ン夕ーバル M+ 2と M+ 4に受信されているため、 B Tが 0から 1にトグルす る。
従って、 図 10の C 1 2、 C 1 3、 C 14から明らかなように、 BTがトグ ルした場所がバスリセッ トの発生場所 (RAM上での境界) に対応するように なる。 このため、 ファームウェア (処理手段) は、 BTがトグルした場所を調 ベるだけで、 バスリセッ 卜の発生場所を容易に知ることができるようになる。 この結果、 ファームウェアは、 最後のバスリセッ ト後に受信したパケッ ト N + 6、 N + 7、 N + 8については例えば通常の処理を行い、 最後のバスリセッ ト 前に受信したパケッ ト N〜N + 5については破棄する等の処理を行うことがで きるようになる。
そして、 本実施形態において特に特徴的なのは、 図 1 0の C 1 5において B Tが変化しないことである。 即ち、 例えば、 バスリセ ヅ 卜が発生する毎に B T がトグルようにすると、 C 1 5ではバスリセッ ト M + 4が発生しているため、 B Tが 1から 0にトグルようになる。 すると、 パケッ ト N + 5と N + 6は異な るバスリセッ トイン夕ーバルで受信したパケヅ 卜であるのにもかかわらず、 図 1 0の C 1 4で B Tが 0から 1に変化しなくなる。 この結果、 バケツ ト N + 5 と N + 6の受信の間にバスリセッ 卜が発生したことをファームウェアが検出で きなくなる問題が生じる。
本実施形態では、 連続して受信したバケツ 卜が異なるリセッ トインターバル に受信したパケヅ トであることを条件に、 B Tが 0から 1に或いは 1から 0に トグルようになるため、 上記のような問題は生じない。
なお、本実施形態では図 5で説明したように R A Mをへ、ソダ領域とデータ( 0 R B、 ストリーム) 領域に分離する。 また、 ヘッダ領域に格納される各ヘッダ と、 データ領域に格納される各データとを、 ヘッダに含ませたデータポインタ により対応させている。 そして本実施形態では図 1 1に示すように、 上記の卜 グルビッ ト B T (区別情報) を、 ヘッダ領域に書き込まれるヘッダの中に含ま せている。 このようにすれば、 ファームウェアはへヅダ領域のヘッダをまとめ て読み出し、 これらのヘッダに含まれる B Tを調べるだけで、 バスリセッ トの 発生場所を容易に検出できるようになる。 この結果、 ファームウェアの処理負 担を更に軽減できるようになる。
なお、 図 1 0では、 区別情報が 1ビッ 卜のデータである場合について説明し たが、 区別情報を 2ビッ ト以上のデータにしてもよい。 例えば、 図 1 0の C 1 2、 C 1 3、 C 1 4において、 0から 1、 1から 0、 0から 1というように変 化させる代わりに、 1、 2、 3というようにその値をインクリメントさせるよ うにしてもよい。
3. 2 バスリセッ トポインタ
さて、本実施形態では、バスリセッ 卜の発生場所を効率的に検出するために、 図 1 2に示すようなバスリセッ トポインタレジス夕(第 1のボイン夕記憶手段) BPRを設けている。
ここで、 バスリセヅ トポインタレジス夕 B P Rに記憶されるバスリセッ トポ イン夕 BPは、 バスリセッ ト発生前の受信バケツ N~N+2とバスリセッ ト 発生後の受信パケッ ト N+ 3〜N+6との、 RAMにおける境界 RB 1を特定 するポインタである。 より具体的には、 ポインタ BPは、 バスリセッ ト発生の 直前に受信したバケツ ト N+ 2の次のバケツ ト N+ 3の先頭ァドレスを指して いる。
更に、 本実施形態では、 図 12に示すように、 処理済みポインタレジス夕 U PR (第 2のポインタ記憶手段) や受信済みポインタレジスタ P PR (第 3の ポインタ記憶手段) も設けている。
ここで、 レジス夕 UP Rに記憶される処理済みポィン夕 UPは、処理済み(使 用済み) バケツ ト N— 1と未処理 (未使用) のパケッ ト Nとの、 RAMにおけ る境界 RB P 2を特定するボイン夕である。より具体的には、 ボイン夕 UPは、 処理済みパケッ ト N— 1の次のバケツ ト Nの先頭ァドレスを指している。
また、 レジス夕 P PRに記憶される受信済みポインタ PPは、 最新 (post) の受信済みパケッ ト N+ 6と、 未受信のパケッ ト N+ 7 (次に受信するであろ うパケッ ト) との、 RAMにおける境界 RB P 3を特定するポインタである。 より具体的には、 ポインタ PPは、 最新の受信済みパケッ ト N+ 6の次に来る べき未受信のバケツ ト N + 7の先頭ァドレスを指している。
上記のレジス夕 B P Rを設けることで、 ファームウェアは、 バスリセヅ ト前 の受信パケッ トとバスリセッ ト後の受信パケッ トとを、 容易に区別できるよう になる。 また、 レジス夕 UPRや PPRを設けることで、 ファームウェアは、 どのパケッ トが未処理のパケッ トかを、 容易に判断できるようになる (図 1 2 ではパケッ ト N〜N+ 6が未処理になる) 。
特に、 ポインタ BPは、 バスリセッ ト直後の受信パケッ ト N+ 3の先頭アド レスを指している。 従って、 ファームウェアは、 レジス夕 B PRからポインタ BPを読み出すだけで、 バスリセッ ト後のバケツ 卜に対する処理を開始できる ようになる。 また、 ポインタ UPは未処理のパケッ ト Nの先頭アドレスを指し ている。 従って、 ファームウェアは、 レジス夕 UPRからポインタ UPを読み 出すだけで、 未処理のバケツ 卜に対する処理を開始できるようになる。
さて、 バスリセッ ト前の受信パケッ トとバスリセッ ト後の受信パケッ トとを 区別する手法として、 いわゆるバスリセッ 卜パケッ トを利用する手法が考えら れる。 このようなバスリセッ トパケッ トを用いれば、 図 1 3 Aに示すように、 ノ'スリセッ トバケツ トの前に格納されているバケツ N~N+ 2は、 ノ スリセ ッ ト前の受信バケツ トであると判断でき、 バスリセッ トパケッ 卜の後に格納さ れているパケヅ ト N + 3 ~N+ 6は、 ノ スリセッ ト後の受信パケッ 卜であると 判断できる。
しかしながら、 この手法では、 図 13 Bのフローチャートのステップ S 1、
S 2に示すように、 ファームウェアは、 バスリセッ トパケッ トが読み出される まで未処理の受信バケツ 卜を RAMから順次読み出さなければならない。 従つ て、 ファームウェアの処理負担が重くなるという問題があり、 特に、 RAMに 多くの未処理のバケツ 卜が積まれた場合には、 上記問題は更に深刻になる。 これに対して、 バスリセッ トポインタ BPを用いる本実施形態では、 図 13
Cのフローチヤ一卜のステップ S 3に示すように、 ファームウェアはレジス夕 B PRからボイン夕 B Pを読み出すだけでよい。 従って、 図 13 Bに比べてフ アームウェアの処理負担を格段に軽減できる。
さて、 本実施形態では、 図 5に示すように RAMをヘッダ領域とデータ領域 に分離している。 このため、 図 1 2のバスリセッ トポインタレジス夕 BRとし て、 図 14に示すようにバスリセッ トヘッダポインタレジス夕 B H P R (第 4 のポインタ記憶手段) とバスリセッ ト ORBポインタレジス夕 BOPR (第 5 のポインタ記憶手段) を設けている。
また、 処理済みポインタレジス夕 UP Rとして、 処理済みヘッダポインタレ ジス夕 UH PRと処理済み ORBボイン夕レジス夕 UO PRを設けている。 ま た、 受信済みポインタレジス夕 P P Rとして、 受信済みヘッダポインタレジス 夕 PHPRと受信済み ORBボイン夕レジス夕 PO PRを設けている。
ここで、 レジス夕 BHPR、 UHPR、 PHPRが記憶するポインタ BHP (第 4のポインタ情報) 、 UHP、 PHPは、 各々、 RAMのヘッダ領域での 境界 RB 1 1、 RB 2 1、 RB 3 1を特定するためのポィン夕である。
また、 レジス夕 BOPR、 UOPR、 POPRが記憶するボイン夕 BOP (第 5のポインタ情報) 、 UOP、 POPは、 各々、 RAMの ORB (第 1のデー 夕) 領域での境界 RB 1 2、 RB 22、 RB 32を特定するためのボイン夕で ある。
さて、 図 14に示すように、 ORB領域でのバスリセッ トの境界 RB 12を 指すボイン夕 BOPを用いることで、 次のような利点を得ることができる。 即ち、 ヘッダ領域での境界 RB 1 1を指すポインタ BHPしか用いない手法 では、 ORB領域での境界 RB 1 2を特定するために、 ファームウェアは図 1 5 Aのフローチヤ一卜に示すような処理を行う必要がある。
まず、 ポインタ UOPのァドレスを記憶する (ステップ S 1 0 ) 。 次に、 ポ ィン夕 BHPの前にヘッダがあるか否かを判断し (ステップ S 1 1 ) 、 ある場 合にはそのヘッダを読み出す (ステップ S 1 2) 。 例えば図 14では、 ヘッダ Nが読み出される。
次に、 読み出されたヘッダが、 ORB領域にデータを持つパケッ ト (ORB バケツ ト) のヘッダか否かを判断する (ステップ S 13) 。 図 14ではヘッダ N、 N+ 1は ORBパケッ トのへヅダではないため、 ステップ S 14には移行 せず、 ステップ S 1 1、 S 12に戻る。 一方、 ヘッダ N+2、 N+3は ORB ポインタであるので、 ステップ S 14に移行し、 ヘッダに含まれるデ一夕ボイ ン夕及びデータ長に基づき、 ORBポインタのアドレス (境界 RB 02、 RB 1 2) を算出し記憶する。 そして、 次のヘッダ N + 4は、 ORBポインタでは ないため、 ステツプ S 1 1に戻る。 すると、 ステップ S 1 1で、 ポインタ B H Pの前にヘッダが無いと判断されるため、 ステップ S 1 5に移行し、 直前に記 憶した ORBポインタのアドレス (RB 12) を、 バスリセッ トによる ORB 領域の境界であると判断する。
以上のように、 ポインタ B H Pのみを用いる手法では、 ファームウェアは、 図 1 5 Aに示すような負荷の重い処理を行わなければならない。 特に、 ファー ムゥエアの処理能力が低く、 RAMに多くのへッダが積まれているような状況 では、 事態は更に深刻になる。
これに対して、 ポインタ B〇 Pを用いれば、 図 1 5 Bのフローチャートに示 すように、 ファームウェアは、 レジスタ BOPRからポインタ BOPを読み出 すだけで、 境界 RB 1 2を特定できる。 従って、 ボイン夕 BHPしか用いない 手法に比べて、 ファームゥヱァの処理負担を格段に軽減できる。
さて、 S B P- 2においては、 各ノード (イニシエータ、 夕一ゲッ ト) は、 通 常の 16ビッ 卜のノード I Dの他に 64ビッ トの E U I— 64と呼ばれる I D を持っている。 そして、 ノード I Dはバスリセヅ トによりリセッ トされ、 バス リセヅ 卜後には全く異なる I Dになってしまう可能性が常にあるのに対し、 E U I 64は、各ノードにユニークな I Dであり、バスリセッ ト後も変化しない。 従って、 バスリセッ ト後に、 E U I— 64と新たなノード I Dとを対応づける 処理が必要になり、 各ノード間では、 この対応づけの処理のための多数のパケ ッ トが送受信される。 このため、 バスリセッ ト後には、 短時間に多くのパケッ 卜が RAMに積まれることになる。そして、 これらの積まれるバケツ 卜の数は、 バスに接続されるノ一ドが増えるにつれて多くなる。
この場合に、 各ノードのファームウェア (トランザクション層) が、 バスリ セッ ト前の受信パケッ トに対する処理を優先的に行うと、 そのノードの処理が ストールしてしまう可能性があることが判明した。 そして、 1つのノードの処 理がストールしてしまうと、 その影響は他のノードにも及ぶ。 そこで本実施形態では、バスリセッ トが発生した場合に、 ファームウェア(処 理手段) が、 バスリセッ ト後の受信パケッ トを優先的に処理するようにしてい る。
即ち、 図 1 6のフローチャートに示すように、 バスリセッ トが発生したと判 断されると (ステップ S 20) 、 ファームウェアは、 レジス夕 BHPR、 BO PRからポインタ BHP、 BOPを読み出す (ステップ S 2 1) 。 そして、 バ スリセヅ ト後の受信バケツ ト (ノード I Dと EU I— 64との対応づけのため パケッ ト) を優先的に処理する (ステップ S 22) 。 即ち、 本実施形態では、 前述のように、 ポインタ BHP、 BOPが用意されるため、 これらのポインタ をレジス夕 BHPR、 B 0 PRから読み出すという簡易な処理で、 バスリセッ ト後の受信バケツ トを特定できる。 従って、 このようにバスリセッ ト後の受信 パケヅ トを優先的に処理するようにしても、 ファームウェアの処理負担はそれ ほど増加しない。
次に、 ファームウェアは、 レジス夕 UHPR、 UOPRからポインタ UHP、 UOPを読み出し (ステップ S 23) 、 バスリセッ ト前の受信バケツ 卜の処理 を行う (ステップ S 24) 。 即ち、 パケッ トを破棄したり、 バスリセヅ トによ り中止されたトランザクションがあるか否かを判断する等の処理を行う。
3. 3 バスリセッ ト送信中止ステータス
図 17 Aに示すように、 通常の送信処理は、 ファームウェアが送信開始コマ ンドを発行することで (図 4のレジス夕 46に送信開始コマンドを書き込むこ とで) 、 開始される。 そして、 送信開始コマンドが発行されると、 バスのァ一 ビトレ一シヨンが行われ、 アービトレーションに勝つと、 バス上での実際のパ ケッ ト転送が開始する。 そして、 相手ノードから ACK (ァクノリッジメント) が返ってくると、 送信完了のステータスがファームウェアに伝えられる。
そして、 図 17 Bに示すように、 送信開始コマンドの発行前にバスリセッ ト が発生していた場合には、 図 1 7 Aと同様に通常の送信処理が行われる。一方、 図 17 Cに示すように、 送信開始コマンドの発行後にバスリセッ 卜が発生する と、 送信は中止され、 相手ノードからの A C Kは返って来ず、 送信完了のステ —タスはファームウェアには伝えられない。
ところが、 ファームウェアによる送信開始コマンドの発行 (レジス夕への書 き込み) の少し前にバスリセッ トが起きたような場合には、 図 1 7 B、 図 1 7 Cのどちらのケースになったのかを、 ファームウェアが判断できなくなる。 即ち図 1 8 Aに示すようにファームウェアは、 送信開始コマンドを発行した 後 (ステップ S 3 0 ) 、 バスリセッ トが発生したか否かを判断する (ステップ S 3 1 ) 。 そして、 バスリセッ トが発生していない場合には、 送信完了が返つ て来るのを待つことになる (ステップ S 3 2 ) 。 これは、 図 1 7 Bのケースで ある。 一方、 バスリセッ トが発生した場合には、 送信完了を待つことなく、 送 信をキャンセルする (ステップ S 3 3 ) 。 これは図 1 7 Cのケースである。 そして、 図 1 8 Aの C 2 0に示すように、 送信開始コマンドの発行よりも少 し前にバスリセッ 卜が発生した場合には、 ファームウェアの処理がステップ S 3 1、 S 3 2でループしてしまい、 処理がストールしてしまう。 即ち、 バスリ セッ トの発生を検出できないため、 送信はキャンセルされず (ステップ S 3 3 に移行しない) 、 送信完了も返って来ないため、 ステップ S 3 1、 S 2で処理 がループする。
そこで本実施形態では図 1 7 ( D ) に示すように、 バスリセッ トにより送信 が中止されたことを示すステータスをファームウェアに伝えるようにしている より具体的には、 バスリセットが発生し、 デ一夕転送制御装置のハードウェア が送信を中止する処理を行った場合に、 バスリセッ ト送信中止ステータスが図 4のレジス夕 4 6に書き込まれる。 このようにすればファームウェアは、 図 1 8 Bのステップ S 4 1に示すように、 バスリセッ トにより送信が中止されたか 否かを判断できる。 そして、 バスリセッ トにより送信が中止されたと判断した 場合には、 送信完了を待つことなく送信をキャンセルするようにする (ステツ プ S 4 4 ) 。 これにより、 ファームウェアの処理がストールしてしまう事態を 回避できるようになる。 4. 詳細例
4. 1 受信側の詳細な構成
次に受信側の詳細な構成について説明する。 図 1 9に、 リンクコア 20 (リ ンク手段) 、 F I F034、 DMAC 44 (書き込み手段) の詳細な構成の一 例を示す。
リンクコア 20は、 バス監視回路 130、 直列 ·並列変換回路 132、 パケ ッ ト整形回路 1 60を含む。
ここで、 バス監視回路 130は、 PHYイン夕一フェース 10を介して PH Yデバイスに接続される 8ビッ ト幅のデ一夕バス D、 2ビッ ト幅のコントロー ルバス C T Lを監視する回路である。
直列 ·並列変換回路 1 32は、 データバス Dのデータを 32ビッ トのデ一夕 に変換する回路である。
バケツ ト整形回路 1 60は、 各ノードから転送されてきたバケツ 卜を上層が 使用できるように整形する回路である。 例えば図 2 OAに、 I EEE 1394 規格の、 非同期でブロックデータを有するパケッ トのフォーマッ トを示す。 一 方、 図 20 Bに、 RAM80のヘッダ領域に格納される、 非同期受信でブロヅ クデ一夕を有するバケツ 卜のヘッダ部分のフォ一マツ トを示す。 このように本 実施形態では、 図 2 OAに示すフォーマッ トのパケッ トを、 ファームウェアな どの上層が使用できるように、 図 20 Bに示すフォーマツ 卜のバケツ 卜に整形 している。
バケツ ト整形回路 1 60は、 バケツ ト診断回路 142、 シーケンサ 1 67、 ノ ソファ 1 68、 セレクタ 170を含み、 パケッ 卜診断回路 142は、 TAG 生成回路 1 62、 ステータス生成回路 1 64、 エラ一チェック回路 1 66を含 む。
ここでパケッ ト診断回路 142は、 パケッ トの診断を行う回路である。 TA G生成回路 1 62は、 バケツ 卜を書き込む領域を区別するための情報である T AGを生成する回路であり、 ステータス生成回路 1 64は、 パケッ トに付加す る各種のステータスを生成する回路である。 また、 エラ一チェック回路 166 は、 バケツ 卜に含まれるパリティや CRCなどのエラ一チェック情報をチェヅ クしてエラーを検出する回路である。
シーケンサ 1 67は各種の制御信号を生成するものである。バッファ 168、 セレクタ 170は、 直列 ·並列変換回路 132からの D I、 バケツ ト診断回路 142からのステータス、 DMAC44からのデ一夕ボイン夕 D Pのいずれか を、 パケヅ ト診断回路 142からの信号 SE Lにより選択するためのものであ る。
F I FO 34は、 リンコア 20からの出力データである RDの位相と、 RA M 80への書き込みデータである WD AT Aの位相とを調整するためのバッフ ァとして機能するものであり、 F I F〇状態判断回路 35を含む。 F I FO状 態判断回路 35は、 F I F034が空になると、 信号 EMPTYをァクティブ にし、 F I F 034がフルになると、 信号 FUL Lをアクティブにする。
DMAC44は、 バケツ 卜分離回路 1 80、 アクセス要求実行回路 1 90、 アクセス要求発生回路 192を含む。
ここでパケッ ト分離回路 180は、 バケツ ト整形回路 1 60により整形され たパケッ トを TAG (DTAG) に基づいてデ一夕、 ヘッダ等に分離して、 R AMの各領域 (図 5参照) に書き込む処理を行う。
アクセス要求実行回路 1 90は、 リンクコア 20からのアクセス要求を実行 するための回路である。 アクセス要求実行回路 1 90は、 F I FO状態判断回 路 35からの FULLがアクティブになると、 F FULLをアクティブにする。 バケツ ト整形回路 160内のシーケンサ 167は、 F FULLがァクティブで ないことを条件に、 RD (RxD a t a) のストローブ信号である RD Sをァ クティブにする。
なお RF A I Lは、 受信における失敗を、 シーケンサ 1 67がアクセス要求 実行回路 1 90に対して知らせるための信号である。
アクセス要求発生回路 1 92は、 RAM80へのアクセス要求を発生するた めの回路である。 アクセス要求発生回路 192は、 バッファマネージャ 70か らの書き込みァクノリッジメントである WACKや F I FO状態判断回路 35 からの EMP T Yなどを受け、 書き込み要求である WRE Qをバッファマネ一 ジャ 70に出力する。
さて、 図 1 9に示すように、 パケッ ト分離回路 1 80は、 T AG判別回路 1 82、 アドレス発生回路 1 88を含み、 アドレス発生回路 188はポインタ更 新回路 184を含む。
ここで TAG判別回路 182は、 TAG生成回路 1 62により生成された T AG (DTAG) を判別し、 F I F〇 34の出力 WD AT Aの書き込み領域を 決める。
そして、 アドレス発生回路 1 88が含むポインタ更新回路 1 84が、 この決 められた領域において、 ポインタ (デ一夕ポインタ、 ヘッダポインタ) を順次 更新 (インクリメント、 デクリメント) する。 そして、 ァドレス発生回路 1 8 8は、 この順次更新されるポインタが指すアドレスを発生して、 WADRとし てバッファマネージャ 70に出力する。 また、 アドレス発生回路 188は、 デ —夕ポインタ DP (受信 ORB領域のデ一夕ポインタ、 受信ストリーム領域の データボイン夕等) をパケッ ト整形回路 160に出力する。 パケッ ト整形回路 1 60は、 このデータポィン夕をパケヅ 卜のヘッダに埋め込む (図 20 Bの C 30参照) 。 このようにすることで、 ヘッダ領域に格納されるヘッダとデ一夕 領域に格納されるデ一夕とを対応づけることが可能になる (図 1 1参照) 。 図 2 1に、 本実施形態で使用される TAG (DTAG) の例を示す。 図 2 1 において、 例えば TAGが (000 1 ) 、 (00 10) であった場合には、 受 信バケツ 卜のヘッダ (F I FO 34の出力 WDAT A) が図 5の受信ヘッダ領 域へ書き込まれる。 また、 TAGが (0 100) であった場合には、 受信パケ ッ トのデータが受信 ORB領域に書き込まれ、 T AGが ( 0 10 1 ) であった 場合には、 受信パケッ トのデ一夕が受信ス ト リーム領域に書き込まれることに なる。 また、 T AG力 s ( 100 1 ) 、 ( 10 10) であった場合には、 受信パケヅ 卜のヘッダが HW (ハードウェア) 用受信ヘッダ領域に書き込まれる。 また、 TAGが ( 1 100) であった場合には、 受信パケッ トのデ一夕が HW用受信 ORB領域に書き込まれ、 T AGが ( 1 10 1 ) であった場合には、 受信パケ ヅ トのデータが HW用受信ストリーム領域に書き込まれることになる。 なお、 ここで HW (ハードウェア) 用とは、 図 4の S B P- 2コア 84用という意味で ある。
4. 2 B T生成回路
ステータス生成回路 1 64は、 B T生成回路 1 65を含む。 この BT生成回 路 1 65は、 図 10で説明したトグルビッ ト BTを生成する。 生成された BT は、 図 20 Bの C 3 1に示すように、 整形後のパケッ トのヘッダに埋め込まれ る。
図 22 A、 図 22 Bに、 BT生成回路 16 5の状態遷移図を示す。
図 22Aにおいて、 RE CE I VEDは B T生成回路 1 65の内部信号であ り、 BR I Pはバスリセッ ト中であることを示す信号である。この BR I Pは、 図 1 9に示すようにバス監視回路 130が生成する。 即ちバス監視回路 130 は、 データバス Dを介して PHYデバイスからのステータス情報を受け取り、 このステータス情報に基づいて、 バスリセヅ トがなされたか否かを判断する。 そして、 バス監視回路 130は、 バスリセッ トがなされたと判断すると、 BR I Pを Hレベルにして、 その後、 Lレベルに戻す。
図 22 Aの状態遷移図に示すように、 RE CE I VEDは、 パケッ トを受信 したことを条件に Lレベルから Hレベルに変化し、 BR I Pが Hレベルになつ たことを条件に Hレベルから Lレベルに変化する。 また図 22 Bの状態遷移図 に示すように、 トグルビッ ト B Tは、 BR I P及び RE CE I VEDが Hレべ リレになったことを条件に、 Lレベルから Hレベルに或いは Hレベルから Lレべ ルにトグルする。
図 23に、 上述した各信号のタイ ミングチヤ一トを示す。 図 23の C 40、 C 4 1、 C 42では、 バケツトを受信したため、 RE CE I VEDが Lレベル から Hレベルに変化している。 また、 C 43、 C44、 C45では、 BR I P (バスリセッ ト中信号) が Hレベルになったため、 RE CE I VEDが Hレべ ルから Lレベルに変化している。
C 46 C 47 C48では、 B R I P及び R E C E I V E Dが Hレベルに なったため、 BTが、 Lレベルから Hレベルに或いは Hレベルから Lレベルに トグルしている。 一方、 C49では、 R E C E I VE Dが Hレベルではないた め、 BTは変化しない。 即ち、 バスリセッ トイン夕一バル M+ 2ではパケット を受信していないため、 バスリセッ トが生じても (B R I Pが Hレベルになつ ても) 、 BTは変化しない。 このようにすることで、 図 10で説明したように、 連続して受信したパケッ トが異なるバスリセッ トイン夕ーバルのパケッ トであ る場合に変化するようなトグルビッ 卜 BTを生成できるようになる。
4. 3 ポインタレジスタ
次に、 図 24を用いて、 図 14の各種ポインタレジス夕の詳細について説明 する。
レジス夕 3 10、 3 14、 3 18は、 各々、 受信済みヘッダポインタ、 受信 済み ORBポインタ、 受信済みストリームポィン夕を記憶するレジス夕である (図 14参照) 。 これらのレジスタ 3 10、 3 14、 3 18は、 アドレス発生 回路 1 88から、 各々、 WHADR (ヘッダ領域でのァドレス) 、 WOADR (ORB領域でのァドレス) 、 WSADR (ストリーム領域でのァドレス) を 受ける。 また、 レジスタ 3 10、 3 14、 3 1 8は、 リンクコア 20からの受 信完了信号 RX C OMPを受ける。 そして、 レジス夕 3 10、 3 14、 3 18 は、 この RXCOMPがアクティブになるタイ ミングで、 アドレス発生回路 1 88からの WHADR、 WOADR, WSADRを取り込み、 記憶する。 この ようにすることで、 図 14の境界 RB 3 1、 R B 32等のアドレスを記憶でき るようになる。
またレジス夕 3 1 2、 3 16は、 各々、 バスリセッ トヘッダポインタ、 バス リセッ ト 0 R Bポインタを記憶するレジスタである (図 14参照) 。 これらの レジス夕 3 12、 3 1 6は、 リンクコア 20からのバスリセッ ト中信号 BR I Pを受ける。 そして、 レジス夕 3 1 2、 3 1 6は、 この BR I Pがアクティブ になるタイミングで、 レジス夕 3 10、 3 14に記憶されているアドレスを取 り込み、 記憶する。 このようにすることで、 図 14の境界 RB 1 1、 RB 1 2 のァドレスを記憶できるようになる。
レジス夕 320、 322、 324は、 各々、 処理済みヘッダポインタ、 処理 済み ORBボイン夕、 処理済みストリームポィン夕を記憶するレジス夕である (図 14参照) 。
スタート .エンドアドレスレジスタ 326は、 図 5に示す各領域のスタート ァドレスゃェンドアドレスを記憶する。 そして、 ァドレス発生回路 188、 3 32は、 レジス夕 326からのスタートアドレス、 エンドアドレスに基づいて アドレスの発生を制御する。 より具体的には、 スタートアドレスを開始点とし て順次ポインタを更新する。 そして、 ポインタがエンドアドレスに到達した場 合に、 ポインタをス夕一卜アドレスに戻すなどの制御を行う (リングバッファ 構造の場合) 。
RAM領域管理回路 300は、 受信ヘッダ領域管理回路 302、 受信 ORB 領域管理回路 304、 受信ストリーム領域管理回路 306を含む。
そして、 受信ヘッダ領域管理回路 302は、 レジス夕 3 10からの受信済み ヘッダポインタやレジス夕 320からの処理済みヘッダポインタを受け、 受信 へッダ領域がフルであることを知らせる信号 HDRFULLをアクセス要求発 生回路 1 92に出力する。
また、 受信 ORB領域管理回路 304は、 レジスタ 3 14からの受信済み 0 RBポインタやレジス夕 322からの処理済み ORBポィン夕を受け、 受信 0 RB領域がフルであることを知らせる信号 ORB FUL Lをアクセス要求発生 回路 1 92に出力する。
また、 受信ストリ一ム領域管理回路 306は、 レジス夕 3 1 8からの受信済 みストリ一ムポィン夕ゃレジスタ 324からの処理済みストリームポィン夕を 受け、 受信ストリーム領域がフルであることを知らせる信号 S TRMFUL L をアクセス要求発生回路 1 92に出力する。 また、 受信ストリーム領域がェン プティであることを知らせる信号 STRMEMPTYをアクセス要求発生回路 334に出力する。
アクセス要求発生回路 1 92、 334は、 これらのフル信号、 ェンプティ信 号を受けて、 書き込み要求 WREQ、 読み出し要求 RREQをバッファマネ一 ジャー 70に出力するか否かを決めることになる。
4. 4 バスリセッ ト送信中止ステータス
次に、 図 25、 図 26を用いて、 バスリセッ ト送信中止ステータスの詳細に ついて説明する。
図 25において、 ファームウェアは送信開始コマンドを送信開始設定レジス 夕 340に書き込む。 すると S T AR T生成回路 342が、 図 26の C 60に 示すように信号 S TARTをァクティブにする。 すると DMA C 40がバッフ ァマネージャ 70に対して読み出し要求を出力し、 送信が開始される。
また、 信号 S T ARTを受けた TXPRD生成回路 346は、 C 6 1に示す ように、送信中であることを示す信号 TXPRDをァクティブにする。そして、 バケツ ト転送が無事に終了し、 C 62に示すようにリンクコア 20が送信完了 信号 TXCOMPをァクティブにすると、 信号 TXPRDは非ァクティブにな る。
さて、 送信中 (TXP RDがアクティブの時) に、 C 63に示すように信号 BR I Pがァクティブになると (バスリセッ トが発生すると) 、 C 64に示す ように、 図 25の TXBR ABORT生成回路 348が信号 TXBRABOR Tをアクティブにする。 そして、 バスリセッ トにより送信が中止されたことを 示すステータスが、 送信中止ステータスレジス夕 350を介してファームゥェ ァに伝えられることになる。
一方、 図 26の C 65では、 送信中ではないため (TXPRDが非ァクティ ブ) 、 バスリセヅ 卜が発生して BR I Pがァクティブになっても、 TXBRA B 0 Tはァクティブにならない。
このように本実施形態では、 送信中にバスリセッ 卜が発生して送信が中止に なった時にのみ、 バスリセッ ト送信中止ステータスがファームウェアに伝えら れるようになる。
5. 電子機器
次に、 本実施形態のデータ転送制御装置を含む電子機器の例について説明す る。
例えば図 27 Aに電子機器の 1つであるプリン夕の内部プロック図を示し、 図 28 Aにその外観図を示す。 CPU (マイクロコンピュータ) 5 10はシス テム全体の制御などを行う。 操作部 5 1 1はプリンタをユーザが操作するため のものである。 ROM 5 1 6には、 制御プログラム、 フォントなどが格納され、 RAM 5 1 8は CPU 5 1 0のワーク領域として機能する。 表示パネル 5 1 9 はブリン夕の動作状態をユーザに知らせるためのものである。
?11¥デバィス 502、 デ一夕転送制御装置 500を介して、 パーソナルコ ンピュー夕などの他のノードから送られてきた印字デ一夕は、 バス 504を介 して印字処理部 5 12に直接送られる。 そして、 印字データは、 印字処理部 5 1 2にて所与の処理が施され、 プリントヘッダなどからなる印字部 (デ一夕を 出力するための装置) 5 14により紙に印字されて出力される。
図 27 Bに電子機器の 1つであるスキャナの内部ブロック図を示し、 図 28
Bにその外観図を示す。 CPU 520はシステム全体の制御などを行う。 操作 部 52 1はスキャナをユーザが操作するためのものである。 ROM 526には 制御プログラムなどが格納され、 RAM 528は CPU 520のワーク領域と して機能する。
光源、 光電変換器などからなる画像読み取り部 (デ一夕を取り込むための装 置) 522により原稿の画像が読み取られ、 読み取られた画像のデータは画像 処理部 524により処理される。 そして、 処理後の画像デ一夕がバス 505を 介してデータ転送制御装置 500に直接送られる。 デ一夕転送制御装置 500 は、 この画像デ一夕にヘッダなどを付加することでパケッ トを生成し、 PHY デバイス 502を介してパーソナルコンピュータなどの他のノ一ドに送信する。 図 27 Cに電子機器の 1つである CD— RWドライブの内部プロヅク図を示 し、 図 2 8 Cにその外観図を示す。 CPU 5 30はシステム全体の制御などを 行う。 操作部 53 1は CD— RWをユーザが操作するためのものである。 RO M 5 3 6には制御プログラムなどが格納され、 RAM 5 38は CPU 5 30の ワーク領域として機能する。
レーザ、 モー夕、 光学系などからなる読み取り &書き込み部 (データを取り 込むための装置又はデ一夕を記憶するための装置) 5 33により CD— RW5 32から読み取られたデータは、 信号処理部 5 34に入力され、 エラー訂正処 理などの所与の信号処理が施される。 そして、 信号処理が施されたデ一夕が、 バス 5 06を介してデータ転送制御装置 5 00に直接送られる。 データ転送制 御装置 500は、このデータにヘッダなどを付加することでバケツ 卜を生成し、 P H Yデバイス 502を介してパーソナルコンピュータなどの他のノードに送 信する。
一方、 ?11¥デバィス 502、 データ転送制御装置 50 0を介して、 他のノ 一ドから送られてきたデータは、 バス 5 06を介して信号処理部 534に直接 送られる。 そして、 信号処理部 5 34によりこのデ一夕に所与の信号処理が施 され、 読み取り &書き込み部 533により CD— RW 5 3 2に記憶される。 なお、 図 27A、 図 2 7 B、 図 2 7 Cにおいて、 CPU 5 1 0、 5 2 0、 5 30の他に、 データ転送制御装置 5 00でのデータ転送制御のための CPUを 別に設けるようにしてもよい。
また、 図 27A、 図 2 7 B、 図 2 7 Cでは RAM50 1 (図 4の RAM80 に相当) がデータ転送制御装置 5 00の外部に設けられているが、 RAM50 1をデ一夕転送制御装置 500に内蔵させてもよい。
本実施形態のデ一夕転送制御装置を電子機器に用いることで、 高速なデータ 転送が可能になる。 従って、 ユーザがパーソナルコンピュータなどによりプリ ントァゥ卜の指示を行った場合に、 少ないタイムラグで印字が完了するように なる。 また、 スキャナへの画像取り込みの指示の後に、 少ないタイムラグで読 み取り画像をユーザは見ることができるようになる。 また、 C D— R Wからの デ一夕の読み取りや、 C D— R Wへのデータの書き込みを高速に行うことがで きるようになる。 更に、 例えば 1つのホストシステムに複数の電子機器を接続 して利用したり、 複数のホストシステムに複数の電子機器を接続して利用した りすることも容易になる。
また本実施形態のデータ転送制御装置を電子機器に用いることで、 C P U上 で動作するファームウェアの処理負担が軽減され、 安価な C P Uや低速のバス を用いることが可能になる。 更に、 データ転送制御装置の低コスト化、 小規模 化を図れるため、 電子機器の低コスト化、 小規模化も図れるようになる。
また、バスに新たな電子機器が接続され、 バスリセッ トが発生した場合にも、 電子機器間での通常のデータ転送が長時間待たされる事態を防止できるように なる。
なお本実施形態のデ一夕転送制御装置を適用できる電子機器としては、 上記 以外にも例えば、 種々の光ディスク ドライブ (C D— R O M、 D V D ) 、 光磁 気デイスク ドライブ ( M 0 ) 、 ハードディスクドライブ、 T V、 V T R、 ビデ ォカメラ、 オーディオ機器、 電話機、 プロジェクタ、 パーソナルコンピュータ、 電子手帳、 ワードプロセッサなど種々のものを考えることができる。
なお、 本発明は本実施形態に限定されず、 本発明の要旨の範囲内で種々の変 形実施が可能である。
例えば、 本発明のデータ転送制御装置の構成は、 図 4に示す構成が特に望ま しいが、 これに限定されるものではない。
また、 本発明は I E E E 1 3 9 4におけるバスリセッ トに特に有用だが、 こ れ以外にも、 少なくともノードのトポロジー情報をクリアするようなリセッ ト であれば適用できる。 また本発明のボイン夕情報は、 バケツ ト記憶手段の各境界を少なくとも特定 できるものであればよく、 バケツ 卜の先頭ァドレスには限定されない。
またバケツ ト記憶手段の分離 (分割) 手法も、 図 5で説明したものに限定さ れるものではない。
また、 本発明は、 I E E E 1 3 9 4規格でのデ一夕転送に適用されることが 特に望ましいが、 これに限定されるものではない。 例えば I E E E 1 3 9 4と 同様の思想に基づく規格や I E E E 1 3 9 4を発展させた規格におけるデ一夕 転送にも本発明は適用できる。

Claims

請 求 の 範 囲
1 . バスに接続される複数のノード間でのデータ転送のためのデ一夕転送制御 装置であって、
ノードのトポロジ情報をクリアするリセッ トから次のリセッ トまでの間をリ セッ トィン夕ーバルと定義した場合に、 受信したバケツ トと次に受信したパケ ッ トとが異なるリセッ トイン夕ーバルに受信したバケツ 卜か否かを区別するた めの区別情報を生成する手段と、
受信した各パケッ トと生成された各区別情報とを、 各バケツ 卜に各区別情報 を関連づけて、 パケッ ト記憶手段に書き込む書き込み手段と、
を含むことを特徴とするデ一夕転送制御装置。
2 . 請求項 1において、
前記区別情報が、
受信したバケツ トと次に受信したバケツトとが異なるリセッ トイン夕ーバル に受信したパケッ トである場合に、 0から 1に或いは 1から 0にトグルするト グルビッ トであることを特徴とするデータ転送制御装置。
3 . 請求項 1において、
前記バケツ ト記憶手段がランダムアクセス可能な記憶手段であり、 前記パケ ッ ト記憶手段が、 バケツ 卜の制御情報が格納される制御情報領域とバケツ 卜の デ一夕が格納されるデ一夕領域とに分離されている場合において、
前記区別情報を、 前記制御情報領域に書き込まれる前記制御情報の中に含ま せることを特徴とするデ一夕転送制御装置。
4 . バスに接続される複数のノード間でのデータ転送のためのデ一夕転送制御 装置であって、
各ノードから受信したバケツ トをバケツ ト記憶手段に書き込む書き込み手段 と、
ノードのトポロジ情報をクリァするリセッ 卜の発生前の受信バケツ 卜の領域 とリセッ 卜の発生後の受信パケッ 卜の領域との、 前記パケッ ト記憶手段におけ る境界を特定する第 1のボイン夕情報を記憶する第 1のポィン夕記憶手段と、 を含むことを特徴とするデータ転送制御装置。
5 . 請求項 4において、
リセッ トの発生の直前に受信したバケツ トの次のバケツ 卜の先頭ァドレスが、 前記第 1のポィン夕情報として前記第 1のボイン夕記憶手段に記憶されること を特徴とするデータ転送制御装置。
6 . 請求項 4において、
処理済みバケツ 卜の領域と未処理のパケッ 卜の領域との、 前記バケツ ト記憶 手段における境界を特定する第 2のポィン夕情報を記憶する第 2のボイン夕記 憶手段と、
受信済みバケツ トの領域とパケッ トを未受信の領域との、 前記バケツ 卜記憶 手段における境界を特定する第 3のポィン夕情報を記憶する第 3のポィン夕記 憶手段とを含むことを特徴とするデータ転送制御装置。
7 . 請求項 4において、
前記第 1のボイン夕記憶手段に記憶される前記第 1のボイン夕情報に基づい てリセッ ト発生後の受信バケツ 卜を特定し、 該バケツ トを優先的に処理する処 理手段を含むことを特徴とするデータ転送制御装置。
8 . 請求項 4において、
前記バケツ ト記憶手段がランダムアクセス可能な記憶手段であり、 前記パケ ッ ト記憶手段が、 バケツ 卜の制御情報が格納される制御情報領域とバケツ 卜の データが格納されるデータ領域とに分離されている場合において、
前記第 1のボイン夕記憶手段が、
ノードのトポロジ情報をクリァするリセッ 卜の発生前の受信バケツ 卜の制御 情報とリセッ ト発生後の受信パケッ 卜の制御情報との、 前記制御情報領域にお ける境界を特定する第 4のボイン夕情報を記憶する第 4のポィン夕記憶手段と、 ノードのトポロジ情報をクリアするリセッ 卜の発生前の受信バケツ トのデ一 夕とリセッ ト発生後の受信バケツ 卜のデータとの、 前記データ領域における境 界を特定する第 5のポィン夕情報を記憶する第 5のボイン夕記憶手段とを含む ことを特徴とするデータ転送制御装置。
9 . 請求項 8において、
前記データ領域が、 第 1の層用の第 1のデータが格納される第 1のデ一夕領 域と、 第 2の層用の第 2のデータが格納される第 2のデータ領域とに分離され ている場合において、
前記第 5のポインタ情報が、
ノードのトポロジ情報をクリァするリセッ 卜の発生前の受信パケッ 卜の第 1 のデータとリセッ トの発生後の受信パケッ トの第 1のデ一夕との、 前記第 1の データ領域における境界を特定するボイン夕情報であることを特徴とするデー 夕転送制御装置。
1 0 . バスに接続される複数のノード間でのデータ転送のためのデ一夕転送制 御装置であって、
送信開始コマンドが発行された場合に、 バケツ ト記憶手段からバケツ トを読 み出す読み出し手段と、
読み出されたパケッ トを各ノードに送信するためのサービスを提供するリン ク手段と、
ノードのトポロジ情報をクリアするリセッ 卜の発生によりバケツ 卜の送信が 中止された場合に、 リセッ トの発生によりパケッ トの送信が中止されたことを 知らせるステータス情報を記憶するステータス記憶手段と、
を含むことを特徴とするデ一夕転送制御装置。
1 1 . 請求項 1 0において、
前記送信開始コマンドを発行する処理手段を含み、
前記処理手段が、
リセッ 卜の発生によりパケッ 卜の送信が中止されたと前記ステータス情報に 基づいて判断した場合には、 送信が完了したか否かを判断することなく、 開始 した送信処理をキャンセルすることを特徴とするデ一夕転送制御装置。
1 2 . 請求項 1において、
前記リセッ トカ I E E E 1 3 9 4の規格において定義されるバスリセッ ト であることを特徴とするデータ転送制御装置。
1 3 . 請求項 4において、
前記リセッ 卜が、 I E E E 1 3 9 4の規格において定義されるバスリセッ ト であることを特徴とするデータ転送制御装置。
1 4 . 請求項 1 0において、
前記リセッ トが、 I E E E 1 3 9 4の規格において定義されるバスリセッ ト であることを特徴とするデータ転送制御装置。
1 5 . 請求項 1において、
I E E E 1 3 9 4の規格に準拠したデータ転送を行うことを特徴とするデー 夕転送制御装置。
1 6 . 請求項 4において、
I E E E 1 3 9 4の規格に準拠したデータ転送を行うことを特徴とするデ一 夕転送制御装置。
1 7 . 請求項 1 0において、
I E E E 1 3 9 4の規格に準拠したデータ転送を行うことを特徴とするデ一 夕転送制御装置。
1 8 . 請求項 1乃至 3及び 1 2及び 1 5のいずれかのデータ転送制御装置と、 前記デ一夕転送制御装置及びバスを介して他のノードから受信したデータに 所与の処理を施す装置と、
処理が施されたデ一夕を出力又は記憶するための装置とを含むことを特徴と する電子機器。
1 9 . 請求項 4乃至 9及び 1 3及び 1 6のいずれかのデータ転送制御装置と、 前記データ転送制御装置及びバスを介して他のノードから受信したデータに 所与の処理を施す装置と、 処理が施されたデータを出力又は記憶するための装置とを含むことを特徴と する電子機器。
2 0 . 請求項 1 0乃至 1 1及び 1 4及び 1 7のいずれかのデ一夕転送制御装置 と、
前記データ転送制御装置及びバスを介して他のノードから受信したデータに 所与の処理を施す装置と、
処理が施されたデータを出力又は記憶するための装置とを含むことを特徴と する電子機器。
2 1 . 請求項 1乃至 3及び 1 2及び 1 5のいずれかのデ一夕転送制御装置と、 前記データ転送制御装置及びバスを介して他のノードに送信するデータに所 与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むことを特徴とする電子 機器。
2 2 . 請求項 4乃至 9及び 1 3及び 1 6のいずれかのデータ転送制御装置と、 前記データ転送制御装置及びバスを介して他のノードに送信するデータに所 与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むことを特徴とする電子
2 3 . 請求項 1 0乃至 1 1及び 1 4及び 1 7のいずれかのデータ転送制御装置 と、
前記データ転送制御装置及びバスを介して他のノードに送信するデータに所 与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むことを特徴とする電子
PCT/JP2000/004637 1999-07-15 2000-07-12 Dispositif de gestion de transfert de donnees et appareil electronique WO2001006708A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/787,077 US6978327B1 (en) 1999-07-15 2000-07-12 Data transfer control device and electronic equipment for performing data
DE60038359T DE60038359T2 (de) 1999-07-15 2000-07-12 Einrichtung zur datenübertragungssteuerung und elektronisches gerät
EP00946266A EP1120936B1 (en) 1999-07-15 2000-07-12 Data transfer control device and electronic apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11/201248 1999-07-15
JP20124899A JP3539287B2 (ja) 1999-07-15 1999-07-15 データ転送制御装置及び電子機器

Publications (1)

Publication Number Publication Date
WO2001006708A1 true WO2001006708A1 (fr) 2001-01-25

Family

ID=16437803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/004637 WO2001006708A1 (fr) 1999-07-15 2000-07-12 Dispositif de gestion de transfert de donnees et appareil electronique

Country Status (9)

Country Link
US (1) US6978327B1 (ja)
EP (1) EP1120936B1 (ja)
JP (1) JP3539287B2 (ja)
KR (1) KR100397404B1 (ja)
CN (2) CN100484056C (ja)
AT (1) ATE389990T1 (ja)
DE (1) DE60038359T2 (ja)
TW (1) TW507440B (ja)
WO (1) WO2001006708A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60324149D1 (de) * 2002-07-31 2008-11-27 Thomson Licensing Paketverarbeitungsarchitektur
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
DE10335572A1 (de) * 2003-07-31 2005-03-17 Deutsche Thomson-Brandt Gmbh Netzwerkteilnehmerstation für ein Netzwerk verteilter Stationen und Verfahren zum Betreiben einer Netzwerkteilnehmerstation
DE102005001286A1 (de) * 2005-01-11 2006-07-20 Siemens Ag Verfahren und Vorrichtung zur Übertragung von skalierbaren Daten
JP4577093B2 (ja) * 2005-05-31 2010-11-10 日本ビクター株式会社 被制御装置及び制御装置
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
CN110366040B (zh) * 2019-07-26 2023-01-20 Tcl王牌电器(惠州)有限公司 电视出厂复位方法、装置、计算机可读存储介质及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0939530A2 (en) * 1998-02-24 1999-09-01 Canon Kabushiki Kaisha Data communication system data communication method and data communication apparatus
WO2000025215A1 (fr) * 1998-10-27 2000-05-04 Seiko Epson Corporation Controleur de transfert de donnees et dispositif electronique
EP1006449A2 (en) * 1998-12-02 2000-06-07 Canon Kabushiki Kaisha Communication control method, communication system, print control apparatus, printing apparatus, host apparatus, peripheral apparatus, and storage medium

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2091093C (en) * 1992-03-06 1999-07-06 Peter C. Di Giulio Event driven communication network
US5457683A (en) * 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
US5724517A (en) * 1994-09-27 1998-03-03 International Business Machines Corporation Method for generating a topology map for a serial bus
US5559801A (en) * 1995-01-20 1996-09-24 Advanced Micro Devices Inc. Programmable packet sampling for network management
US5764930A (en) * 1996-04-01 1998-06-09 Apple Computer, Inc. Method and apparatus for providing reset transparency on a reconfigurable bus
JPH09282263A (ja) * 1996-04-12 1997-10-31 Sony Corp 電子機器及びその識別情報構成方法
EP0841776A1 (en) * 1996-11-12 1998-05-13 Sony Corporation Communication methods and electronic apparatus thereof
JP3726417B2 (ja) * 1997-04-15 2005-12-14 ソニー株式会社 電子機器及び電子機器間の通信速度情報作成方法並びに記録媒体
US6219697B1 (en) * 1997-05-02 2001-04-17 3Com Corporation Method and apparatus for operating the internet protocol over a high-speed serial bus
US6347097B1 (en) * 1997-12-05 2002-02-12 Texas Instruments Incorporated Method and apparatus for buffering received data from a serial bus
US6038625A (en) * 1998-01-06 2000-03-14 Sony Corporation Of Japan Method and system for providing a device identification mechanism within a consumer audio/video network
JP4428750B2 (ja) 1998-03-12 2010-03-10 キヤノン株式会社 データ通信システム
JP4026979B2 (ja) 1998-03-30 2007-12-26 キヤノン株式会社 データ通信システム
JP2000078156A (ja) * 1998-09-01 2000-03-14 Canon Inc システム構成表示装置及びシステム構成表示方法、記録媒体
US6304553B1 (en) * 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US6366964B1 (en) * 1998-10-22 2002-04-02 Sony Corporation Method of and apparatus for dynamically enumerating objects representing devices within an IEEE 1394 serial bus networking
US6628607B1 (en) * 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
JP3608441B2 (ja) 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0939530A2 (en) * 1998-02-24 1999-09-01 Canon Kabushiki Kaisha Data communication system data communication method and data communication apparatus
WO2000025215A1 (fr) * 1998-10-27 2000-05-04 Seiko Epson Corporation Controleur de transfert de donnees et dispositif electronique
EP1006449A2 (en) * 1998-12-02 2000-06-07 Canon Kabushiki Kaisha Communication control method, communication system, print control apparatus, printing apparatus, host apparatus, peripheral apparatus, and storage medium

Also Published As

Publication number Publication date
JP3539287B2 (ja) 2004-07-07
US6978327B1 (en) 2005-12-20
EP1120936A1 (en) 2001-08-01
DE60038359D1 (de) 2008-04-30
CN1601981A (zh) 2005-03-30
KR100397404B1 (ko) 2003-09-13
KR20010075099A (ko) 2001-08-09
JP2001036531A (ja) 2001-02-09
EP1120936B1 (en) 2008-03-19
DE60038359T2 (de) 2009-04-30
CN100484056C (zh) 2009-04-29
ATE389990T1 (de) 2008-04-15
CN1316144A (zh) 2001-10-03
CN1146191C (zh) 2004-04-14
EP1120936A4 (en) 2003-04-02
TW507440B (en) 2002-10-21

Similar Documents

Publication Publication Date Title
US6651119B2 (en) Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status
EP0938218A2 (en) Data communication system, data communication method, data communication apparatus and digital interface
JP3608441B2 (ja) データ転送制御装置及び電子機器
JP3584789B2 (ja) データ転送制御装置及び電子機器
US20070180336A1 (en) Multi-initiator control unit and method
JP2000134229A (ja) データ転送制御装置及び電子機器
WO2001006708A1 (fr) Dispositif de gestion de transfert de donnees et appareil electronique
JP3733699B2 (ja) シリアルインタフェース回路
JP3494041B2 (ja) データ転送制御装置及び電子機器
JP3494040B2 (ja) データ転送制御装置及び電子機器
JPH1117764A (ja) シリアルインタフェース回路およびその信号処理方法
US6834316B1 (en) Data transfer controller and electronic device
JP2001094537A (ja) エラー処理機能を備えた伝送装置及びエラー処理方法
JP2000224195A (ja) データ伝送装置
JPH1117710A (ja) シリアルインタフェース回路
JP3610982B2 (ja) データ転送制御装置及び電子機器
JP4582180B2 (ja) データ伝送装置
JP3606145B2 (ja) データ転送制御装置及び電子機器
JP3837843B2 (ja) シリアルインタフェース回路
JPH1117767A (ja) シリアルインタフェース回路
JPH1117774A (ja) シリアルインタフェース回路
JP2002366508A (ja) データ転送方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00801255.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 09787077

Country of ref document: US

Ref document number: 1020017003275

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2000946266

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000946266

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020017003275

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1020017003275

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2000946266

Country of ref document: EP