JPH10228355A - データ転送装置及びその制御方法及び印刷システム - Google Patents

データ転送装置及びその制御方法及び印刷システム

Info

Publication number
JPH10228355A
JPH10228355A JP9030892A JP3089297A JPH10228355A JP H10228355 A JPH10228355 A JP H10228355A JP 9030892 A JP9030892 A JP 9030892A JP 3089297 A JP3089297 A JP 3089297A JP H10228355 A JPH10228355 A JP H10228355A
Authority
JP
Japan
Prior art keywords
transfer
data
node
bus
host
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
JP9030892A
Other languages
English (en)
Inventor
Shinjiro Hori
信二郎 堀
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP9030892A priority Critical patent/JPH10228355A/ja
Publication of JPH10228355A publication Critical patent/JPH10228355A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】ホストの負担を軽くし、高速で確実なデータ転
送を実現する。 【解決手段】USB規格を用いて、ホストがわからSO
Fを送信した後に、アイソクロナンス転送でデータをプ
リンタに転送する。プリンタでは、所定時間をタイマに
セットしてインタラプト転送で、その転送時に受信した
データを処理しきれたか否かをホストに転送する。ホス
トは、"ok"が帰ったなら次のデータを同様に転送し、”
ng"が帰ったならデータを再送する。こうして、データ
帯域を保証しつつデータを確実に転送できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ転送装置及
びその制御方法及び印刷システムに関するものであり、
とくに、同期転送のタイミングに合わせてデータ、制御
コマンド、ステータス情報などを転送し、解析して、次
のステップへの移行をホストのみで管理でき、周辺機器
側の処理を軽減できるデータ転送装置及びその制御方法
及び印刷システムに関するものである。
【0002】
【従来の技術】現在、パーソナルコンピュータ(PC)
と外部周辺機器を接続するために、SCSI(Small Com
puter System Interface)、RS−232C、セントロ
ニクスなどさまざまな外部バスが存在している。しかし
これまで使用されてきた外部バスは、それに接続される
周辺機器毎に特化されたバスであり、特定の転送方式を
採用していた。
【0003】これらの外部バスを使用して周辺機器を接
続した場合の従来例を図7を使用して説明する。
【0004】パーソナルコンピュータなどのホストと周
辺装置とを接続する外部バス制御部312は図7のよう
な構成である。システムバスの制御信号線301とデー
タ信号線302とアドレス信号線303が制御部311
に接続されており、ホスト制御部208の指示によって
送られる制御手順によってバッファ部304とデータ転
送部306を制御する。
【0005】外部バス310を介して図7には図示して
いない周辺機器に転送されるデータはデータ信号線30
2からバッファ部304に格納される。
【0006】データ転送部306は後述する手順の信号
を生成し、トランシーバ309を介して周辺機器との間
でデータの送受信を行い、その結果を制御部311、ま
たはバッファ部304に渡す。
【0007】転送されるデータを受信する周辺機器20
2の周辺機器外部バス制御部もホスト外部バス制御部3
12と同一の構成である。
【0008】この構成による転送手順の一例を図6に示
す。Txが送信側、ここではホスト外部バス制御部21
2であり、Rxが受信側、周辺機器外部バス制御部21
7に相当する。
【0009】初めにTxからRxに対して送信相手の指
定とデータ送信の開始を意味するToken信号が送信
される。このToken信号を受け取ったRxは受信準
備状態になり、データを待つ。Txは引き続きデータ信
号(図ではData0)をRxに送信する。Rxはデー
タを受信確認後に、Txに対して、受信の成功を示すA
CK信号を送信する。これによって一回のデータ転送が
終了する。
【0010】一度に転送できない量のデータを送信する
場合には、この手順を繰り返す。
【0011】データの転送路で誤りが発生した場合を想
定して、データには誤り訂正符号が付加されることが一
般的に用いられている。例えば、ハミング符号、RM(R
eedMuller)符号、BCH(Bose Chaudhuri Hocquenghem)
符号、畳み込み符号、CRC(Cyclic Redundancy Chec
k)符号、RS(Reed Solomon)符号などがある。
【0012】一例として、CRC符号を使用した場合、
受信側ではデータに誤りが発生したかどうかをチェック
可能になり、Data1の送信で誤りが発生したと判断
した場合、ACK信号に変わり再送要求を意味するNA
K信号をTxに送信する。NAK信号を受信すると、デ
ータ転送に誤りが発生したと判断し、もう一度Data
1を送信する。Data1を正常に受信した場合、Rx
はACK信号をTxに送信する。
【0013】このように誤りが発生しても、再送などの
手段を用いることで誤りの無いデータを転送することを
可能にしている。
【0014】このようなシーケンスにより、ホストから
外部に接続されたプリンタへの出力が行われている。ホ
ストと周辺機器との接続手順は一般的には同様の手法で
行われている。
【0015】これに対して、USB(Universal Serial
Bus)、IEEE1394等の新しい規格のバスでは、一
つのバスに複数の機器が接続することが可能になってい
る。さらにフレームという一定時間間隔のサイクルタイ
ムにバスを同期させ、このサイクル単位にバスの制御を
行うことを特徴にしている。
【0016】このため従来のインターフェースにはない
同期転送モードを備え、ある一定時間内に転送するデー
タ量を保証する転送モードがサポートされている。この
モードでは一定時間内に送れるデータ量が保証されてい
るため、複数の機器が接続されていてもデータを転送で
きなくなるといったことが発生しないようになってい
る。このモードは音声、映像などのマルチメディアデー
タの転送を考慮して規格化されたモードである。
【0017】
【発明が解決しようとする課題】上述のデータ転送方式
により複数の機器が同一バスに接続される場合、バスの
転送帯域を共有してデータの転送を行う必要がある。こ
の様な状態の中で、従来例のようなデータの転送方式で
は、バスの使用権をとり、使用権を確保した後にデータ
を転送する制御を行う必要があるために、特に機器の数
が増えた場合にデータの転送が行えなくなることが発生
してしまう。
【0018】また、複数の機器が接続されるために、バ
スのアービトレーションのオーバーヘッドと、その制御
が複雑になるという問題もある。
【0019】また、USBやIEEE1394などの同
期転送モードでは、大量のデータを短時間に転送するこ
とができるが、転送先が複数であることを前提としてい
るため、一方的にデータを送るだけで、データが正しく
転送できたか否かの確認を転送先の装置から受け取るこ
とはできない。
【0020】本発明は上記従来例に鑑みてなされたもの
で、ホストによるバスの制御のみでデータの転送制御が
可能であり、周辺機器側の処理を軽減することが可能に
なるデータ転送装置及びその制御方法及び印刷システム
を提供することを目的とする。
【0021】また、データ帯域が保証されたデータ転送
を、データ転送先の確認を取りながら実現するデータ転
送装置及びその制御方法及び印刷システムを提供するこ
とを目的とする。
【0022】
【課題を解決するための手段】上記目的を達成するため
に本発明は次のような構成からなる。すなわち、第1の
機器から第2の機器へとデータを転送するデータ転送装
置であって、所定のタイミングに同期して第1の機器か
ら第2の機器へとデータを転送する第1の転送手段と、
所定のタイミングで、前記第1の転送手段による転送デ
ータを処理し終えているかを示すデータを、前記第2の
機器から第1の機器へと転送する第2の転送手段と、前
記第2の転送手段により転送されるデータに基づいて、
前記第1の転送手段を制御して、次のデータを転送する
かデータを再送するか制御する制御手段とを有する。
【0023】あるいは、第1の機器から第2の機器へと
データを転送するデータ転送制御方法であって、所定の
タイミングに同期して第1の機器から第2の機器へとデ
ータを転送する第1の転送工程と、所定のタイミング
で、前記第1の転送工程による転送データを処理し終え
ているかを示すデータを、前記第2の機器から第1の機
器へと転送する第2の転送工程と、前記第2の転送工程
により転送されるデータに基づいて、前記第1の転送工
程を制御して、次のデータを転送するかデータを再送す
るか制御する制御工程とを有する。
【0024】あるいは、ホスト装置と印刷装置とを接続
して成る印刷システムであって、所定のタイミングに同
期してデータを印刷装置に転送する第1の転送手段と、
印刷装置から受信したデータに基づいて前記第1の転送
手段を制御して、次のデータを転送するかデータを再送
するか制御する制御手段とを有するホスト装置と、前記
第1の転送手段によるデータ受信後、所定のタイミング
で、前記第1の転送手段による転送データを処理し終え
ているかを示すデータをホスト装置に転送する第2の転
送手段と、前記第1の転送手段により転送されるデータ
を受信できた場合、それを印刷出力する出力手段とを有
する印刷装置とを具備する。
【0025】
【発明の実施の形態】
(第1の実施の形態)図2はPCなどのホスト201と
外部バス213で接続されたプリンタなどの周辺機器2
02を示している。 <印刷システムの構成>ホスト201の内部にはシステ
ムバスとしてのアドレス信号線203とデータ信号線2
04と制御信号線205があり、これにROM(Read On
ly Memory)206、RAM(Random Access Memory)20
7、全体制御部208、表示制御部209、蓄積部21
0、I/O制御部211、ホスト外部バス制御部212
が接続されている。全体制御部208はアドレス信号線
203によって、各機能ブロックの選択を行い、データ
信号線204と制御信号線205によってデータの転送
を行うことで、各ブロックの動作の制御を行い、ホスト
201の全体の動作を制御する。
【0026】ROM206には全体制御部208と各機
能ブロックとのアクセスの制御方法などの基本的なプロ
グラムのコードが格納されている。RAM207は、全
体制御部がROM206または蓄積部210に格納され
ているシステム全体のオペレーティングシステム、アプ
リケーションの動作モジュールや動作中に必要とされる
データ、外部周辺機器のドライバなどの中から、必要と
される動作モジュールや、各モジュールが動作時に必要
とするパラメータなどを一時格納するメモリである。
【0027】表示制御部209は、図示していないCR
Tモニタ、液晶ディスプレイなどの外部表示装置を制御
する。蓄積部210は、HDD(Hard Disk Drive)、C
D−ROM Driveなどの蓄積装置とその制御部で
構成されており、アプリケーションの実行ファイルやア
プリケーションで作成されたデータファイルが格納され
ている。I/O制御部211は、図示していないキーボ
ード、マウスなどの入力装置が接続されており、利用者
が希望する制御情報を入力可能にしている。
【0028】ホスト外部バス制御部212は、外部バス
213を介して周辺機器202と接続されており、周辺
機器202との間でデータを送受信する。
【0029】利用者は、I/O制御部へ入力すること
で、希望する動作をホストに行わせる。外部表示装置に
表示されている画面を見ながら蓄積部210に格納され
ているアプリケーション、またはデータファイルを選択
してアプリケーションを起動させ、さらにそのアプリケ
ーションに入力を行い一連の作業を行う。その時に作業
結果を周辺機器202に転送する要求が発生した場合
に、ホスト外部バス制御部212、外部バス213を用
いてデータの転送を行う。
【0030】周辺機器202としてプリンタを例にして
説明を行う。周辺機器202には内部バスとしてのアド
レス信号線214、データ信号線215、制御信号線2
16があり、この内部バスに周辺機器外部バス制御部2
17、モータ制御部218、ヘッド制御部219、周辺
機器制御部220、ROM221、RAM222、画像
処理部223が接続されている。周辺機器制御部220
はアドレス信号線214によって、各機能ブロックの選
択を行い、データ信号線215と制御信号線216によ
ってデータの転送の制御を行い、周辺機器202の動作
を制御する。
【0031】周辺機器外部バス制御部212は、外部バ
ス213を介してホスト201と接続されており、ホス
ト201とのデータの送受信を行う。モータ制御部21
8は、紙送り、ヘッド駆動用のモータを周辺機器制御部
220の制御に応じて駆動する。ヘッド制御部218
は、印刷するデータを受け取り、ヘッドの制御を行って
印刷する。画像処理部223は、転送されてきたデータ
にさらに画像処理を行う。
【0032】ROM223には周辺機器制御部220を
動作させるためのプログラムが格納されており、周辺機
器制御部220はこのプログラムに沿って周辺機器外部
バス制御部217に送られてくるデータを処理して、他
の機能ブロックを制御して印刷を可能にする。RAM2
22は送られてくるデータ、または処理中に発生するパ
ラメータなどを格納することに使用される。 <データ転送手順>次にこの一連の動作を図3と図4と
を利用して説明する。ここでは、利用者が所定のアプリ
ケーションによってドキュメントを作成し、これをプリ
ントアウトするところから説明する。
【0033】利用者が、アプリケーション上で印刷命令
を発行すると、これがプリンタドライバに通知される
(401)。
【0034】プリンタドライバは、用紙サイズ、印刷品
位などのプリンタの設定情報などをシステムに通知する
(402)。
【0035】システムはアプリケーションにデータの変
換を要求し(403)、アプリケーションは印刷データ
をシステムが要求する所定のフォーマットのデータに変
換してシステムに転送する(404)。
【0036】システムは、転送されたデータをRAM2
07または蓄積部210に格納し(405)、アプリケ
ーションに終了許可の通知を行う(406)。アプリケ
ーションは、この許可を受け取り印刷動作を終了し、次
の操作を受け付ける状態に移行する(407)。
【0037】システムは、405で格納したデータをプ
リンタドライバで処理可能な大きさのデータ量に分割し
て、プリンタドライバにデータを転送する(501)。
【0038】プリンタドライバは、受け取ったデータか
らターゲットのプリンタに最適な画像データの生成のた
めの画像処理を行う(502)。たとえば、色空間変
換、カラーマッチング、ラスタライズ、エッジ強調、ソ
フトネスなどである。これらの処理は、テキスト領域1
002、イメージ領域1003に応じて最適な組み合わ
せが選択される。
【0039】502で生成された画像データはプリンタ
制御コマンドに変換され(503)、プリンタへのデー
タ送信要求とともにシステムに渡される(504)。
【0040】システムは受け取ったプリンタ制御コマン
ドをホスト外部バス制御部212に転送する(50
5)。ホスト外部バス制御部212は受け取ったプリン
タ制御コマンドを外部バス213を介して周辺機器外部
バス制御部217に送信する(506,507)。デー
タの転送が終了した時点でホスト外部バス制御部22か
らシステムにデータ転送の終了が通知される。
【0041】データを受信した周辺機器外部バス制御部
217はプリンタの周辺機器制御部220にデータが送
信されたことを通知する。周辺機器制御部220は受信
したデータに応じてプリント出力を行うように各機能ブ
ロックを制御する(508)。
【0042】システムは、データ転送の終了が通知され
ると(509)、印刷するページの1ページが終了する
まで、501〜509を繰り返す(510)。
【0043】これを印刷が要求されているすべてのペー
ジに対して繰り返し行う(511)以上の手順によりホ
ストからプリンタへのデータ転送を行っている。 <外部バス制御部の構成>図1は本発明の一実施例であ
るホスト外部バス制御部212のブロック図である。な
お、本実施例では、図示していないが、ホスト外部バス
制御部212に複数のコネクタがあり、外部バス213
には複数の周辺機器202が接続されている。
【0044】また外部バス109としてUSBを採用し
た場合を例に説明する。
【0045】システムバスの制御信号線101とデータ
信号線102とアドレス信号線103とが制御部110
に接続されており、ホスト制御部208の指示によって
送られる制御によってバッファ部104、パケット生成
部105、通信制御部106の制御を行う。
【0046】外部バス109を介して図1には図示して
いない周辺機器に転送されるデータはデータ信号線10
2からバッファ部104に格納される。転送データは、
パケット生成分105でパケットに変換され、通信制御
部106に供給される。ここではデータに対して、通信
相手を示すトークンパケット、データであるデータパケ
ット、受信の確認を行うハンドシェイクパケットを生成
する。
【0047】通信制御部106は内部にサイクルタイマ
107を装備しており、サイクルタイマ107で生成さ
れるバスのサイクルのタイミングに合わせて供給された
パケットをトランシーバを介して外部バス109にデー
タを出力する。
【0048】周辺機器202の周辺機器外部バス制御部
217もホスト外部バス制御部112とほぼ同一の構成
であるが、トークンパケットの生成は行わない。
【0049】まずUSBのデータ転送について簡単に説
明する。
【0050】データ転送は、基本的に3つのパケット、
トークンパケット、データパケットハンドシェイクパケ
ットで構成される。これら3つのパェットで構成される
一回のデータ転送をトランザクションと呼ぶ。トークン
パケットには、トランザクションの種類を示すパケット
ID,データ転送のターゲットとなるデバイスのアドレ
ス、エンドポイント番号が挿入されており、このトーク
ンパケットの情報に適合したデバイスとホストとの間で
データ転送が可能になる。このトークンパケットはホス
トのみが生成することができる。これはホストのみでバ
スのアクセス権を管理していることを意味する。データ
パケットには転送データが格納されている。ハンドシェ
イクパケットには、データ転送が正常に完了したか、ま
たは正常に完了できなかったかを示す情報が格納されて
いる。
【0051】トランザクションにはイントランザクショ
ン,アウトトランザクション,セットアップトランザク
ションの3種類がある。イントランザクションでは周辺
機器からホストへデータが転送される。アウトトランザ
クションではホストから周辺機器へデータが転送され
る。セットアップトランザクションはホストから周辺機
器に対して規格で規定されたコマンドの転送に使用され
る。これら3つのトランザクションでバルク転送,コン
トロール転送,アイソクロナス転送,インタラプト転送
と呼ばれるトランスファーが構成される。
【0052】バルク転送はイントランザクション又はア
ウトトランザクションの並びである。コントロール転送
はセットアップトランザクションのみ、またはセットア
ップトランザクションに続くイントランザクションとア
ウトトランザクションの並びである。アイソクロナス転
送はハンドシェークパケットの無いイントランザクショ
ンまたはアウトトランザクションの並びである。インタ
ラプト転送はひとつのイントランザクションである。
【0053】これらのトランスファーはフレームと呼ば
れる1ms単位の期間に並べられる。この制御はホスト
外部バス制御部212で行われる。フレームの開始はS
OF(Start Of Frame)パケットと呼ばれる特殊なパケッ
トで通知される。このうち、アイソクロナス転送とイン
タラルと転送はフレーム内にその帯域を確保されてい
る。
【0054】バルク転送は非同期のデータ転送であり、
コントロール転送はバスに接続されている周辺機器外部
バス制御部217の初期化に使用される。アイソクロナ
ス転送は同期転送であり、単位時間あたりのデータ転送
量が確保されている。ただし他のトランスファーと異な
り、アイソクロナス転送のみデータの保証はされていな
い。インタラプト転送は設定時間ごとに必ず転送される
ことが保証されているため、割り込み処理に使用され
る。
【0055】データ転送は従来のデータ転送によく似て
おり、転送先からデータ転送の確認は取れるが帯域が保
証されない。本発明ではアイソクロナス転送とインタラ
プト転送とを使用することで、より簡単に、さらにデー
タ帯域が保証されたデータ転送方式を実現している。そ
の特徴的な動作を図5で説明する。
【0056】図5で、Txはホスト201、Rxは周辺
機器202を示している。SOFは1ms間隔で送信さ
れている。SOFとSOFの間には、ここでは図示して
いないホスト201と複数の周辺機器202との間のト
ランスファーの転送が多く存在する。ここではひとつの
周辺機器202に対して本発明に関係するトランスファ
ーのみを示している。
【0057】予めホスト201と周辺機器202との間
でアイソクロナス転送で転送するデータ量とインタラプ
ト転送の確保のネゴシエーションが行われる。ネゴシエ
ーションが終了し、データ転送の帯域が確保できた後
に、ホスト201からData0が周辺機器202にアイソ
クロナス転送で転送される。周辺機器では受け取ったデ
ータをもとに処理を行う。このステップは従来例で示し
たものと同一である。インタラプト転送が開始された時
点で、受け取ったデータの処理が終了しており、次のデ
ータの処理が可能な状態であれば、インタラプト転送で
処理可能であること(OK)をホスト201に転送す
る。
【0058】Data1を受信したが、次のインタラプト転
送の開始時点までにデータの処理が終了しなかった場合
には、周辺機器202はインタラプト転送で処理不可
(NG)をホスト201に転送する。処理不可を通知さ
れたホスト201は次のアイソクロナス転送でData1を
再送する。処理可能(OK)をつうちされるまでData1
の再送を繰返す。
【0059】以上のような手順でデータ転送を行うこと
で、データ帯域を保証し、しかも転送先の周辺機器がデ
ータを受信したことを確認しつつデータを確実に転送で
きる。さらに、複数の周辺装置を接続してあっても同様
の手順で簡単にデータ転送を行える。また、ホストがト
ークンパケットを発行することでバスの調停を行うた
め、ホスト側だけの制御でバスを管理でき、周辺装置側
の構成が簡単になる。
【0060】なお、アイソクロナンス転送とインタラプ
タ転送順番を変え、インタラプト転送によって周辺機器
202の状態を判定した後で、アイソクロナス転送によ
ってデータを転送するようにしてもよい。
【0061】また、IEEE1394でも同様の転送制
御を行うことは可能である。 <IEEE1394の技術の概要>家庭用デジタルVT
RやDVDの登場も伴って、ビデオデータやオーディオ
データなどのリアルタイムでかつ高情報量のデータ転送
のサポートが必要になっている。こういったビデオデー
タやオーディオデータをリアルタイムで転送し、パソコ
ン(PC)に取り込んだり、またはその他のデジタル機
器に転送を行うには、必要な転送機能を備えた高速デー
タ転送可能なインタフェースが必要になってくるもので
あり、そういった観点から開発されたインタフェースが
IEEE1394−1995(High Performance Serial
Bus)(以下、1394シリアルバス)である。
【0062】図8に1394シリアルバスを用いて構成
されるネットワーク・システムの例を示す。このシステ
ムは機器A,B,C,D,E,F,G,Hを備えてお
り、A−B間、A−C間、B−D間、D−E間、C−F
間、C−G間、及びC−H間をそれぞれ1394シリア
ルバスのツイスト・ペア・ケーブルで接続されている。
この機器A〜Hは例としてPC、デジタルVTR、DV
D、デジタルカメラ、ハードディスク、モニタ等であ
る。
【0063】各機器間の接続方式は、ディジーチェーン
方式とノード分岐方式とを混在可能としたものであり、
自由度の高い接続が可能である。
【0064】また、各機器は各自固有のIDを有し、そ
れぞれが認識し合うことによって1394シリアルバス
で接続された範囲において、1つのネットワークを構成
している。各デジタル機器間をそれぞれ1本の1394
シリアルバスケーブルで順次接続するだけで、それぞれ
の機器が中継の役割を行い、全体として1つのネットワ
ークを構成するものである。また、1394シリアルバ
スの特徴でもある、プラグアンドプレイ機能で、ケーブ
ルを機器に接続した時点で自動で機器の認識や接続状況
などを認識する機能を有している。
【0065】また、図8に示したようなシステムにおい
て、ネットワークからある機器が削除されたり、または
新たに追加されたときなど、自動的にバスリセットを行
い、それまでのネットワーク構成をリセットしてから、
新たなネットワークの再構築を行う。この機能によっ
て、その時々のネットワークの構成を常時設定、認識す
ることができる。
【0066】またデータ転送速度は100/200/4
00Mbpsと備えており、上位の転送速度をもつ機器
が回の転送速度をサポートし、互換をとるようになって
いる。
【0067】データ転送モードとしては、コントロール
信号などの非同期データ(Asynchronousデータ:以下A
syncデータ)を転送するAsynchronous転送モード、
リアルタイムなどビデオデータやオーディオデータ等の
同期データ(Isochronousデータ:以下Isoデータ)
を転送するIsochronous転送モードがある。このAsy
ncデータとIsoデータは各サイクル(通常1サイク
ル125μS)の中において、サイクル開始を示すサイ
クル・スタート・パケット(CSP)の転送に続き、I
soデータの転送を優先しつつサイクル内で混在して転
送される。
【0068】次に、図9に1394シリアルバスの構成
要素を示す。
【0069】1394シリアルバスは全体としてレイヤ
(階層)構造で構成されている図9に示したように、最
もハード的なのが1394シリアルバスのケーブルであ
り、そのケーブルのコネクタが接続されるコネクタポー
トがあり、その上にハードウェアとしてフィジカル・レ
イヤとリンク・レイヤがある。
【0070】ハードウェア部は実質的なインタフェース
チップの部分であり、そのうちフィジカル・レイヤは符
号化やコネクタ関連の制御等を行い、リンク・レイヤは
パケット転送やサイクルタイムの制御等を行う。
【0071】ファームウェア部のトランザクション・レ
イヤは、転送(トランザクション)すべきデータの管理
を行い、ReadやWriteといった命令を出す。マ
ネージメント・レイヤは、接続されている各機器の接続
状況やIDの管理を行い、ネットワークの構成を管理す
る部分である。
【0072】このハードウェアとファームウェアまでが
実質上の1394シリアルバスの構成である。
【0073】またソフトウェア部のアプリケーション・
レイヤは使うソフトによって異なり、インタフェース上
にどのようにデータをのせるか規定する部分であり、A
Vプロトコルなどのプロトコルによって規定されてい
る。
【0074】以上が1394シリアルバスの構成であ
る。
【0075】次に、図10に1394シリアルバスにお
けるアドレス空間の図を示す。
【0076】1394シリアルバスに接続された各機器
(ノード)には必ず各ノード固有の、64ビットアドレ
スを持たせておく。そしてこのアドレスをROMに格納
しておくことで、自分や相手のノードアドレスを常時認
識でき、相手を指定した通信も行える。
【0077】1394シリアルバスのアドレッシング
は、IEEE1212規格に準じた方式であり、アドレ
ス設定は、最初の10bitがバスの番号の指定様に、
次の6ビットがノードID番号の指定用に使われる。残
りの48bitが機器に与えられたアドレス幅になり、
それぞれ固有のアドレス空間として使用できる。最後の
28ビットは固有データの領域として、各機器の識別や
使用条件の指定の情報などを格納する。
【0078】以上が1394シリアルバスの技術の概要
である。
【0079】次に、1394シリアルバスの特徴といえ
る技術の部分を、より詳細に説明する。 <1394シリアルバスの電気的仕様>図11に139
4シリアルバス・ケーブルの断面図を示す。
【0080】1394シリアルバスでは接続ケーブル内
に、2組のツイストペア信号線の他に、電源ラインを設
けている。これによって、電源を持たない機器や、故障
により電圧低下した機器等にも電力の供給が可能になっ
ている。
【0081】電源線内を流れる電源の電圧は8〜40
V、電流は最大電流DC1.5Aと規定されている。 <DS−Link符号化>1394シリアルバスで採用
されている、データ転送フォーマットのDS−Link
符号化方式を説明するための図を図12に示す。
【0082】1394シリアルバスでは、DS−Lin
k(Data/Strobe Link)符号化方式が採用されている。こ
のDS−link符号化方式は、高速なシリアルデータ
通信に適しており、その構成は、2本の信号線を必要と
する。より対線のうち1本に主となるデータを送り、他
方のより対線にはストローブ信号を送る構成になってい
る。
【0083】受信側では、この通信されるデータと、ス
トローブとの排他的論理和をとることによってクロック
を再現できる。
【0084】このDS−Link符号化方式を用いるメ
リットとして、他のシリアルデータ転送方式に比べて転
送効率が高いこと、PLL回路が不要となるのでコント
ローラLSIの回路規模を小さくできること、更には、
転送すべきデータが無いときにアイドル状態であること
を示す情報を送る必要が無いので、各機器のトランシー
バ回路をスリープ状態にすることができることによっ
て、消費電力の低減が図れる、などが挙げられる。 <バスリセットのシーケンス>1394シリアルバスで
は、接続されている各機器(ノード)にはノードIDが
与えられ、ネットワーク構成として認識されている。
【0085】このネットワーク構成に変化があったと
き、例えばノードの挿抜や電源のON/OFFなどによ
るノード数の増減などによって変化が生じて、新たなネ
ットワーク構成を認識する必要があるとき、変化を検知
した各ノードはバス上にバスリセット信号を送信して、
新たなネットワーク構成を認識するモードに入る。この
ときの変化の検知方法は、1394ポート基板上でのバ
イアス電圧の変化を検知することによって行われる。
【0086】あるノードからバスリセット信号が伝達さ
れて、各ノードのフィジカルレイヤはこのバスリセット
信号を受けると同時にリンクレイヤにバスリセットの発
生を伝達し、かつ他のノードにバスリセット信号を伝達
する。最終的にすべてのノードがバスリセット信号を検
知した後、バスリセットが起動となる。
【0087】バスリセットは、先に述べたようなケーブ
ル抜挿や、ネットワーク異常等によるハード検出による
起動と、プロトコルからのホスト制御などによってフィ
ジカルレイヤに直接命令を出すことによっても起動す
る。
【0088】また、バスリセットが起動するとデータ転
送は一時中断され、この間のデータ転送は待たされ、終
了後、新しいネットワーク構成のもとで再開される。
【0089】以上がバスリセットのシーケンスである。 <ノードID決定のシーケンス>バスリセットの後、各
ノードは新しいネットワーク構成を構築するために、各
ノードにIDを与える動作に入る。このときの、バスリ
セットからノードID決定までの一般的なシーケンスを
図20,図21,図22のフローチャートを用いて説明
する。
【0090】図20のフローチャートは、バスリセット
の発生からノードIDが決定し、データ転送が行えるよ
うになるまでの、一連のバスの作業を示してある。
【0091】先ず、ステップS101として、ネットワ
ーク内にバスリセットが発生することを常時監視してい
て、ここでノードの電源ON/OFFなどでバスリセッ
トが発生するとステップS102に移る。
【0092】ステップS102では、ネットワークがリ
セットされた状態から、新たなネットワークの接続状況
を知るために、直接接続されている各ノード間において
親子関係の宣言がなされる。ステップS103として、
すべてのノード間で親子関係が決定すると、ステップS
104として一つのルートが決定する。すべてのノード
間で親子関係が決定するまで、ステップS102の親子
関係の宣言を行い、またルートも決定されない。
【0093】ステップS104でルートが決定される
と、次はステップS105として、各ノードにIDを与
えるノードIDの設定作業が行われる。所定のノード順
序で、ノードIDの設定が行われ、すべてのノードにI
Dが与えられるまで繰り返し設定作業が行われ、最終的
にステップS106としてすべてのノードにIDを設定
し終えたら、新しいネットワーク構成がすべてのノード
において認識されたので、ステップS107としてノー
ド間のデータ転送が行える状態となり、データ転送が開
始される。
【0094】このステップS107の状態になると、再
びバスリセットが発生するのを監視するモードに入り、
バスリセットが発生したらステップS101からステッ
プS106までの設定作業が繰り返し行われる。
【0095】以上が、図20のフローチャートの説明で
あるが、図20のフローチャートのバスリセットからル
ート決定までの部分と、ルート決定後からID設定終了
までの手順をより詳しくフローチャート図に表したもの
をそれぞれ、図21、図22に示す。
【0096】先ず、図21のフローチャートの説明を行
う。
【0097】ステップS201としてバスリセットが発
生すると、ネットワーク構成は一旦リセットされる。な
お、ステップS201としてバスリセットが発生するの
を常に監視している。
【0098】次に、ステップS202としてリセットさ
れたネットワークの接続状況を再認識する作業の第一歩
として、各機器にリーフ(ノード)であることを示すフ
ラグを立てておく。さらに、ステップS203として各
機器が自分の持つポートがいくつ他ノードと接続されて
いるのかを調べる。
【0099】ステップS204のポート数の結果に応じ
て、これから親子関係の宣言を始めていくために、未定
義(親子関係が決定されていない)ポートの数を調べ
る。バスリセットの直後はポート数=未定義ポート数で
あるが、親子関係が決定されていくにしたがって、ステ
ップS204で検知する未定義ポートの数は変化してい
くものである。
【0100】まず、バスリセットの直後、はじめに親子
関係の宣言を行えるのはリーフに限られている。リーフ
であるというのはステップS203のポート数の確認で
知ることができる。リーフは、ステップS205とし
て、自分に接続されているノードに対して、「自分は
子、相手は親」と宣言し動作を終了する。
【0101】ステップS203でポート数が複数ありブ
ランチと認識したノードは、バスリセットの直後はステ
ップS204で未定義ポート数>1ということなので、
ステップS206へと移り、まずブランチというフラグ
が立てられ、ステップS207でリーフからの親子関係
宣言で「親」の受付けをするために待つ。
【0102】リーフが親子関係の宣言を行い、ステップ
S207でそれを受けたブランチは適宜ステップS20
4の未定義ポート数の確認を行い、未定義ポート数が1
になっていれば残っているポートに接続されているノー
ドに対して、ステップS205の「自分が子」の宣言を
することが可能になる。2度目以降、ステップS204
で未定義ポート数を確認しても2以上あるブランチに対
しては、再度ステップS207でリーフ又は他のブラン
チからの「親」の受付けをするために待つ。
【0103】最終的に、何れか1つのブランチ、又は例
外的にリーフ(子宣言を行えるのに素早く動作しなかっ
た為)がステップS204の未定義ポート数の結果とし
てゼロになったら、これにてネットワーク全体の親子関
係の宣言が終了したものであり、未定義ポート数がゼロ
(すべて親のポートとして決定)になった唯一のノード
はステップS208としてルートのフラグが立てられ、
ステップS209としてルートとしての認識がなされ
る。
【0104】このようにして、図21に示したバスリセ
ットから、ネットワーク内すべてのノード間における親
子関係の宣言までが終了する。
【0105】次に、図22のフローチャートについて説
明する。
【0106】まず、図21までのシーケンスでリーフ、
ブランチ、ルートという各ノードのフラグの情報が設定
されているので、これを元にして、ステップS301で
それぞれ分離する。
【0107】各ノードにIDを与える作業として、最初
にIDの設定を行うことができるのはリーフからであ
る。リーフ→ブランチ→ルートの順で若い番号(ノード
番号=0〜)からIDの設定がなされていく。
【0108】ステップS302としてネットワーク内に
存在するリーフの数N(Nは自然数)を設定する。この
後、ステップS303として各自リーフがルートに対し
て、IDを与えるように要求する。この要求が複数ある
場合には、ルートはステップS304としてアービトレ
ーション(1つに調停する作業)を行い、ステップS3
05として勝ったノード1つにID番号を与え、負けた
ノードには失敗の結果通知を行う。ステップS306と
してID取得が失敗に終わったリーフは、再度ID要求
を出し、同様の作業を繰り返す。IDを取得できたリー
フからステップS307として、そのノードのID情報
をブロードキャストで全ノードに転送する。1ノードI
D情報のブロードキャストが終わると、ステップS30
8として残りのリーフの数が1つ減らされる。ここで、
ステップS309として、この残りのリーフの数が1以
上ある時はステップS303のID要求の作業からを繰
り返し行い、最終的にすべてのリーフがID情報をブロ
ードキャストすると、ステップS309がN=0とな
り、次はブランチのID設定に移る。
【0109】ブランチのID設定もリーフの時と同様に
行われる。
【0110】まず、ステップS310としてネットワー
ク内に存在するブランチの数M(Mは自然数)を設定す
る。この後、ステップS311として各自ブランチがル
ートに対して、IDを与えるように要求する。これに対
してルートは、ステップS312としてアービトレーシ
ョンを行い、勝ったブランチから順にリーフに与え終わ
った次の若い番号から与えていく。ステップS313と
して、ルートは要求を出したブランチにID情報又は失
敗結果を通知し、ステップS314としてID取得が失
敗に終わったブランチは、再度ID要求を出し、同様の
作業を繰り返す。IDを取得できたブランチからステッ
プS315として、そのノードのID情報をブロードキ
ャストで全ノードに転送する。1ノードID情報のブロ
ードキャストが終わると、ステップS316として残り
のブランチの数が1つ減らされる。ここで、ステップS
317として、この残りのブランチの数が1以上ある時
はステップS311のID要求の作業からを繰り返し、
最終的にすべてのブランチがID情報をブロードキャス
トするまで行われる。すべてのブランチがノードIDを
取得すると、ステップS317はM=0となり、ブラン
チのID取得モードも終了する。
【0111】ここまで終了すると、最終的にID情報を
取得していないノードはルートのみなので、ステップS
318として与えていない番号で最も若い番号を自分の
ID番号と設定し、ステップS319としてルートのI
D情報をブロードキャストする。
【0112】以上で、図22に示したように、親子関係
が決定した後から、すべてのノードのIDが設定される
までの手順が終了する。
【0113】次に、一例として図13に示した実際のネ
ットワークにおける動作を図13を参照しながら説明す
る。
【0114】図13の説明として、(ルート)ノードB
の下位にはノードAとノードCが直接接続されており、
さらにノードCの下位にはノードDが直接接続されてお
り、さらにノードDの下位にはノードEとノードFが直
接接続された階層構造になっている。この階層構造やル
ートノード、ノードIDを決定する手順を以下で説明す
る。
【0115】バスリセットがされた後、まず各ノードの
接続状況を認識するために、各ノードの直接接続されて
いるポート間において、親子関係の宣言がなされる。こ
の親子とは親側が階層構造で上位となり、子側が下位と
なると言うことができる。
【0116】図13ではバスリセットの後、最初に親子
関係の宣言を行ったのはノードAである。基本的にノー
ドの1つのポートにのみ接続があるノード(リーフと呼
ぶ)から親子関係の宣言を行うことができる。これは自
分には1ポートの接続のみということをまず知ることが
できるので、これによってネットワークの端であること
を認識し、その中で早く動作を行ったノードから親子関
係が決定されていく。こうして親子関係の宣言を行った
側(A−B間ではノードA)のポートが子と設定され、
相手側(ノードB)のポートが親と設定される。こうし
て、ノードA−B間では子−親、ノードE−D間で子−
親、ノードF−D間で子−親と決定される。
【0117】さらに1回層あがって、今度は複数個接続
ポートを持つノード(ブランチと呼ぶ)のうち、他ノー
ドからの親子関係の宣言を受けたものから順次、さらに
上位に親子関係の宣言を行っていく。図13ではまずノ
ードDがD−E間、D−F間と親子関係が決定した後、
ノードCに対する親子関係の宣言を行っており、その結
果ノードD−C間で子−親と決定している。
【0118】ノードDからの親子関係の宣言を受けたノ
ードCは、もう一つのポートに接続されているノードB
に対して親子関係の宣言を行っている。これによってノ
ードC−B間で子−親と決定している。
【0119】このようにして図13のような階層構造が
構成され、最終的に接続されているすべてのポートにお
いて親となったノードBが、ルートノードと決定され
た。ルートは1つのネットワーク構成中に一つしか存在
しないものである。
【0120】なお、この図13においてノードBがルー
トノードと決定されたが、これはノードAから親子関係
宣言を受けたノードBが、他のノードに対して親子関係
宣言を速いタイミングで行っていれば、ルートノードは
他のノードに移っていたこともあり得る。すなわち、伝
達されるタイミングによってはどのノードもルートノー
ドとなる可能性があり、同じネットワーク構成でもルー
トノードは一定とは限らない。
【0121】ルートノードが決定すると、次は各ノード
IDを決定するモードに入る。ここではすべてのノード
が、決定した自分のノードIDを他のすべてのノードに
通知する(ブロードキャスト機能)。
【0122】自己ID情報は、自分のノード番号、接続
されている位置の情報、もっているポートの数、接続の
あるポートの数、各ポートの親子関係の情報等を含んで
いる。
【0123】ノードID番号の割り振りの手順として
は、まず1つのポートにのみ接続があるノード(リー
フ)から起動することができ、この中から順にノード番
号=0,1,2,…と割り当てられる。
【0124】ノードIDを手にしたノードは、ノード番
号を含む情報をブロードキャストで各ノードに送信す
る。これによって、そのID番号は「割り当て済み」で
あることが認識される。
【0125】すべてのリーフが自己ノードIDを取得し
終わると、次はブランチへ移りリーフに引続いたノード
ID番号が各ノードに割り当てられる。リーフと同様
に、ノードID番号が割り当てられたブランチから順次
ノードID情報をブロードキャストし、最後にルートノ
ードが自己ID情報をブロードキャストする。すなわ
ち、常にルートは最大のノードID番号を所有するもの
である。
【0126】以上のようにして、階層構造全体のノード
IDの割り当てが終わり、ネットワーク構成が再構築さ
れ、バスの初期化作業が完了する。 <アービトレーション>1394シリアルバスでは、デ
ータ転送に先立って必ずバス使用権のアービトレーショ
ン(調停)を行う。1394シリアルバスは個別に接続
された各機器が、転送された信号をそれぞれ中継するこ
とによって、ネットワーク内すべての機器に同信号を伝
えるように、論理的なバス型ネットワークであるので、
パケットの衝突を防ぐ意味でアービトレーションは必要
である。これによってある時間には、たった一つのノー
ドのみ転送を行うことができる。
【0127】アービトレーションを説明するための図と
して図14(a)にバス使用要求の図、同図(b)にバ
ス使用許可の図を示し、以下これを用いて説明する。
【0128】アービトレーションが始まると、1つもし
くは複数のノードが親ノードに向かって、それぞれバス
使用権の要求を発する。図14(a)のノードCとノー
ドFがバス使用権の要求を発しているノードである。こ
れを受けた親ノード(図14ではノードA)はさらに親
ノードに向かって、バス使用権の要求を発する(中継す
る)。この要求は最終的に調停を行うルートに届けられ
る。
【0129】バス使用要求を受けたルートノードは、ど
のノードにバスを使用させるかを決める。この調停作業
はルートノードのみが行えるものであり、調停によって
勝ったノードにはバスの使用許可を与える。図14
(b)ではノードCに使用許可が与えられ、ノードFの
使用は拒否された図である。アービトレーションに負け
たノードに対してはDP(data prefix)パケットを送
り、拒否されたことを知らせる。拒否されたノードのバ
ス使用要求は次回のアービトレーションまで待たされ
る。
【0130】以上のようにして、アービトレーションに
勝ってバスの使用許可を得たノードは、以降データの転
送を開始できる。
【0131】ここで、アービトレーションの一連の流れ
をフローチャート図23に示して、説明する。
【0132】ノードがデータ転送を開始できるために
は、バスがアイドル状態であることが必要である。先に
行われていたデータ転送が終了して、現在バスが空き状
態であることを認識するためには、各転送モードで個別
に設定されている所定のアイドル時間ギャップ長(例.
サブアクション・ギャップ)を経過することによって、
各ノードは自分の転送が開始できると判断する。
【0133】ステップS401として、Asyncデー
タ、Isoデータ等それぞれ転送するデータに応じた所
定のギャップ長が得られたか判断する。所定のギャップ
長が得られない限り、転送を開始するために必要なバス
使用権の要求はできないので、所定のギャップ長が得ら
れるまで待つ。
【0134】ステップS401で所定のギャップ長が得
られたら、ステップS402として転送すべきデータが
あるか判断し、ある場合はステップS403として転送
するためにバスを確保するよう、バス使用権の要求をル
ートに対して発する。このときの、バス使用権の要求を
表す信号の伝達は、図14に示したように、ネットワー
ク内各機器を中継しながら、最終的にルートに届けられ
る。ステップS402で転送するデータがない場合は、
そのまま待機する。
【0135】次に、ステップS404として、ステップ
S403のバス使用要求を1つ以上ルートが受信した
ら、ルートはステップS405として使用要求を出した
ノードの数を調べる。ステップS405での選択値がノ
ード数=1(使用権要求を出したノードは1つ)だった
ら、そのノードに直後のバス使用許可が得られることと
なる。ステップS405での選択値がノード数>1(使
用要求を出したノードは複数)だったら、ルートはステ
ップS406として使用許可を与えるノードを1つに決
定する調停作業を行う。この調停作業は公平なものであ
り、毎回同じノードばかり許可を得るようなことはな
く、平等に権利を与えていくような構成となっている。
【0136】ステップS407として、ステップS40
6で使用要求を出した複数ノードの中からルートが調停
して使用許可を得た1つのノードと、敗れたその他のノ
ードに分ける選択を行う。ここで、調停されて使用許可
を得た1つのノード、またはステップS405の選択値
から使用要求ノード数=1で調停無しに使用許可を得た
ノードには、ステップS408として、ルートはそのノ
ードに対して許可信号を送る。許可信号を得たノード
は、受け取った直後に転送すべきデータ(パケット)を
転送開始する。また、ステップS406の調停が敗れ
て、バス使用が許可されなかったノードにはステップS
409としてルートから、アービトレーション失敗を示
すDP(data prefix)パケットを送られ、これを受け取
ったノードは再度転送を行うためのバス使用要求を出す
ため、ステップS401まで戻り、所定ギャップ長が得
られるまで待機する。
【0137】以上がアービトレーションの流れを説明し
た、フローチャート図23の説明である。 <Asynchronous(非同期)転送>アシンクロナス転送
は、非同期転送である。図15にアシンクロナス転送に
おける時間的な遷移状態を示す。図15の最初のサブア
クション・ギャップは、バスのアイドル状態を示すもの
である。このアイドル時間が一定値になった時点で転送
を希望するノードはバスが使用できると判断して、バス
獲得のためのアービトレーションを実行する。
【0138】アービトレーションでバスの使用許可を得
ると、次にデータの転送がパケット形式で実行される。
データ転送後、受信したノードは転送されたデータに対
しての受信結果のack(受信確認用返送コード)をa
ck gapという短いギャップの後、返送して応答す
るか、応答パケットを送ることによって転送が完了す
る。acKは4ビットの情報と4ビットのチェックサム
からなり、成功か、ビジー状態か、ペンディング状態で
あるかといった情報を含み、すぐに送信元ノードに返送
される。
【0139】次に、図16にアシンクロナス転送のパケ
ットフォーマットの例を示す。
【0140】パケットには、データ部及び誤り訂正用の
データCRCの他にはヘッダ部があり、そのヘッダ部に
は図16に示すような、目的ノードID、ソースノード
ID、転送データ長さや各種コードなどが書き込まれ、
転送が行われる。
【0141】また、アシンクロナス転送は自己ノードか
ら相手ノードへの1対1の通信である。転送元ノードか
ら転送されたパケットは、ネットワーク中の各ノードに
行き渡るが、自分宛てのアドレス以外のものは無視され
るので、宛先の1つのノードのみが読み込むことにな
る。
【0142】以上がアシンクロナス転送の説明である。 <Isochronous(同期)転送>アイソクロナス転送は同
期転送である。1394シリアルバスの最大の特徴であ
るともいえるこのアイソクロナス転送は、特にVIDE
O映像データや音声データといったマルチメディアデー
タなど、リアルタイムな転送を必要とするデータの転送
に適した転送モードである。
【0143】また、アシンクロナス転送(非同期)が1
対1の転送であったのに対し、このアイソクロナス転送
はブロードキャスト機能によって、転送元の1つのノー
ドから他のすべてのノードへ一様に転送される。
【0144】図17はアイソクロナス転送における、時
間的な遷移状態を示す図である。
【0145】アイソクロナス転送は、バス上一定時間毎
に実行される。この時間間隔をアイソクロナスサイクル
と呼ぶ。アイソクロナスサイクル時間は、125μSで
ある。この各サイクルの開始時間を示し、各ノードの時
間調整を行う役割を担っているのがサイクル・スタート
・パケットである。サイクル・スタート・パケットを送
信するのは、サイクル・マスタと呼ばれるノードであ
り、1つ前のサイクル内の転送終了後、所定のアイドル
期間(サブアクションギャップ)を経た後、本サイクル
の開始を告げるサイクル・スタート・パケットを送信す
る。このサイクル・スタート・パケットの送信される時
間間隔が125μSとなる。
【0146】また、図17にチャネルA、チャネルB、
チャネルCと示したように、1サイクル内において複数
種のパケットがチャネルIDをそれぞれ与えられること
によって、区別して転送できる。これによって同時に複
数ノード間でのリアルタイムな転送が可能であり、また
受信するノードでは自分が欲しいチャネルIDのデータ
のみを取り込む。このチャネルIDは送信先のアドレス
を表すものではなく、データに対する論理的な番号を与
えているに過ぎない。よって、あるパケットの送信は1
つの送信元ノードから他のすべてのノードに行き渡る、
ブロードキャストで転送されることになる。
【0147】アイソクロナス転送のパケット送信に先立
って、アシンクロナス転送同様アービトレーションが行
われる。しかし、アシンクロナス転送のように1対1の
通信ではないので、アイソクロナス転送にはack(受
信確認用返信コード)は存在しない。
【0148】また、図17に示したiso gap(ア
イソクロナスギャップ)とは、アイソクロナス転送を行
う前にバスが空き状態であると認識するために必要なア
イドル期間を表している。この所定のアイドル期間を経
過すると、アイソクロナス転送を行いたいノードはバス
が空いていると判断し、転送前のアービトレーションを
行うことができる。
【0149】次に、図18にアイソクロナス転送のパケ
ットフォーマットの例を示し、説明する。
【0150】各チャネルに分かれた、各種のパケットに
はそれぞれデータ部及び誤り訂正用のデータCRCの他
にヘッダ部があり、そのヘッダ部には図17に示したよ
うな転送データ長やチャネルNO、その他各種コード及
び誤り訂正用のヘッダCRCなどが書き込まれ、転送が
行われる。
【0151】以上がアイソクロナス転送の説明である。 <バス・サイクル>実際の1394シリアルバス上の転
送では、アイソクロナス転送と、アシンクロナス転送は
混在できる。その時の、アイソクロナス転送とアシンク
ロナス転送が混在した、バス上の転送状態の時間的な遷
移の様子を表した図を図19に示す。
【0152】アイソクロナス転送はアシンクロナス転送
より優先して実行される。その理由は、サイクル・スタ
ート・パケットの後、アシンクロナス転送を起動するた
めに必要なアイドル期間のギャップ長(サブアクション
ギャップ)よりも短いギャップ長(アイソクロナスギャ
ップ)で、アイソクロナス転送を起動できるからであ
る。したがって、アシンクロナス転送より、アイソクロ
ナス転送は優先して実行されることとなる。
【0153】図19に示した、一般的なバスサイクルに
おいて、サイクル#mのスタート時にサイクル・スター
ト・パケットがサイクル・マスタから各ノードに転送さ
れる。これによって、各ノードで時刻調整を行い、所定
のアイドル期間(アイソクロナスギャップ)を待ってか
らアイソクロナス転送を行うべきノードはアービトレー
ションを行い、パケット転送に入る。図19ではチャネ
ルeとチャネルsとチャネルkが順にアイソクロナス転
送されている。
【0154】このアービトレーションからパケット転送
までの動作を、与えられているチャネル分繰り返し行っ
た後、サイクル#mにおけるアイソクロナス転送がすべ
て終了したら、アシンクロナス転送を行うことができる
ようになる。
【0155】アイドル時間がアシンクロナス転送が可能
なサブアクションギャップに達することによって、アシ
ンクロナス転送を行いたいノードはアービトレーション
の実行に移れると判断する。
【0156】ただし、アシンクロナス転送が行える期間
は、アイソクロナス転送終了の力、次のサイクル・スタ
ート・パケットを転送すべき時間(cycle synch)までの
間にアシンクロナス転送を起動するためのサブアクショ
ンギャップが得られた場合に限っている。
【0157】図19のサイクル#mでは3つのチャネル
分のアイソクロナス転送と、その後アシンクロナス転送
(含むack)が2パケット(パケット1、パケット
2)転送されている。このアシンクロナスパケット2の
後は、サイクルm+1をスタートすべき時間(cycle syn
ch)にいたるので、サイクル#mでの転送はここまでで
終わる。
【0158】ただし、非同期または同期転送動作中に次
のサイクル・スタート・パケットを送信すべき時間(cyc
le synch)に至ったとしたら、無理に中断せず、その転
送が終了した後のアイドル期間を待ってから次サイクル
のサイクル・スタート・パケットを送信する。すなわ
ち、1つのサイクルが125μS以上続いたときは、そ
の分次サイクルは基準の125μSより短縮されたとす
る。このようにアイソクロナス・サイクルは125μS
を基準に超過・短縮し得るものである。
【0159】しかし、アイソクロナス転送はリアルタイ
ム転送を維持するために毎サイクル必要であれば必ず実
行され、アシンクロナス転送はサイクル時間が短縮され
たことによって次以降のサイクルにまわされることもあ
る。
【0160】IEEE1394を使用した場合、USB
のときとは異なり、インタラプト転送に相当する転送モ
ードが存在しない。そのため、アシンクロナス転送を利
用してデータ転送の確認を行う必要がある。この場合ア
シンクロナス転送のデータ転送帯域は保証されないの
で、周辺機器からホストに対してデータ転送の確認を知
らせるためのアシンクロナス転送が行われるまでのアイ
ソクロナス転送で送信するデータの更新は行わないよう
にする。
【0161】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0162】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成される。
【0163】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0164】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0165】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0166】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0167】
【発明の効果】以上説明したように、本発明によれば、
ホストによるバスの制御のみでデータの転送制御が可能
であり、周辺機器側の処理を軽減することが可能にな
る。また、データの帯域を保証しつつ、データ受信の確
認を行うことができる。
【0168】
【図面の簡単な説明】
【図1】本発明に係る外部バス制御部の概略ブロック図
である。
【図2】本発明に係る印刷システムのブロック図であ
る。
【図3】本発明に係るデータ転送動作の流れ図である。
【図4】本発明に係るデータ転送動作の流れ図である。
【図5】本発明に係るデータ転送手順の図である。
【図6】従来のデータ転送手順の図である。
【図7】従来の外部バス制御部の概略ブロック図であ
る。
【図8】1394シリアルバスを用いて構成されるネッ
トワーク・システムの例を示す図である。
【図9】1394シリアルバスの構成要素を示す図であ
る。
【図10】1394シリアルバスにおけるアドレス空間
の図を示す図である。
【図11】1394シリアルバス・ケーブルの断面図を
示す図である。
【図12】1394シリアルバスで採用されている、デ
ータ転送フォーマットのDS−Link符号化方式を説
明するための図を示す図である。
【図13】ノードの階層構造の例を示す図である。
【図14】バスのアービトレーションを説明する図であ
る。
【図15】アシンクロナス転送における時間的な遷移状
態を示す図である。
【図16】アシンクロナス転送のパケットフォーマット
の例を示す図である。
【図17】アイソクロナス転送における、時間的な遷移
状態を示す図である。
【図18】アイソクロナス転送のパケットフォーマット
の図である。
【図19】アイソクロナス転送とアシンクロナス転送が
混在した、バス上の転送状態の時間的な遷移の様子を表
した図を示す図である。
【図20】バスリセットからデータ転送が行えるまでの
手順の流れ図である。
【図21】バスリセットからルート決定までの手順の詳
しい流れ図である。
【図22】ルート決定からID設定終了までの手順の流
れ図である。
【図23】アービトレーションの手順の流れ図である。
【符号の説明】
101 制御信号線 102 データ信号線 103 アドレス信号線 104 バッファ 105 パケット生成分 106 通信制御部 107 サイクルタイマ 108 トランシーバ 109 外部バス(接続手段) 110 制御部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 第1の機器から第2の機器へとデータを
    転送するデータ転送装置であって、 所定のタイミングに同期して第1の機器から第2の機器
    へとデータを転送する第1の転送手段と、 所定のタイミングで、前記第1の転送手段による転送デ
    ータを処理し終えているかを示すデータを、前記第2の
    機器から第1の機器へと転送する第2の転送手段と、 前記第2の転送手段により転送されるデータに基づい
    て、前記第1の転送手段を制御して、次のデータを転送
    するかデータを再送するか制御する制御手段とを有する
    ことを特徴とするデータ転送装置。
  2. 【請求項2】 前記制御手段は、前記第2の転送手段に
    より次の処理が可能であることが通知されるまで、前記
    第1の転送手段により同じデータを再送することを特徴
    とする請求項1記載のデータ転送装置。
  3. 【請求項3】 前記制御手段は、前記第2の転送手段に
    より次の処理が可能であることが通知されるまで、前記
    第1の転送手段により無効データを転送することを特徴
    とする請求項1記載のデータ転送装置。
  4. 【請求項4】 第1の機器から第2の機器へとデータを
    転送するデータ転送制御方法であって、 所定のタイミングに同期して第1の機器から第2の機器
    へとデータを転送する第1の転送工程と、 所定のタイミングで、前記第1の転送工程による転送デ
    ータを処理し終えているかを示すデータを、前記第2の
    機器から第1の機器へと転送する第2の転送工程と、 前記第2の転送工程により転送されるデータに基づい
    て、前記第1の転送工程を制御して、次のデータを転送
    するかデータを再送するか制御する制御工程とを有する
    ことを特徴とするデータ転送制御方法。
  5. 【請求項5】 前記制御工程は、前記第2の転送工程に
    より次の処理が可能であることが通知されるまで、前記
    第1の転送工程により同じデータを再送することを特徴
    とする請求項4記載のデータ転送制御方法。
  6. 【請求項6】 前記制御工程は、前記第2の転送工程に
    より次の処理が可能であることが通知されるまで、前記
    第1の転送工程により無効データを転送することを特徴
    とする請求項4記載のデータ転送制御方法。
  7. 【請求項7】 ホスト装置と印刷装置とを接続して成る
    印刷システムであって、 所定のタイミングに同期してデータを印刷装置に転送す
    る第1の転送手段と、 印刷装置から受信したデータに基づいて前記第1の転送
    手段を制御して、次のデータを転送するかデータを再送
    するか制御する制御手段とを有するホスト装置と、 前記第1の転送手段によるデータ受信後、所定のタイミ
    ングで、前記第1の転送手段による転送データを処理し
    終えているかを示すデータをホスト装置に転送する第2
    の転送手段と、 前記第1の転送手段により転送されるデータを受信でき
    た場合、それを印刷出力する出力手段とを有する印刷装
    置とを具備することを特徴とする印刷システム。
JP9030892A 1997-02-14 1997-02-14 データ転送装置及びその制御方法及び印刷システム Withdrawn JPH10228355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9030892A JPH10228355A (ja) 1997-02-14 1997-02-14 データ転送装置及びその制御方法及び印刷システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9030892A JPH10228355A (ja) 1997-02-14 1997-02-14 データ転送装置及びその制御方法及び印刷システム

Publications (1)

Publication Number Publication Date
JPH10228355A true JPH10228355A (ja) 1998-08-25

Family

ID=12316388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9030892A Withdrawn JPH10228355A (ja) 1997-02-14 1997-02-14 データ転送装置及びその制御方法及び印刷システム

Country Status (1)

Country Link
JP (1) JPH10228355A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075149A1 (fr) * 2002-03-01 2003-09-12 Seiko Epson Corporation Systeme de sortie d'images equipe de plusieurs dispositifs en communication selon une relation maitre/esclave
US6934790B2 (en) 2001-02-22 2005-08-23 Oki Data Corporation Data transmitting and receiving system with speedy retransmission of missing data and data receiving device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934790B2 (en) 2001-02-22 2005-08-23 Oki Data Corporation Data transmitting and receiving system with speedy retransmission of missing data and data receiving device
WO2003075149A1 (fr) * 2002-03-01 2003-09-12 Seiko Epson Corporation Systeme de sortie d'images equipe de plusieurs dispositifs en communication selon une relation maitre/esclave
US7893962B2 (en) 2002-03-01 2011-02-22 Seiko Epson Corporation Image output system having multiple devices communication-connected in master-slave relation
EP2302507A1 (en) * 2002-03-01 2011-03-30 Seiko Epson Corporation Image output system including a plurality of units connected by communication with master-slave relation

Similar Documents

Publication Publication Date Title
JP3927647B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
US6334161B1 (en) System for reverse data transmission flow control wherein command is transferred by asynchronous transfer mode while data is transferred by isochronous transfer mode
US6717694B1 (en) Data transmission apparatus, system and method, and recording medium
US20040186928A1 (en) Data transmission apparatus, system and method, and image processing apparatus
JPH10229427A (ja) 情報処理装置及び方法
JP3630971B2 (ja) データ通信方法、装置、システム、及び記憶媒体
JP4018187B2 (ja) 画像形成装置、画像形成システム、及び、画像形成方法
JPH10228365A (ja) 印刷装置、印刷システム、及び、印刷方法
JP3682512B2 (ja) 画像取り込み装置及びその制御方法、印刷システム、印刷方法、及び、印刷装置及びその制御方法
JPH10228355A (ja) データ転送装置及びその制御方法及び印刷システム
JPH10228364A (ja) データ転送装置及びその制御方法及び印刷システム
JP3871177B2 (ja) データ通信装置およびデータ通信方法
JPH10229538A (ja) データ通信システム、プリントシステム及びデータ通信装置
JPH10307691A (ja) データ通信方法と装置及び印刷装置と前記装置を含む印刷システム
JP2001105689A (ja) 印刷システム及び印刷装置及びその制御方法
JP3774542B2 (ja) データ処理方法、データ処理装置、プリンタ及び記憶媒体
JP3647328B2 (ja) 画像処理装置及びその制御方法並びに画像処理システム
JPH10228357A (ja) データ転送装置及びその制御方法及び印刷システム
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP3495879B2 (ja) データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体
JP2000196873A (ja) 情報処理装置及び情報処理システム及びそれらの方法と記憶媒体
JP3869941B2 (ja) 印刷システム、印刷装置、および印刷方法
JP2002016750A (ja) 画像形成装置及びその制御方法と画像形成システム
JP2003333045A (ja) パワーマネージメント
JPH11282641A (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: 20040511