JP3494042B2 - データ転送制御装置及び電子機器 - Google Patents

データ転送制御装置及び電子機器

Info

Publication number
JP3494042B2
JP3494042B2 JP32154098A JP32154098A JP3494042B2 JP 3494042 B2 JP3494042 B2 JP 3494042B2 JP 32154098 A JP32154098 A JP 32154098A JP 32154098 A JP32154098 A JP 32154098A JP 3494042 B2 JP3494042 B2 JP 3494042B2
Authority
JP
Japan
Prior art keywords
packet
self
data
data transfer
control device
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.)
Expired - Fee Related
Application number
JP32154098A
Other languages
English (en)
Other versions
JP2000134232A (ja
Inventor
卓也 石田
義幸 神原
文利 和田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Priority to JP32154098A priority Critical patent/JP3494042B2/ja
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to PCT/JP1999/005903 priority patent/WO2000025216A1/ja
Priority to DE69931604T priority patent/DE69931604T2/de
Priority to CNB998034010A priority patent/CN1146799C/zh
Priority to KR10-2000-7007180A priority patent/KR100464469B1/ko
Priority to EP99949419A priority patent/EP1049020B1/en
Priority to US09/582,290 priority patent/US6834316B1/en
Priority to TW088118588A priority patent/TW451137B/zh
Publication of JP2000134232A publication Critical patent/JP2000134232A/ja
Application granted granted Critical
Publication of JP3494042B2 publication Critical patent/JP3494042B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ転送制御装
置及びこれを含む電子機器に関する。
【0002】
【背景技術及び発明が解決しようとする課題】近年、I
EEE1394と呼ばれるインターフェース規格が脚光
を浴びている。このIEEE1394は、次世代のマル
チメディアにも対応可能な高速シリアルバスインターフ
ェースを規格化したものである。このIEEE1394
によれば、動画像などのリアルタイム性が要求されるデ
ータも扱うことができる。また、IEEE1394のバ
スには、プリンタ、スキャナ、CD−Rドライブ、ハー
ドディスクドライブなどのコンピュータの周辺機器のみ
ならず、ビデオカメラ、VTR、TVなどの家庭用電化
製品も接続できる。このため、電子機器のデジタル化を
飛躍的に促進できるものとして期待されている。
【0003】このようなIEEE1394の概要につい
ては、例えば「IEEE1394ハイ・パフォーマンス
・シリアルバスの概要」(Interface Ap
r.1996の1〜10頁)、「PC周辺機器用バス規
格群総覧」(Interface Jan.1997の
106頁〜116頁)、「IEEE1394−1995
(FireWire)のリアルタイム転送モードとマル
チメディア対応プロトコル」(Interface J
an.1997の136〜146頁)に開示されてい
る。また、IEEE1394に準拠したデータ転送制御
装置としては、テキサス・インスツルメンツ社製のTS
B12LV31などが知られている。
【0004】さて、このIEEE1394では、バスリ
セットの後にツリー識別が行われ、その後に自己識別が
行われる。そして、この自己識別の際には、各ノードが
自身のセルフIDパケットを全てのノードにブロードキ
ャストする。そして、セルフIDパケットを受け取った
各ノードは、これらのセルフIDパケットを、自身が有
するメモリ上に必要に応じて保持しておく。
【0005】しかしながら、このセルフIDパケットの
個数は、ノード数に応じて増えるため、非常に数の多い
ものとなる。また、この多数のセルフIDパケットを、
他のLINKパケットと区別してファームウェアなどの
上層に対して正しくインターフェースするためには、少
なくとも1クワドレットのヘッダを付加する必要があ
る。従って、この多数のセルフIDパケットの存在に起
因して、各ノードが有するメモリの空き容量が圧迫され
てしまい、各ノードが有するリソースの有効利用を図れ
ないという問題が生じる。
【0006】また、IEEE1394に準拠したデータ
転送制御装置には、システム全体の実転送速度を向上さ
せるため、CPU上で動作するファームウェアやアプリ
ケーションソフトの処理のオーバーヘッドを、なるべく
軽減することが望まれる。
【0007】本発明は、以上のような技術的課題に鑑み
てなされたものであり、その目的とするところは、各ノ
ードが有するリソースを有効利用できるデータ転送制御
装置及びこれが用いられる電子機器を提供することにあ
る。
【0008】また、本発明の他の目的は、ファームウェ
アやアプリケーションソフトなどの処理のオーバーヘッ
ドを軽減できるデータ転送制御装置及びこれが用いられ
る電子機器を提供することにある。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明は、バスに接続される複数のノード間でのデー
タ転送のためのデータ転送制御装置であって、各ノード
から転送されてくる一連の自己識別パケットを受け、上
層が使用する制御情報と各ノードから転送されてきた一
連の自己識別パケットの並びからなるデータとによりフ
レームが構成されるパケットに、転送されてきた一連の
自己識別パケットを整形するパケット整形手段と、整形
されたパケットを記憶手段に書き込む書き込み手段とを
含むことを特徴とする。
【0010】本発明によれば、一連の自己識別パケット
を1つにパッケージングし制御情報を付加することでパ
ケット整形が行われ、一連の自己識別パケットが上層に
インターフェースされる。従って、各自己識別パケット
に制御情報を付加して上層にインターフェースする場合
に比べて、整形されたパケットが書き込まれる記憶手段
の記憶領域を節約できる。また、一連の自己識別パケッ
トをひとまとめにして取り扱えるため、ファームウェア
などの処理のオーバーヘッドを軽減できる。
【0011】また本発明は、前記パケット整形手段が、
自己識別パケットがエラーチェック情報を含む場合に、
自己識別パケットの中の該エラーチェック情報を削除
し、該エラーチェック情報が削除された自己識別パケッ
トの並びからなるデータと前記制御情報とによりフレー
ムが構成されるパケットに、転送されてきた一連の自己
識別パケットを整形することを特徴とする。このように
すれば、整形されたパケットが書き込まれる記憶手段の
記憶領域を更に節約することが可能になる。
【0012】また本発明は、前記パケット整形手段が、
各ノードから転送されてくる自己識別パケットにエラー
があるか否かを前記エラーチェック情報に基づき判断
し、自己識別パケットにエラーがあるか否かを示すステ
ータス情報をパケットの制御情報に付加することを特徴
とする。このようにすれば、自己識別パケットにエラー
があったことを、簡易に上層に伝えることが可能にな
る。
【0013】また本発明は、前記パケット整形手段が、
自己識別期間に受信したパケットか否かを示すステータ
ス情報をパケットの制御情報に付加することを特徴とす
る。このようにすれば、自己識別パケットをパッケージ
ングすることで得られたパケットとそれ以外のパケット
との区別が容易になる。
【0014】また本発明は、前記記憶手段がランダムア
クセス可能であると共に制御情報領域とデータ領域とに
分離されている場合において、パケットの制御情報を前
記記憶手段の前記制御情報領域に書き込み、パケットの
データを前記記憶手段の前記データ領域に書き込むパケ
ット分離手段と、前記データ領域に書き込まれるデータ
のアドレスを指すデータポインタを前記制御情報に付加
する手段とを含むことを特徴とする。このようにすれ
ば、整形されたパケットの制御情報の部分とデータの部
分とを別個に取り扱うことが可能になり、ファームウェ
アなどの処理のオーバーヘッドを軽減できる。
【0015】また本発明は、前記パケット分離手段が、
一連の自己識別パケットを整形することで得られたパケ
ットのデータを、前記記憶手段の自己識別パケット専用
に設けられた領域に書き込むことを特徴とする。このよ
うにすれば、トポロジーマップの作成などの際の処理を
簡易化できるようになる。
【0016】また本発明は、下層から送られてくるステ
ータス情報に基づいて自己識別期間中か否かを検出する
手段を含み、前記パケット整形手段が、自己識別期間中
に転送されてきた一連のパケットを自己識別パケットと
見なして、該一連の自己識別パケットを整形することを
特徴とする。このようにすれば、処理対象となるパケッ
トが自己識別パケットか否かを簡易に検出できるように
なり、ハードウェアの小規模化を図れる。
【0017】なお、本発明では、IEEE1394の規
格に準拠したデータ転送を行うことが望ましい。
【0018】また本発明に係る電子機器は、上記のいず
れかのデータ転送制御装置と、前記データ転送制御装置
及びバスを介して他のノードから受信したデータに所与
の処理を施す装置と、処理が施されたデータを出力又は
記憶するための装置とを含むことを特徴とする。また本
発明に係る電子機器は、上記のいずれかのデータ転送制
御装置と、前記データ転送制御装置及びバスを介して他
のノードに送信するデータに所与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むこ
とを特徴とする。
【0019】本発明によれば、他のノードから転送され
たデータを電子機器において出力したり記憶したりする
処理、電子機器において取り込んだデータを他のノード
に転送したりする処理を高速化することが可能になる。
また、本発明によれば、整形後のパケットを記憶する記
憶手段を小規模化できると共に、データ転送を制御する
ファームウェアなどの処理負担を軽減できるため、電子
機器の低コスト化、小規模化などを図ることも可能にな
る。
【0020】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて詳細に説明する。
【0021】1.IEEE1394 まず、IEEE1394の概要について簡単に説明す
る。
【0022】1.1 データ転送速度、接続トポロジー IEEE1394(IEEE1394−1995、IE
EE1394.A)では100〜400Mbpsの高速
なデータ転送が可能となっている(IEEE1394.
Bでは800〜3200Mbps)。また、転送速度が
異なるノードをバスに接続することも許される。
【0023】各ノードはツリー状に接続されており、1
つのバスに最大で63個のノードが接続可能になってい
る。なお、バスブリッジを利用すれば約64000個の
ノードを接続することも可能である。
【0024】電源が投入されたり、途中でデバイスの抜
き差しが発生すると、バスリセットが発生し、接続トポ
ロジーに関する情報が全てクリアされる。そして、バス
リセット後、ツリー識別(ルートノードの決定)、自己
識別が行われる。その後、アイソクロナスリソースマネ
ージャ、サイクルマスタ、バスマネージャ等の管理ノー
ドが決定される。そして、通常のパケット転送が開始さ
れる。
【0025】1.2 転送方式 IEEE1394では、パケットの転送方式として、信
頼性が要求されるデータの転送に好適な非同期転送と、
リアルタイム性が要求される動画像や音声などのデータ
の転送に好適なアイソクロナス転送が用意されている。
【0026】図1(A)に、非同期サブアクションの例
を示す。1つのサブアクションは、調停、パケット転
送、アクノリッジメントからなる。即ち、データ転送に
先立って、まず、バスの使用権に関する調停が行われ
る。そしてソース(転送元)ノードからデスティネーシ
ョン(転送先)ノードにパケットが転送される。このパ
ケットのヘッダにはソースIDとデスティネーションI
Dが含まれる。デスティネーションノードは、このデス
ティネーションIDを読んで、自ノード宛のパケットか
否かを判断する。デスティネーションノードは、パケッ
トを受け取ると、ソースノードにアクノリッジメント
(ACK)のパケットを返す。
【0027】パケット転送とACKの間にはアクノリッ
ジギャップが存在する。また、1つのサブアクションと
次のサブアクションの間にはサブアクションギャップが
存在する。そして、サブアクションギャップに相当する
一定のバス・アイドル時間が経過しないと、次のサブア
クションの調停を開始できない。これによりサブアクシ
ョン相互の衝突が回避される。
【0028】図1(B)に、アイソクロナスサブアクシ
ョンの例を示す。アイソクロナス転送はブロードキャス
ト(バスに接続される全てのノードに転送)で実行され
るため、パケット受信時にACKは返送されない。ま
た、アイソクロナス転送では、ノードIDではなくチャ
ネル番号を使用してパケット転送が行われる。なお、サ
ブアクション間にはアイソクロナスギャップが存在す
る。
【0029】図1(C)に、データ転送時のバスの様子
を示す。アイソクロナス転送は、サイクルマスタが一定
周期毎にサイクルスタートパケットを発生することで開
始する。これにより、1つのチャネル当たり、125μ
s毎に少なくとも1つのパケットを転送できるようにな
る。この結果、動画像や音声などのリアルタイム性が要
求されるデータの転送が可能になる。
【0030】非同期転送はアイソクロナス転送の合間に
行われる。即ち、アイソクロナス転送の方が非同期転送
よりも優先順位が高くなっている。これは、図1(C)
に示すように、アイソクロナスギャップの時間を、非同
期転送のサブアクションギャップの時間よりも短くする
ことで実現される。
【0031】1.3 ツリー識別 ツリー識別はバスリセットの後に行われる。ツリー識別
によりノード間の親子関係やルートノードが決定され
る。
【0032】まず、リーフノード(1つのノードにしか
接続されていないノード)が、隣接するノードに、ペア
レントノーティファイを送る。例えば図2(A)のよう
にノードA、B、C、D、Eが接続されている場合に
は、ノードAからノードBに、ノードD及びEからノー
ドCに、ペアレントノーティファイ(PN)が送られ
る。
【0033】ペアレントノーティファイを受け取ったノ
ードは、送り元のノードを自身の子と認知する。そし
て、チャイルドノーティファイをそのノードに送る。例
えば図2(A)では、ノードBからノードAに、ノード
CからノードD及びEにチャイルドノーティファイ(C
N)が送られる。これによってノードB、A間、ノード
C、D間、ノードC、E間の親子関係が決定する。
【0034】ノードB、Cの親子関係は、どちらが先に
ペアレントノーティファイを送ったかで決定される。例
えば図2(B)のように、ノードCの方が先にペアレン
トノーティファイを送ると、ノードBが親になりノード
Cが子になる。
【0035】ポートの接続先の全てのノードが自身の子
となるノードがルートになる。図2(B)では、ノード
Bがルートになる。なお、IEEE1394では、全て
のノードがルートになる可能性がある。
【0036】1.4 自己識別 ツリー識別の後、自己識別が行われる。自己識別におい
ては、接続トポロジーにおいてルートノードから遠いノ
ードから順にセルフIDパケットが転送される。
【0037】より具体的には、例えば図3において、ま
ず、ルートノードBのポート1(番号の小さいポート)
に接続されるノードAが、セルフIDパケット(自己識
別パケット)を全てのノードにブロードキャストする。
【0038】次に、ルートノードBのポート2(番号が
大きいポート)に接続されるノードCが選択され、この
ノードCのポート1(番号の小さいポート)に接続され
るノードDがセルフIDパケットをブロードキャストす
る。次に、ノードCのポート2(番号の大きいポート)
に接続されるノードEがセルフIDパケットをブロード
キャストし、その後、ノードCがブロードキャストす
る。最後に、ルートであるノードBがセルフIDパケッ
トをブロードキャストし、自己識別が完了する。
【0039】セルフIDパケットには各ノードのIDが
含まれる。ブロードキャストを行う時点で他のノードか
ら受け取ったセルフIDパケットの個数が、この各ノー
ドのIDとなる。例えば図3では、ノードAがブロード
キャストを行う時点では、どのノードもセルフIDパケ
ットを発していないため、ノードAのIDは0になる。
ノードAは、このID=0をセルフIDパケットに含ま
せてブロードキャストする。また、ノードDがブロード
キャストを行う時点では、ノードAのみがセルフIDパ
ケットを発している。このため、ノードDのIDは1に
なる。同様に、ノードE、C、BのIDは、各々、2、
3、4になる。
【0040】図4(A)にセルフIDパケットのフォー
マットを示す。同図に示すようにセルフIDパケットに
は各ノードの基本情報が含まれる。具体的には、各ノー
ドのID(PHY_ID)、リンク層がアクティブか否
か(L)、ギャップカウント(gap_cnt)、転送
速度(sp)、アイソクロナスリソースマネージャにな
れる能力を有するか否か(C)、電力状態(pwr)、
ポートの状態(p0、p1、p2)などに関する情報が
含まれる。
【0041】なお、図4(B)に、ノードのポート数が
4個以上の場合に使用されるセルフIDパケット#1、
#2、#3のフォーマットを示す。ポート数が4〜11
個の場合にはセルフIDパケット#0(図4(A))及
び#1が、12〜19個の場合にはセルフIDパケット
#0、#1及び#2が、20〜27個の場合にはセルフ
IDパケット#0、#1、#2及び#3が使用されるこ
とになる。
【0042】また、図4(C)、(D)に、セルフID
パケットと同様に、物理層のパケット(PHYパケッ
ト)であるリンクオンパケット、PHY構成パケットの
フォーマットを示す。
【0043】1.5 アイソクロナスリソースマネージ
ャ アイソクロナスリソースマネージャ(IRM)は以下の
管理機能を有する。
【0044】第1に、アイソクロナス転送に必要な種々
のリソースを提供する。例えば、チャネル番号レジスタ
や帯域幅レジスタを提供する。第2に、バスマネージャ
のIDを示すレジスタを提供する。第3に、バスマネー
ジャがいない場合に、簡易的なバスマネージャとなる役
割を有する。
【0045】IRMになれる能力を有し(アイソクロナ
スリソースを管理する能力を有し)、且つ、動作状態に
なっている(リンク層がアクティブになっている)ノー
ドの中で(IRMになれる資格を有するノードの中
で)、ルートに最も近い(IDが最も大きい)ノードが
IRMになる。より、具体的には、図4(A)のセルフ
IDパケットにおいて、IRMになれる能力を有するか
否かを示すC(CONTENDER)ビットと、リンク
層がアクティブか否かを示すL(LINK_ACTIV
E)ビットが共に1になっているノードの中で、ルート
に一番近いノード(PHY_IDが一番大きいノード)
がIRMになる。例えば、ルートノードのセルフIDパ
ケットのCビットとLビットが1の場合には、ルートノ
ードがIRMになる。
【0046】1.6 サイクルマスタ、バスマネージャ サイクルマスタは、図1(C)に示すサイクルスタート
パケットを送信する役割を有し、ルートノードがサイク
ルマスタになる。
【0047】バスマネージャは、トポロジーマップ(各
ノードの接続状態)の作成、スピードマップの作成、バ
スの電力管理、サイクルマスタの決定、ギャップカウン
トの最適化などの仕事を行う。
【0048】1.7 プロトコル構成 図5を用いて、IEEE1394のプロトコル構成(層
構造)について説明する。
【0049】IEEE1394のプロトコルは、物理
層、リンク層、トランザクション層により構成される。
また、シリリアルバスマネージメントは、物理層、リン
ク層、トランザクション層をモニターしたり制御したり
するものであり、ノードの制御やバスのリソース管理の
ための種々の機能を提供する。
【0050】物理層は、リンク層により使用されるロジ
カルシンボルを電気信号に変換したり、バスの調停を行
ったり、バスの物理的インターフェースを定義する。
【0051】リンク層は、アドレッシング、データチェ
ック、データフレーミング、サイクル制御などを提供す
る。
【0052】トランザクション層は、リード、ライト、
ロックなどのトランザクションを行うためのプロトコル
を定義する。
【0053】物理層及びリンク層は、通常、データ転送
制御装置(インターフェースチップ)などのハードウェ
アにより実現される。また、トランザクション層は、C
PU上で動作するファームウェアや、ハードウェアによ
り実現される。
【0054】2.全体構成 次に、本実施形態の全体構成について図6を用いて説明
する。
【0055】図6において、PHYインターフェース1
0は、物理層のプロトコルを実現するPHYチップとの
インターフェースを行う回路である。
【0056】リンクコア20は、リンク層のプロトコル
やトランザクション層のプロトコルの一部を実現する回
路であり、ノード間でのパケット転送のための各種サー
ビスを提供する。レジスタ22は、これらのプロトコル
を実現したりリンクコア20を制御するためのレジスタ
である。
【0057】FIFO(ATF)30、FIFO(IT
F)32、FIFO(RF)34は、各々、非同期送信
用、アイソクロナス送信用、受信用のFIFOであり、
例えばレジスタや半導体メモリなどのハードウェアによ
り構成される。本実施形態では、これらのFIFO3
0、32、34の段数は非常に少ない。例えば1つのF
IFOの段数は、好ましくは3段以下であり、更に好ま
しくは2段以下となる。
【0058】DMAC40、42、44は、各々、AT
F、ITF、RF用のDMAコントローラである。これ
らのDMAC40、42、44を用いることで、CPU
66に介入されることなく、RAM80とリンクコア2
0との間でのデータ転送が可能になる。なお、レジスタ
46は、DMAC40、42、44などを制御するレジ
スタである。
【0059】ポートインターフェース50は、アプリケ
ーション層のデバイス(例えばプリンタの印字処理を行
うデバイス)とのインターフェースを行う回路である。
本実施形態では、このポートインターフェース50を用
いて、例えば8ビットのデータ転送が可能になってい
る。
【0060】FIFO(PF)52は、アプリケーショ
ン層のデバイスとの間でのデータ転送のためのFIFO
であり、DMAC54は、PF用のDMAコントローラ
である。レジスタ56は、ポートインターフェース50
やDMAC54を制御するレジスタである。
【0061】CPUインターフェース60は、データ転
送制御装置をコントロールするCPU66とのインター
フェースを行う回路である。CPUインターフェース6
0は、アドレスデコーダ62、データ同期化回路63、
割り込みコントローラ64を含む。クロック制御回路6
8は、本実施形態で使用されるクロックを制御するもの
であり、PHYチップから送られてくるSCLKや、マ
スタークロックであるHCLKが入力される。
【0062】バッファマネージャ70は、RAM80と
のインターフェースを管理する回路である。バッファマ
ネージャ70は、バッファマネージャの制御のためのレ
ジスタ72、RAM80へのバス接続を調停する調停回
路74、各種の制御信号を生成するシーケンサ76を含
む。
【0063】RAM80は、ランダムアクセス可能なパ
ケット記憶手段として機能するものであり、その機能は
例えばSRAM、DRAMなどにより実現される。そし
て、本実施形態では、図7に示すように、このRAM8
0がヘッダ領域(広義には制御情報領域)とデータ領域
に分離されている。そして、パケットのヘッダ(広義に
は制御情報)は図7のヘッダ領域に格納され、パケット
のデータはデータ領域に格納される。
【0064】なおRAM80は、本実施形態のデータ転
送制御装置に内蔵させることが特に望ましいが、その一
部又は全部を外付けにすることも可能である。
【0065】バス90(或いはバス92、94)は、ア
プリケーションに接続されるものである(第1のバ
ス)。またバス96(或いはバス98)はデータ転送制
御装置をコントロールするためのものであり、データ転
送制御装置をコントロールするデバイス(例えばCP
U)に電気的に接続される(第2のバス)。またバス1
00(或いはバス102、104、105、106、1
07、108、109)は、物理層のデバイス(例えば
PHYチップ)に電気的に接続されるものである(第3
のバス)。また、バス110は、ランダムアクセス可能
な記憶手段であるRAMに電気的に接続されるものであ
る(第4のバス)。
【0066】バッファマネージャ70の調停回路74
は、DMAC40、DMAC42、DMAC44、CP
Uインターフェース60、DMAC54からのバスアク
セス要求の調停を行う。そして、この調停結果に基づい
て、各々、バス105、107、109、98、94の
いずれかと、RAM80のバス110との間にデータの
経路が確立される(第1、第2、第3のバスのいずれか
と第4のバスとの間にデータ経路が確立される)。
【0067】本実施形態の1つの特徴は、ランダムアク
セスが可能でありパケットを格納するRAM80を設け
ると共に、互いに分離されるバス90、96、100
と、これらのバスをRAM80のバス110に接続する
ための調停回路74とを設けた点にある。
【0068】例えば図8に、本実施形態と構成の異なる
データ転送制御装置の例を示す。このデータ転送制御装
置では、リンクコア902は、PHYインターフェース
900、バス922を介してPHYチップと接続され
る。また、リンクコア902は、FIFO904、90
6、908、CPUインターフェース910、バス92
0を介してCPU912に接続される。そして、CPU
912は、バス924を介して、CPUにローカルなメ
モリであるRAM914に接続される。
【0069】なお、FIFO904、906、908
は、図6のFIFO30、32、34と異なり、非常に
段数の多いものとなる(例えば1つのFIFOが16段
程度)。
【0070】図8の構成のデータ転送制御装置を用いた
場合のデータ転送の手法について図9を用いて説明す
る。PHYチップ930を介して他のノードから送られ
てきた受信パケットは、バス922、データ転送制御装
置932、バス920を介してCPU912が受け取
る。そして、CPU912は、受け取った受信パケット
をバス924を介してRAM914に書き込む。そし
て、CPU912は、受信パケットをアプリケーション
層が使用できるように加工し、バス926を介してアプ
リケーション層のデバイス934に転送する。
【0071】一方、アプリケーション層のデバイス93
4からのデータを転送する場合には、CPU912は、
このデータをRAM914に書き込む。そして、RAM
914のデータにヘッダを付加することでIEEE13
94に準拠したパケットを生成する。そして生成された
パケットは、データ転送制御装置932、PHYチップ
930などを介して他のノードに送信される。
【0072】しかしながら、このようなデータ転送手法
によると、CPU912の処理負荷が非常に重くなる。
従って、ノード間を接続するシリアルバスの転送速度が
高速になっても、CPU912の処理のオーバーヘッド
などに起因して、システム全体の実転送速度は低くな
り、結局、高速なデータ転送を実現できない。
【0073】このような問題を解決する1つの手法とし
て、図10に示すように、データ転送制御装置932と
RAM914との間でのデータ転送や、RAM914と
アプリケーション層のデバイス934との間でのデータ
転送を、ハードウェアDMAにより実現する手法も考え
られる。
【0074】しかしながら、この手法では、CPUバス
928が、データ転送制御装置932、RAM914間
でのデータ転送、RAM914、CPU912間でのデ
ータ転送、RAM914、アプリケーション層デバイス
934間でのデータ転送に使用されることになる。従っ
て、システム全体のデータ転送の高速化を図ろうとする
と、CPUバス928としてPCIバスのような高速な
バスを使用しなければならなくなり、これは、データ転
送制御装置を使用する電子機器の高コスト化を招く。
【0075】これに対して、本実施形態では図11に示
すように、データ転送制御装置120、アプリケーショ
ン層デバイス124間のバス90と、CPUバス96
と、データ転送制御装置120、RAM80間のバス1
10とが互いに分離されている。従って、CPUバス9
6をデータ転送の制御のみに使用できるようになる。ま
た、バス90を占有して、データ転送制御装置120、
アプリケーション層デバイス124間でデータ転送を行
うことができるようになる。例えば、データ転送制御装
置120が組み込まれる電子機器がプリンタである場合
には、バス90を占有して印字データを転送できるよう
になる。この結果、CPU66の処理負荷を軽減でき、
システム全体の実転送速度を高めることができる。また
CPU66として安価なものを採用できると共に、CP
Uバス96として高速なバスを使用する必要性がなくな
る。このため、電子機器の低コスト化、小規模化を図れ
るようになる。
【0076】3.セルフIDパケットの整形 3.1 本実施形態の特徴 さて、図12に示すように、セルフID期間において
は、バスに接続される全てのノードからセルフIDパケ
ットが送られてくる。そして、各セルフIDパケットの
第1クワドレットは、ノードIDなどの基本情報が含ま
れるデータ本体(ボディ)になっており、第2クワドレ
ットは、第1クワドレットの反転であるパリティ(エラ
ーチェック情報)になっている(詳しくは、図4(A)
参照)。
【0077】例えば図8の構成のデータ転送制御装置で
は、これらの一連のセルフIDパケットを図13(A)
に示すように整形する。即ち、物理層のパケットである
セルフIDパケットに、上層(トランザクション層やア
プリケーション層)にインターフェースするためのヘッ
ダを付加するというパケット整形が行われる。そして、
整形されたパケットは、CPUのローカルメモリである
RAM(図8のRAM914)に格納される。
【0078】しかしながら、セルフIDパケットは、ノ
ード数に応じた個数だけ必要であり、バスに63個のノ
ードが接続されると例えば最小で63個のセルフIDパ
ケットを保持する必要がある。即ち、セルフIDパケッ
トの個数は、通常、非常に多い。従って、これらのセル
フIDパケットにヘッダを付加し、そのままRAMに格
納すると、RAMの空き容量が圧迫されてしまい、各ノ
ードのリソースを有効利用できなくなってしまう。ま
た、それぞれのセルフIDパケットを受け取る毎に、フ
ァームウェアは必要な処理を行わなければならない。従
ってセルフIDパケットの個数が増加すると、ファーム
ウェアの処理負担が増加する。更に、セルフID期間が
終了した後、即ちバスリセットが発生してから最初のア
ービトレーション・リセット・ギャップが発生した後に
は、その受け取ったセルフIDパケットの整形作業が必
要になる。従って、セルフIDパケットの個数が増加す
ると、この整形作業の処理負担も増加する。
【0079】そこで、本実施形態では図13(B)に示
すように、転送されてくる一連のパケットを、ヘッダ
(広義には制御情報)と、一連のセルフIDパケットか
らなるデータとによりフレームが構成されるパケットに
整形している。つまり、一連のセルフIDパケットを1
つにパッケージングし、このパッケージングされたもの
に1つのヘッダを付加し、上層にインターフェースして
いる。
【0080】図13(A)の比較例では、セルフIDパ
ケットの各々に一対一に対応してヘッダが付加されてい
る。これに対して、本実施形態では、このように全ての
セルフIDパケットの各々にヘッダを付加することは無
駄であるということに着目し、一連のセルフIDパケッ
トを1つにパッケージングしたものに1つのヘッダを付
加している。
【0081】このようにすることで、本実施形態では、
パケット記憶メモリであるRAM(図6のRAM80)
の空き容量が圧迫される事態を効果的に解消することに
成功している。これにより、RAMの小規模化を図れ、
データ転送制御装置や電子機器の低コスト化、小規模化
を図れるようになる。
【0082】また、図13(A)の比較例では、セルフ
IDパケットがN個あった場合には、整形後のパケット
の個数もN個になる。従って、これらの整形後のパケッ
トをRAMから読み出すためには、N回のパケット読み
出しを行う必要がある。
【0083】これに対して、本実施形態では、セルフI
DパケットがN個あった場合にも、整形後のパケットは
1個になる。従って、整形後のパケットをRAMから読
み出すためには、1回のパケット読み出しを行えば済む
ようになる。従って、ファームウェアなどの処理負担を
格段に軽減できる。このため、安価なCPUを採用する
ことも可能となり、データ転送制御装置や電子機器の低
コスト化、小規模化を図れるようになる。
【0084】また、本実施形態では、一連のセルフID
パケットが1つにまとめられるため、図13(A)の比
較例に比べて、パケットの取り扱いが簡易になるという
利点もある。
【0085】また、本実施形態では、図14(A)に示
すように、セルフIDパケットの第2クワドレットのパ
リティを削除し、このパリティが削除されたセルフID
パケット(セルフIDパケットのデータ本体)の並びに
より、整形後のパケットのデータ部分を構成するように
している。このようにすることで、整形後のパケットの
サイズを、パリティを削除しない場合に比べて半分程度
にすることができる。この結果、セルフIDパケットの
記憶に必要なRAMの使用容量を更に節約することに成
功している。
【0086】この場合、セルフIDパケットにエラーが
あるか否かを各セルフIDパケットのパリティに基づき
判断し、図14(B)に示すように、エラーがあるか否
かを示すステータス情報であるHCEを、パケットのト
レイラー(広義には制御情報)に付加することが望まし
い。このようにすることで、セルフIDパケットのパリ
ティを削除しても、セルフIDパケットにエラーがあっ
たか否かを上層に適切に伝えることが可能になる。
【0087】なお、バスに接続される複数のノードから
のセルフIDパケットの中に1つでもエラーのセルフI
Dパケットがあると、たとえ他のセルフIDパケットに
エラーが無くても、再度自己識別をやりなおす必要があ
る。従って、全てのセルフIDパケットに対して、エラ
ーステータス情報としてのHCEは1つで十分となる。
【0088】また、HCEは、図14(B)のようにト
レイラー(フッター)に含ませることが望ましいが、H
CEをヘッダに含ませたり、HCEをレジスタなどの所
与の記憶手段に格納するようにしてもよい。
【0089】また本実施形態では、図15(A)に示す
ように、RAMをヘッダ領域(広義には制御情報領域)
とデータ領域に分離し、整形後のパケットのヘッダをヘ
ッダ領域にデータをデータ領域に格納している。そし
て、データ領域に書き込まれるデータのアドレス(例え
ば先頭アドレス)を指すデータポインタをヘッダに付加
している。
【0090】このようにすることで、ヘッダとデータと
がRAM上において混在しなくなるため、ヘッダやデー
タの取り扱いが容易になり、CPUの処理負荷を軽減で
きるようになる。
【0091】なお、ヘッダ又はトレイラーに、データポ
インタの他に、データのサイズ(セルフIDパケット1
〜Nの全体のサイズ)を示すためのデータレングス情報
を付加してもよい。
【0092】また本実施形態では、図15(B)に示す
ように、セルフID期間に受信したパケットか否かを示
すステータス情報であるBRを、パケットのトレイラー
に付加している。
【0093】即ち、図4(A)〜(D)に示すように、
物理層が扱うPHYパケットには、セルフIDパケット
の他にリンクオンパケットとPHY構成パケットがあ
る。そして本実施形態では、セルフIDパケットと他の
PHYパケット(リンクオンパケット、PHY構成パケ
ット)とをファームウェアなどが容易に区別できること
が望ましい。図15(A)に示すように、セルフIDパ
ケットにはデータポインタなどが付加されており、セル
フIDパケットと他のPHYパケットとではファームウ
ェアの取り扱いが異なったものになるからである。
【0094】ところが、パケットの種類を区別するため
の情報としてIEEE1394において規格化されてい
るtcodeを用いても、処理対象となるパケットが、
PHYパケットの中のどのパケットなのかを区別できな
い。
【0095】本実施形態によれば、図15(B)に示す
ようにパケットのトレイラーに、セルフID期間に受信
したパケットか否かを示すBRが付加される。このた
め、セルフIDパケットと他のPHYパケットとをファ
ームウェア等が容易に区別できるようになり、処理負荷
を軽減できる。
【0096】なお、本実施形態では、図16に示すよう
に、データ領域の中にセルフIDパケット専用領域を設
け、この領域に整形後のパケットのデータ部分を書き込
むようにしてもよい。このようにすれば、トポロジーマ
ップの作成などの際の処理を簡易化でき、ファームウェ
ア等の処理負荷を軽減できるようになる。
【0097】3.2 構成 さて、本実施形態におけるパケット整形の機能は図6の
リンクコア20により実現され、パケット分離の機能は
DMAC44により実現される。
【0098】図17に、リンクコア20、FIFO3
4、DMAC44の構成の一例を示す。なお図17で
は、パケット整形やパケット分離に関係ない回路ブロッ
クについては省略している。
【0099】リンクコア20は、バス監視回路130、
直列・並列変換回路132、パケット整形回路160を
含む。そして、パケット整形回路160は、パケット診
断回路142、シーケンサ167、バッファ168、セ
レクタ170を含み、パケット診断回路142は、TA
G生成回路162、ヘッダ&トレイラー生成回路16
4、エラーチェック回路166を含む。
【0100】ここで、バス監視回路130は、PHYイ
ンターフェース10を介してPHYチップに接続される
8ビット幅のデータバスD、2ビット幅のコントロール
バスCTLを監視する回路である。
【0101】直列・並列変換回路132は、データバス
Dのデータを32ビットのデータに変換する回路であ
る。例えば、転送速度が400Mbpsの場合には8ビ
ットのデータが32ビットのデータに、200Mbps
の場合には4ビットのデータが32ビットのデータに、
100Mbpsの場合には2ビットのデータが32ビッ
トのデータに変換される。
【0102】パケット診断回路142は、セルフIDパ
ケットなどのパケットを診断する回路である。TAG生
成回路162は、ヘッダ、データ、トレイラーなどを区
別するためのTAGを生成する回路であり、ヘッダ&ト
レイラー生成回路164は、図13(B)〜図15
(B)などで説明したヘッダ及びトレイラー(フッタ
ー)を生成する回路である。また、エラーチェック回路
166は、パケットに含まれるパリティなどのエラーチ
ェック情報をチェックしてエラーを検出する回路であ
る。
【0103】シーケンサ167は各種の制御信号を生成
するものである。バッファ168、セレクタ170は、
直列・並列変換回路132からのDI、パケット診断回
路142からのヘッダ及びトレイラー、DMAC44か
らのデータポインタのいずれかを、パケット診断回路1
42からの信号SELにより選択するためのものであ
る。
【0104】FIFO34は、リンコア20からの出力
データであるRDの位相と、RAM80への書き込みデ
ータであるWDATAの位相とを調整するためのバッフ
ァとして機能するものであり、FIFO状態判断回路3
5を含む。FIFO状態判断回路35は、FIFOが空
になると、EMPTYをアクティブにし、FIFOがフ
ルになると、FULLをアクティブにする。
【0105】DMAC44は、パケット分離回路18
0、アクセス要求実行回路190、アクセス要求発生回
路192を含む。
【0106】パケット分離回路180は、パケット整形
回路160により整形されたパケットを分離して、ヘッ
ダ及びトレイラーをRAM80のヘッダ領域に、データ
をデータ領域に書き込むための回路である(図7参
照)。パケット分離回路180は、TAG判別回路18
2、ポインタ更新回路184、アドレス発生回路188
を含む。
【0107】TAG判別回路182は、TAG生成回路
162により生成されたTAG(DTAG)を判別する
回路である。
【0108】ポインタ更新回路184は、TAG判別回
路182の出力を受け、RAM80にヘッダやデータを
書き込むためのヘッダポインタやデータポインタを更新
するための回路である。
【0109】アドレス発生回路188は、ポインタ更新
回路184の出力を受け、RAM80への書き込みアド
レスWADRを発生する回路である。
【0110】アクセス要求実行回路190は、リンクコ
ア20からのアクセス要求を実行するための回路であ
る。アクセス要求実行回路190は、FIFO状態判断
回路35からのFULLがアクティブになると、FFU
LLをアクティブにする。パケット整形回路160内の
シーケンサ167は、FFULLがアクティブでないこ
とを条件に、RD(RxData)のストローブ信号で
あるRDSをアクティブにする。
【0111】なおRFAILは、受信における失敗を、
シーケンサ167がアクセス要求実行回路190に対し
て知らせるための信号である。
【0112】アクセス要求発生回路192は、RAM8
0へのアクセス要求を発生するための回路である。アク
セス要求発生回路192は、バッファマネージャ70か
らの書き込みアクノリッジメントであるWACKやFI
FO状態判断回路35からのEMPTYを受け、書き込
み要求であるWREQをバッファマネージャ70に出力
する。
【0113】3.3 動作 次に、本実施形態の動作の詳細について図18のタイミ
ング波形図などを用いて説明する。
【0114】まず、リンクコア20の動作について説明
する。
【0115】バス監視回路130は、セルフID期間
(バスリセットから1回目のサブアクションギャップま
での期間)中か否かを判断し、セルフID期間中の場合
には図18のC1に示すように、バスリセット中である
ことを示す信号BRIPをHレベルにする。
【0116】セルフID期間中か否かは以下のようにし
て検出する。まず、バス監視回路130が、PHYチッ
プからの2ビットのCTLを監視する。そして図19
(A)に示すようにCTLが(01)の場合には、図1
9(B)に示すようにPHYチップからデータバスDを
介してステータス情報が送られてくると判断する。この
PHYチップからDを介して送られてくるステータス情
報の中のステータスビットの内容を調べることで、図1
9(C)に示すようにバスリセットがなされたか否か
(ビット2)、サブアクションギャップが来たか否か
(ビット1)などを判断できる。そして、バス監視回路
130は、バスリセットがなされたと判断すると、図1
8に示すようにBRIPをHレベルにし、サブアクショ
ンギャップが来たと判断すると、BRIPをLレベルに
戻す。
【0117】このBRIPのレベルを監視することで、
パケット診断回路142は、セルフID期間中か否かを
知ることができるようになる。そして、このセルフID
期間に送られてきたパケットをセルフIDパケットと見
なし、前述のパケット整形を行う。
【0118】セルフID期間に入ると、まず、パケット
診断回路142のヘッダ&トレイラー生成回路164が
ヘッダを生成する。このヘッダは、バッファ168を介
してセレクタ170に入力され、パケット診断回路14
2からの信号SELに基づきセレクタ170がこのヘッ
ダを選択する。これにより、図18のC2に示すよう
に、RDとしてヘッダがFIFO34に出力されること
になる。
【0119】なお図20(A)に、パケットがセルフI
Dパケットである場合にヘッダ&トレイラー生成回路1
64が生成するヘッダ及びトレイラーのフォーマットを
示す。同図において網掛けとなっている部分がトレイラ
ーであり、それ以外がヘッダである。
【0120】また図20(B)に、パケットがセルフI
Dパケット以外のPHYパケットである場合に、ヘッダ
&トレイラー生成回路164が生成するヘッダ及びトレ
イラーのフォーマットも示す。
【0121】ヘッダがRDとして出力されると、次に、
DMAC44からのデータポインタがバッファ168を
介してセレクタ170に入力され、セレクタ170がこ
れを選択する。これにより、図18のC3に示すよう
に、RDとしてデータポインタがFIFO34に出力さ
れる。
【0122】さて、図19(B)に示すように、CTL
が(10)である場合には受信状態になり、PHYチッ
プからデータバスDを介してセルフIDパケットが送ら
れてくる。直列・並列変換回路132は、これらのセル
フIDパケットのデータを32ビットのデータであるD
Iに変換し、パケット診断回路142及びバッファ16
8に出力する。
【0123】なお、DIEは、DIのデータが有効か無
効かを示す信号である(DIEがHレベルの時に有
効)。このDIEを調べることでパケット診断回路14
2はパケットの区切りを知ることができる。また、DI
Sは、DIの取り込みタイミングを知らせるためのスト
ローブ信号である。
【0124】データポインタがRDとして出力される
と、次に、直列・並列変換回路132からの上記DI
(一連のセルフIDパケット)がバッファ168を介し
てセレクタ170に入力され、セレクタ170がこれを
選択する。これにより、C4に示すように、RDとして
一連のセルフIDパケットがFIFO34に出力され
る。
【0125】なお、この際に本実施形態では、図14
(A)で説明したように、セルフIDパケットの第2ク
ワドレットについては削除し、FIFO34に出力しな
いようにしている。また、これらの第2クワドレットに
ついてはパケット診断回路142のエラーチェック回路
166がチェックする。そして、図14(B)で説明し
たように、一連のセルフIDパケットの中に1つでもエ
ラーのパケットがあった場合には、エラーチェック回路
166は、トレイラーの中にエラーステータス情報HC
Eを付加するようにヘッダ&トレイラー生成回路164
に指示する。
【0126】DIがRDとして出力されると、次に、ヘ
ッダ&トレイラー生成回路164からのトレイラーがバ
ッファ168を介してセレクタ170に入力され、セレ
クタ170がこれを選択する。これにより、C5に示す
ように、RDとしてトレイラーがFIFO34に出力さ
れる。
【0127】このトレイラーは、図20(A)に示すよ
うに、データのサイズを表すDatalength、セ
ルフID期間中のパケットか否かを示すBR、エラース
テータス情報であるHCEを含む。
【0128】なお、処理対象となるパケットがセルフI
D期間中のセルフIDパケットである場合には、図20
(A)に示すようにBRは1となり、セルフID期間外
のリンクオンパケットやPHY構成パケットである場合
には、図20(B)に示すようにBRは0になる。この
ようにすることで、tcodeが同じ0xEであって
も、ファームウェアはこれらのパケットを区別できるよ
うになる。
【0129】また、セルフIDパケットの中に1つでも
エラーのパケットがあった場合には、HCEが1にな
る。これにより、ファームウェア等は、セルフIDパケ
ットにエラーがあったか否かを簡易に検出でき、自己識
別を再度やり直すなどの処理が可能になる。
【0130】さて、TAG生成回路162は、RDとし
て出力される情報を区別するためのTAGを生成してい
る。本実施形態では図21に示すようにTAGは2ビッ
トであり、(00)、(01)、(10)、(11)
は、各々、ヘッダ、トレイラー、データ、スタート(ヘ
ッダの最初)を表す。従って、例えば図18では、(1
1)、(00)、(10)、(10)、・・・、(01)
というようにTAGが変化する。FIFO34には、こ
の2ビットのTAGと32ビットのRDとからなる34
ビットのデータが入力されることになる。
【0131】なお、図22に、セルフID期間外におい
て、セルフIDパケット以外のPHYパケット(リンク
オンパケット、PHY構成パケット)を整形する際のタ
イミング波形図を示す。パケット診断回路142は、B
RIPがLレベルである場合には、セルフID期間外で
あると判断する。そして、この場合には、信号SELを
制御して、ヘッダの生成後にデータポインタを選択しな
いようにする。即ち図18のC3とは異なり、図22の
D1に示すようにヘッダにデータポインタを付加する処
理は行われない。また図18のC4と異なり、図22の
D2に示すように複数のPHYパケットを1つにパッケ
ージングする処理も行われない。また、図20(B)に
示すように、セルフID期間中か否かを表すBRが0に
設定される。またTAGは、(11)、(10)、(0
1)と変化する。
【0132】次に、DMAC44の動作について説明す
る。
【0133】パケット分離回路180に含まれるTAG
判別回路182は、RAM80への書き込みデータであ
るWDATAと共にFIFO34から出力されるDTA
Gを判別し、WDATAが、スタート(ヘッダの最
初)、ヘッダ、データ、トレイラーのいずれなのかを判
定する。そして、ポインタ更新回路184は、この判定
結果に基づいて、ヘッダポインタやデータポインタの更
新を行う。次に、アドレス発生回路188は、更新され
たヘッダポインタやデータポインタに基づいて、WDA
TAの書き込みアドレスであるWADRを発生する。
【0134】より具体的には、例えば、WDATAがス
タート又はヘッダであるとDTAGに基づき判定された
場合は、ポインタ更新回路184が、ヘッダポインタの
インクリメント(広義には更新)を行う。アドレス発生
回路188は、インクリメントされるヘッダポインタに
基づきRAM80のアドレスであるWADRを発生す
る。
【0135】次に、WDATAがデータであるとDTA
Gに基づき判定された場合は、ポインタ更新回路184
が、データポインタのインクリメントを行う。アドレス
発生回路188は、インクリメントされるデータポイン
タに基づきWADRを発生する。最後に、WDATAが
トレイラーであるとDTAGに基づき判定された場合
は、ポインタ更新回路184が、今度は、ヘッダポイン
タのインクリメントを行う。
【0136】以上のようにして、パケットを分離してヘ
ッダ領域とデータ領域に書き込むことが可能になる。
【0137】特に本実施形態では、ヘッダに付加される
データポインタが、ポインタ更新回路184からパケッ
ト整形回路160に伝えられる。そしてパケット整形回
路160が、この伝えられたデータポインタをパケット
のヘッダに付加する。このようにすることで、ヘッダ領
域からヘッダを読み出したファームウェアなどが、その
ヘッダに対応するデータのデータ領域での格納アドレス
を容易に知ることができるようになる。また、データポ
インタの付加は、パケット整形回路160により行わ
れ、DMAC44はこれに関与する必要がない。従っ
て、DMAC44がRAM80へのデータ書き込み処理
に専念できるようになり、DMAC44の回路構成や処
理を簡素化できるようになる。
【0138】なお、RAM80を分離する領域の境界、
例えばヘッダ領域とデータ領域の境界の設定は、CPU
インターフェース60を介してCPU66(ファームウ
ェア等)が、図6のレジスタ46に含まれるポインタ設
定レジスタに対して、境界のアドレスを指すポインタを
設定することで実現される。
【0139】また、データ領域が複数の領域に分離され
る場合(アイソクロナス転送用と非同期転送用の領域に
分離される場合、第1、第2の非同期転送用の領域に分
離される場合等)には、各々が各領域を指す複数のデー
タポインタを用意することが望ましい。より具体的に
は、図17に示すように、DMAC44が、複数のデー
タポインタ、例えば第1、第2のデータポインタをパケ
ット整形回路160に対して渡すようにする(3個以上
のデータポインタを渡してもよい)。このようにするこ
とで、デジタルカメラにおける動画像データをアイソク
ロナス転送用データ領域に連続的に格納したり、プリン
タにおける印字データを第2の非同期転送用データ領域
に連続的に格納したりすること(第1の非同期転送用デ
ータ領域にはコマンドデータ、ステータスデータなどの
制御用データを格納する)が可能になる。
【0140】アクセス要求発生回路192は、FIFO
状態判断回路35からのEMPTYや、バッファマネー
ジャ70からのWACKに基づいて、WREQを生成
し、バッファマネージャ70に出力する。バッファマネ
ージャ70の調停回路74は、このWREQや、PF用
のDMAC54や、CPUインターフェース60からW
REQに基づいてバスの調停を行うことになる。
【0141】4.電子機器 次に、本実施形態のデータ転送制御装置を含む電子機器
の例について説明する。
【0142】例えば図23(A)に電子機器の1つであ
るプリンタの内部ブロック図を示し、図24(A)にそ
の外観図を示す。CPU(マイクロコンピュータ)51
0はシステム全体の制御などを行う。操作部511はプ
リンタをユーザが操作するためのものである。ROM5
16には、制御プログラム、フォントなどが格納され、
RAM518はCPU510のワーク領域として機能す
る。表示パネル519はプリンタの動作状態をユーザに
知らせるためのものである。
【0143】PHYチップ502、データ転送制御装置
500を介して、パーソナルコンピュータなどの他のノ
ードから送られてきた印字データは、バス504を介し
て印字処理部512に直接送られる。そして、印字デー
タは、印字処理部512にて所与の処理が施され、プリ
ントヘッダなどからなる印字部(データを出力するため
の装置)514により紙に印字されて出力される。
【0144】図23(B)に電子機器の1つであるスキ
ャナの内部ブロック図を示し、図24(B)にその外観
図を示す。CPU520はシステム全体の制御などを行
う。操作部521はスキャナをユーザが操作するための
ものである。ROM526には制御プログラムなどが格
納され、RAM528はCPU520のワーク領域とし
て機能する。
【0145】光源、光電変換器などからなる画像読み取
り部(データを取り込むための装置)522により原稿
の画像が読み取られ、読み取られた画像のデータは画像
処理部524により処理される。そして、処理後の画像
データがバス505を介してデータ転送制御装置500
に直接送られる。データ転送制御装置500は、この画
像データにヘッダなどを付加することでパケットを生成
し、PHYチップ502を介してパーソナルコンピュー
タなどの他のノードに送信する。
【0146】図23(C)に電子機器の1つであるCD
−Rドライブの内部ブロック図を示し、図24(C)に
その外観図を示す。CPU530はシステム全体の制御
などを行う。操作部531はCD−Rをユーザが操作す
るためのものである。ROM536には制御プログラム
などが格納され、RAM538はCPU530のワーク
領域として機能する。
【0147】レーザ、モータ、光学系などからなる読み
取り&書き込み部(データを取り込むための装置又はデ
ータを記憶するための装置)533によりCD−R53
2から読み取られたデータは、信号処理部534に入力
され、エラー訂正処理などの所与の信号処理が施され
る。そして、信号処理が施されたデータが、バス506
を介してデータ転送制御装置500に直接送られる。デ
ータ転送制御装置500は、このデータにヘッダなどを
付加することでパケットを生成し、PHYチップ502
を介してパーソナルコンピュータなどの他のノードに送
信する。
【0148】一方、PHYチップ502、データ転送制
御装置500を介して、他のノードから送られてきたデ
ータは、バス506を介して信号処理部534に直接送
られる。そして、信号処理部534によりこのデータに
所与の信号処理が施され、読み取り&書き込み部533
によりCD−R532に記憶される。
【0149】なお、図23(A)、(B)、(C)にお
いて、CPU510、520、530の他に、データ転
送制御装置500でのデータ転送制御のためのCPUを
別に設けるようにしてもよい。
【0150】本実施形態のデータ転送制御装置を電子機
器に用いることで、高速なデータ転送が可能になる。従
って、ユーザがパーソナルコンピュータなどによりプリ
ントアウトの指示を行った場合に、少ないタイムラグで
印字が完了するようになる。また、スキャナへの画像取
り込みの指示の後に、少ないタイムラグで読み取り画像
をユーザは見ることができるようになる。また、CD−
Rからのデータの読み取りや、CD−Rへのデータの書
き込みを高速に行うことができるようになる。更に、例
えば1つのホストシステムに複数の電子機器を接続して
利用したり、複数のホストシステムに複数の電子機器を
接続して利用したりすることも容易になる。
【0151】また本実施形態のデータ転送制御装置を電
子機器に用いることで、CPU上で動作するファームウ
ェアの処理負荷が軽減され、安価なCPUや低速のバス
を用いることが可能になる。更に、パケットを記憶する
RAMを小容量化できる。従って、電子機器の低コスト
化、小規模化を図ることが可能になる。
【0152】なお本実施形態のデータ転送制御装置を適
用できる電子機器としては、上記以外にも例えば、種々
の光ディスクドライブ(CDROM、DVD)、光磁気
ディスクドライブ(MO)、ハードディスクドライブ、
TV、VTR、ビデオカメラ、オーディオ機器、電話
機、プロジェクタ、パーソナルコンピュータ、電子手
帳、ワードプロセッサなど種々のものを考えることがで
きる。
【0153】なお、本発明は本実施形態に限定されず、
本発明の要旨の範囲内で種々の変形実施が可能である。
【0154】例えば、本発明のデータ転送制御装置の構
成は、図6に示す構成が特に望ましいが、これに限定さ
れるものではない。例えば、図8に示すような構成を採
用することも可能である。
【0155】また、本発明は、IEEE1394規格で
のデータ転送に適用されることが特に望ましいが、これ
に限定されるものではない。例えばIEEE1394と
同様の思想に基づく規格やIEEE1394を発展させ
た規格におけるデータ転送にも本発明は適用できる。
【0156】
【図面の簡単な説明】
【図1】図1(A)、(B)、(C)は、非同期転送と
アイソクロナス転送について説明するための図である。
【図2】図2(A)、(B)は、ツリー識別について説
明するための図である。
【図3】自己識別について説明するための図である。
【図4】図4(A)、(B)、(C)、(D)は、セル
フIDパケットなどの物理層のパケットのフォーマット
を示す図である。
【図5】IEEE1394のプロトコル構成について示
す図である。
【図6】本実施形態のデータ転送制御装置の構成例を示
す図である。
【図7】ヘッダ(制御情報)領域とデータ領域の分離に
ついて説明するための図である。
【図8】本実施形態の比較例の構成例について示す図で
ある。
【図9】図8の構成によるデータ転送の手法について説
明するための図である。
【図10】データ転送の手法の他の例について説明する
ための図である。
【図11】本実施形態のデータ転送の手法について説明
するための図である。
【図12】セルフID期間について説明するための図で
ある。
【図13】図13(A)、(B)は、各々、比較例、本
実施形態のパケット整形について説明するための図であ
る。
【図14】図14(A)、(B)は、セルフIDパケッ
トのパリティの部分を削除する手法について説明するた
めの図である。
【図15】図15(A)は、データポインタをヘッダに
付加する手法を、図15(B)は、セルフID期間のパ
ケットか否かを示すBRをトレイラーに付加する手法を
説明するための図である。
【図16】データ領域にセルフIDパケット専用の領域
を設ける手法について説明するための図である。
【図17】リンクコア(パケット整形回路)とDMAC
(RF用)の構成例について示す図である。
【図18】セルフID期間でのパケット整形の詳細な処
理例について説明するためのタイミング波形図である。
【図19】図19(A)、(B)、(C)は、コントロ
ールバスCTL、データバスD、ステータス情報(ステ
ータスビット)について説明するための図である。
【図20】図20(A)、(B)は、PHYパケットの
フォーマットを示す図である。
【図21】TAGについて説明するための図である。
【図22】セルフID期間外でのパケット整形の詳細な
処理例について説明するためのタイミング波形図であ
る。
【図23】図23(A)、(B)、(C)は、種々の電
子機器の内部ブロック図の例である。
【図24】図24(A)、(B)、(C)は、種々の電
子機器の外観図の例である。
【符号の説明】
10 PHYインターフェース 20 リンクコア 22 レジスタ 30 FIFO(ATF) 32 FIFO(ITF) 34 FIFO(RF) 35 FIFO状態判断回路 40 DMAC(ATF用) 42 DMAC(ITF用) 44 DMAC(RF用) 50 ポートインターフェース 52 FIFO(PF) 54 DMAC(PF用) 56 レジスタ 60 CPUインターフェース 62 アドレスデコーダ 63 データ同期化回路 64 割り込みコントローラ 66 CPU 68 クロック制御回路 70 バッファマネージャ 72 レジスタ 74 調停回路 76 シーケンサ 80 RAM(パケット記憶手段) 90、92、94 バス(第1のバス) 96、98 バス(第2のバス) 100、102、104、105、 106、107、108、109 バス(第3のバス) 110 バス(第4のバス) 120 データ転送制御装置 122 PHYチップ 124 アプリケーション層のデバイス 130 バス監視回路 132 直列・並列変換回路 142 パケット診断回路 160 パケット整形回路 162 TAG生成回路 164 ヘッダ&トレイラー生成回路 166 エラーチェック回路 167 シーケンサ 168 バッファ 170 セレクタ 180 パケット分離回路 182 TAG判別回路 184 ポインタ更新回路 188 アドレス発生回路 190 アクセス要求実行回路 192 アドレス要求発生回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−8913(JP,A) 特開 平10−70561(JP,A) 特開 平10−229427(JP,A) 特開 平10−285196(JP,A) 特開 平10−290237(JP,A) IEEE ,IEEE Standa rd for a High Perf ormanceSerial Bus, IEEE Std 1394−1995,米国, IEEE,1996年 8月30日,p38−42 (58)調査した分野(Int.Cl.7,DB名) H04L 12/40

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 バスに接続される複数のノード間でのデ
    ータ転送のためのデータ転送制御装置であって、 各ノードから転送されてくる一連の自己識別パケットを
    受け、上層が使用する制御情報と各ノードから転送され
    てきた一連の自己識別パケットの並びからなるデータと
    によりフレームが構成されるパケットに、転送されてき
    た一連の自己識別パケットを整形するパケット整形手段
    と、 整形されたパケットを記憶手段に書き込む書き込み手段
    とを含むことを特徴とするデータ転送制御装置。
  2. 【請求項2】 請求項1において、 前記パケット整形手段が、 自己識別パケットがエラーチェック情報を含む場合に、
    自己識別パケットの中の該エラーチェック情報を削除
    し、該エラーチェック情報が削除された自己識別パケッ
    トの並びからなるデータと前記制御情報とによりフレー
    ムが構成されるパケットに、転送されてきた一連の自己
    識別パケットを整形することを特徴とするデータ転送制
    御装置。
  3. 【請求項3】 請求項2において、 前記パケット整形手段が、 各ノードから転送されてくる自己識別パケットにエラー
    があるか否かを前記エラーチェック情報に基づき判断
    し、自己識別パケットにエラーがあるか否かを示すステ
    ータス情報をパケットの制御情報に付加することを特徴
    とするデータ転送制御装置。
  4. 【請求項4】 請求項1乃至3のいずれかにおいて、 前記パケット整形手段が、 自己識別期間に受信したパケットか否かを示すステータ
    ス情報をパケットの制御情報に付加することを特徴とす
    るデータ転送制御装置。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 前記記憶手段がランダムアクセス可能であると共に制御
    情報領域とデータ領域とに分離されている場合におい
    て、パケットの制御情報を前記記憶手段の前記制御情報
    領域に書き込み、パケットのデータを前記記憶手段の前
    記データ領域に書き込むパケット分離手段と、 前記データ領域に書き込まれるデータのアドレスを指す
    データポインタを前記制御情報に付加する手段とを含む
    ことを特徴とするデータ転送制御装置。
  6. 【請求項6】 請求項5において、 前記パケット分離手段が、 一連の自己識別パケットを整形することで得られたパケ
    ットのデータを、前記記憶手段の自己識別パケット専用
    に設けられた領域に書き込むことを特徴とするデータ転
    送制御装置。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 下層から送られてくるステータス情報に基づいて自己識
    別期間中か否かを検出する手段を含み、 前記パケット整形手段が、 自己識別期間中に転送されてきた一連のパケットを自己
    識別パケットと見なして、該一連の自己識別パケットを
    整形することを特徴とするデータ転送制御装置。
  8. 【請求項8】 請求項1乃至7のいずれかにおいて、 IEEE1394の規格に準拠したデータ転送を行うこ
    とを特徴とするデータ転送制御装置。
  9. 【請求項9】 請求項1乃至8のいずれかのデータ転送
    制御装置と、 前記データ転送制御装置及びバスを介して他のノードか
    ら受信したデータに所与の処理を施す装置と、 処理が施されたデータを出力又は記憶するための装置と
    を含むことを特徴とする電子機器。
  10. 【請求項10】 請求項1乃至8のいずれかのデータ転
    送制御装置と、 前記データ転送制御装置及びバスを介して他のノードに
    送信するデータに所与の処理を施す装置と、 処理が施されるデータを取り込むための装置とを含むこ
    とを特徴とする電子機器。
JP32154098A 1998-10-27 1998-10-27 データ転送制御装置及び電子機器 Expired - Fee Related JP3494042B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP32154098A JP3494042B2 (ja) 1998-10-27 1998-10-27 データ転送制御装置及び電子機器
DE69931604T DE69931604T2 (de) 1998-10-27 1999-10-26 Datenübertragungssteuereinrichtung und elektronisches gerät
CNB998034010A CN1146799C (zh) 1998-10-27 1999-10-26 数据传输控制装置及电子设备
KR10-2000-7007180A KR100464469B1 (ko) 1998-10-27 1999-10-26 데이터 전송 제어 장치 및 전자기기
PCT/JP1999/005903 WO2000025216A1 (fr) 1998-10-27 1999-10-26 Controleur de transfert de donnees et dispositif electronique
EP99949419A EP1049020B1 (en) 1998-10-27 1999-10-26 Data transfer controller and electronic device
US09/582,290 US6834316B1 (en) 1998-10-27 1999-10-26 Data transfer controller and electronic device
TW088118588A TW451137B (en) 1998-10-27 1999-10-27 Data transmission control device and electronic machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32154098A JP3494042B2 (ja) 1998-10-27 1998-10-27 データ転送制御装置及び電子機器

Publications (2)

Publication Number Publication Date
JP2000134232A JP2000134232A (ja) 2000-05-12
JP3494042B2 true JP3494042B2 (ja) 2004-02-03

Family

ID=18133707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32154098A Expired - Fee Related JP3494042B2 (ja) 1998-10-27 1998-10-27 データ転送制御装置及び電子機器

Country Status (8)

Country Link
US (1) US6834316B1 (ja)
EP (1) EP1049020B1 (ja)
JP (1) JP3494042B2 (ja)
KR (1) KR100464469B1 (ja)
CN (1) CN1146799C (ja)
DE (1) DE69931604T2 (ja)
TW (1) TW451137B (ja)
WO (1) WO2000025216A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3608441B2 (ja) 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器
EP1255377A1 (en) * 2001-05-02 2002-11-06 Deutsche Thomson-Brandt Gmbh Interface circuit
DE60107545T2 (de) * 2001-05-22 2006-03-02 Sony International (Europe) Gmbh Verfahren zur Auswertung von Information über mehrere Knoten eines Netzwerks
FR2837296B1 (fr) * 2002-03-15 2004-06-25 Airbus France Dispositif et procede d'acquisition de mesures a l'aide d'un bus de communication numerique, utilises notamment lors des essais d'un aeronef
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
JP5411612B2 (ja) * 2009-07-29 2014-02-12 アルパイン株式会社 通信装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758089A (en) 1995-11-02 1998-05-26 Sun Microsystems, Inc. Method and apparatus for burst transferring ATM packet header and data to a host computer system
EP0803821A3 (en) * 1996-04-26 1998-01-28 Texas Instruments Incorporated DMA channel assignment in a data packet transfer device
JPH1040211A (ja) 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
US6131119A (en) * 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
JPH10285223A (ja) * 1997-04-01 1998-10-23 Sony Corp 信号処理回路
US5875313A (en) * 1997-04-08 1999-02-23 National Instruments Corporation PCI bus to IEEE 1394 bus translator employing write pipe-lining and sequential write combining
JPH1117773A (ja) * 1997-06-20 1999-01-22 Sony Corp シリアルインタフェース回路
US6157972A (en) * 1997-12-05 2000-12-05 Texas Instruments Incorporated Apparatus and method for processing packetized information over a serial bus
JP3494041B2 (ja) * 1998-10-27 2004-02-03 セイコーエプソン株式会社 データ転送制御装置及び電子機器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE ,IEEE Standard for a High PerformanceSerial Bus,IEEE Std 1394−1995,米国,IEEE,1996年 8月30日,p38−42

Also Published As

Publication number Publication date
CN1292122A (zh) 2001-04-18
TW451137B (en) 2001-08-21
DE69931604D1 (de) 2006-07-06
EP1049020A1 (en) 2000-11-02
KR100464469B1 (ko) 2004-12-31
US6834316B1 (en) 2004-12-21
EP1049020B1 (en) 2006-05-31
DE69931604T2 (de) 2007-03-08
CN1146799C (zh) 2004-04-21
EP1049020A4 (en) 2002-05-29
JP2000134232A (ja) 2000-05-12
WO2000025216A1 (fr) 2000-05-04
KR20010033660A (ko) 2001-04-25

Similar Documents

Publication Publication Date Title
JP3543647B2 (ja) データ転送制御装置及び電子機器
JP3543649B2 (ja) データ転送制御装置及び電子機器
JP3843667B2 (ja) データ転送制御装置及び電子機器
JP3608441B2 (ja) データ転送制御装置及び電子機器
JP3543648B2 (ja) データ転送制御装置及び電子機器
US6725413B1 (en) Data transfer control device and electronic equipment
JP3494041B2 (ja) データ転送制御装置及び電子機器
JP3494042B2 (ja) データ転送制御装置及び電子機器
JP3494040B2 (ja) データ転送制御装置及び電子機器
JP3539287B2 (ja) データ転送制御装置及び電子機器
JP3610982B2 (ja) データ転送制御装置及び電子機器
JP2001186146A (ja) データ転送制御装置及び電子機器
JP2004118704A (ja) インターフェイス装置およびインターフェイス装置の制御方法
JPH1117774A (ja) シリアルインタフェース回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031021

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees