JP2000049833A - Data transfer device, data transfer system, its method, image processing unit and record medium - Google Patents

Data transfer device, data transfer system, its method, image processing unit and record medium

Info

Publication number
JP2000049833A
JP2000049833A JP10218175A JP21817598A JP2000049833A JP 2000049833 A JP2000049833 A JP 2000049833A JP 10218175 A JP10218175 A JP 10218175A JP 21817598 A JP21817598 A JP 21817598A JP 2000049833 A JP2000049833 A JP 2000049833A
Authority
JP
Japan
Prior art keywords
data
command
data transfer
printer
node
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
JP10218175A
Other languages
Japanese (ja)
Inventor
Koji Fukunaga
耕司 福長
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 JP10218175A priority Critical patent/JP2000049833A/en
Priority to US09/362,892 priority patent/US6717694B1/en
Publication of JP2000049833A publication Critical patent/JP2000049833A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To allow the data transfer system to optionally transfer commands other than data in the case that the commands and the data use same register areas and only a result of the data transfer is returned at the time of the data transfer between a host device and a target device interconnected by a serial bus. SOLUTION: A 1394 serial bus directly interconnects an image supply device 101 and a printer 102 and in the case of returning a response with respect to a data transmission command from the printer 102 to the image supply device 101, the printer 102 informs the device 101 of a re-transmission request depending on a state of a data reception buffer of the printer 102. The image supply device 101 transfers again the data transmission command to the printer 102 based on the re-transmission request and transfers a status acquisition command to the printer 102 in response to the response with respect to the command.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はデータ転送装置、デ
ータ転送システムおよびその方法、画像処理装置、並び
に、記録媒体に関し、例えば、IEEE1394などにより規定
されるシリアルインタフェイスを介して、画像供給デバ
イスと画像処理デバイスとを直結する場合のデータ転送
装置、データ転送システムおよびその方法、画像処理装
置、並びに、記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer apparatus, a data transfer system and method, an image processing apparatus, and a recording medium, and relates to an image supply device via a serial interface defined by, for example, IEEE1394. The present invention relates to a data transfer device, a data transfer system and a data transfer method when directly connecting to an image processing device, an image processing device, and a recording medium.

【従来の技術】プリンタは、セントロニクスやRS232Cと
言ったパラレルあるいはシリアルインタフェイスを介し
て、ホストデバイスであるパーソナルコンピュータ(PC)
と接続されている。
2. Description of the Related Art A printer is a personal computer (PC) as a host device through a parallel or serial interface such as Centronics or RS232C.
Is connected to

【0002】また、スキャナ、ディジタルスチルカメ
ラ、ディジタルビデオカメラといった画像供給デバイス
であるディジタル機器もPCに接続されている。各ディジ
タル機器により取込まれた画像データは、一旦PC上のハ
ードディスクなどに取込まれた後、PC上のアプリケーシ
ョンソフトウェアなどにより処理されてプリンタ用の印
刷データに変換され、上記のインタフェイスを経由して
プリンタに送られる。
[0002] Digital equipment which is an image supply device such as a scanner, a digital still camera and a digital video camera is also connected to the PC. The image data captured by each digital device is temporarily captured to a hard disk on a PC, processed by application software on the PC, converted to print data for a printer, and passed through the above interface. And sent to the printer.

【0003】上記のようなシステムでは、各ディジタル
機器やプリンタなどを制御するためのドライバソフトウ
ェアがそれぞれ独立にPCに存在し、ディジタル機器から
出力された画像データは、それらドライバソフトウェア
によりPC上で使い易くかつ表示し易い形式のデータとし
て保存される。保存されたデータは、入力機器の画像特
性と出力機器の画像特性とを考慮した画像処理方法によ
り印刷データに変換される。
In the above-described system, driver software for controlling each digital device, printer, and the like exists independently on a PC, and image data output from the digital device is used on the PC by the driver software. It is stored as data in a format that is easy and easy to display. The stored data is converted into print data by an image processing method that takes into account the image characteristics of the input device and the image characteristics of the output device.

【0004】今日、IEEE1394により規定されるインタフ
ェイス(以下「1394シリアルバス」と呼ぶ)のような新
しいインタフェイスでは、画像供給デバイスとプリンタ
とを直結することも可能である。1394シリアルバスによ
り画像供給デバイスとプリンタとを直結する場合、FCP
(Function コントロール Protocol)のオペランドに印刷
データを含める方法が考えられる。また、 1394シリア
ルバスでは、データ転送のためのレジスタ領域を設け
て、そのレジスタ領域にデータを書込むことでデータ転
送を行う方法も考えられる。
[0004] Today, with a new interface such as the interface defined by IEEE1394 (hereinafter referred to as "1394 serial bus"), it is also possible to directly connect an image supply device and a printer. When connecting an image supply device and a printer directly via the 1394 serial bus, the FCP
A method is considered in which print data is included in the operand of (Function Control Protocol). In the 1394 serial bus, a method of providing a register area for data transfer and writing data in the register area to perform data transfer may be considered.

【0005】また、データ転送の開始を指示するコマン
ドと、コマンドに対するレスポンスとを用いて、データ
転送を指示する方法も考えられる。
A method of instructing data transfer by using a command for instructing the start of data transfer and a response to the command is also conceivable.

【発明が解決しようとする課題】しかし、上述した技術
においては、次のような問題点がある。前述したよう
に、画像供給デバイスから出力される画像データは、PC
により印刷データに変換されてプリンタにより印刷され
るものであるから、画像供給デバイスとプリンタを直結
したとしても、PCが無ければ印刷を行うことができな
い。ディジタルビデオカメラから出力される画像データ
を直接印刷するビデオプリンタと呼ばれるプリンタもあ
るが、特定の機種間で接続ができるだけであり、多数の
画像供給デバイスと直結して使える汎用性の高いビデオ
プリンタはない。つまり、1394シリアルバスなどの特徴
であるデバイス間を直結する機能を生かし、画像供給デ
バイスからプリンタへ画像データを直接送って印刷する
ことはできない。
However, the above technique has the following problems. As described above, the image data output from the image supply device is
Therefore, even if the image supply device is directly connected to the printer, printing cannot be performed without a PC. There is a printer called a video printer that prints image data output from a digital video camera directly.However, a general-purpose video printer that can only be connected between specific models and can be used directly with many image supply devices is available. Absent. That is, it is not possible to directly send image data from an image supply device to a printer and print it by utilizing a function of directly connecting devices, which is a feature of the 1394 serial bus or the like.

【0006】1394シリアルバスにより画像供給デバイス
とプリンタを直結し、FCPのオペランドに印刷データを
含める前述した方法は、制御コマンドと印刷データとを
分離することができない問題がある上、コマンドに対し
て常にレスポンスが必要なため転送効率が低いという問
題もある。また、前述したデータ転送のためのレジスタ
領域を設ける方法は、そのレジスタ領域にデータを書込
むことが可能であるかどうかを判定するための処理がデ
ータ転送の度に必要になる。従って、この判定処理のオ
ーバヘッドが大きくなり、やはり転送効率が低下すると
いう問題が発生する。
The above-described method of directly connecting the image supply device and the printer by the 1394 serial bus and including the print data in the operand of the FCP has a problem that the control command and the print data cannot be separated. There is also a problem that the transfer efficiency is low because a response is always required. In the above-described method of providing a register area for data transfer, a process for determining whether data can be written to the register area is required for each data transfer. Therefore, there is a problem that the overhead of this determination processing is increased and the transfer efficiency is also lowered.

【0007】この問題を解決するために、データとコマ
ンドとを分離せずに同じレジスタ領域を用いる方法が考
えられる。この方法では使われるレジスタ領域を減らす
ことができ、より簡単なデータ転送方式を提供できる。
さらにデータを書き込むレジスタ領域が書き込み可能で
あるかどうかの判定は行わず、データをレジスタに書き
込んだ後に、該書き込みに対する正否の応答のみを行
い、成功の応答があれば次のデータを転送する方法も考
えられる。
In order to solve this problem, a method of using the same register area without separating data and command can be considered. In this method, the register area used can be reduced, and a simpler data transfer method can be provided.
Further, a method of determining whether or not a register area for writing data is writable is performed, and after writing data to the register, only a response of success or failure to the writing is performed, and if there is a successful response, the next data is transferred. Is also conceivable.

【0008】この方法により、データ転送手順を簡略化
するという利点があるものの、反面データ受け取り側で
データを書き込んだ領域を保存するバッファが一杯にな
るという問題が発生する。データ受け取り側は、レジス
タにデータが書き込まれて自分のバッファに保存できる
と、すぐにデータの受け取り可の応答を返すことにな
る。受け取り可の応答を受け取ったデータ転送側は、次
のデータの転送をすぐに開始しようとする。従って、デ
ータ転送側に対してデータ受け取り側の処理が遅い場
合、データ受け取り側のバッファはいつも一杯の状態と
なる。
Although this method has the advantage of simplifying the data transfer procedure, it has the problem that the buffer for storing the area in which data has been written becomes full on the data receiving side. When the data is written to the register and saved in its own buffer, the data receiving side immediately returns a response indicating that the data can be received. The data transfer side that has received the response indicating that the data is ready to receive attempts to immediately start the transfer of the next data. Therefore, when the processing on the data receiving side is slower than the data transferring side, the buffer on the data receiving side is always full.

【0009】データ受け取り側は、最後の空きバッファ
のデータを保存した後、処理が進み空きバッファが出来
るまで、データ送り側に受け取り可の応答を返す事がで
きなくなる。この場合、コマンドとデータにより同じレ
ジスタ領域が使用されているため、データを転送するコ
マンドの実行中には、データ受け取り側のバッファに空
きが無いと、データ転送以外のコマンドが実行できなく
なる。
[0009] After storing the data in the last empty buffer, the data receiving side cannot return an acceptable response to the data sending side until the processing proceeds and an empty buffer is created. In this case, since the same register area is used for the command and the data, during execution of the command for transferring data, if there is no free space in the buffer on the data receiving side, commands other than data transfer cannot be executed.

【0010】これは、データ受け取り側としてプリンタ
を考えた場合、データ転送中にプリンタのステイタス
(紙なし、エラーなど)を得るコマンドが実行できる場
合と実行できない場合とが発生することを意味する。す
なわち、プリンタに空きバッファがあり、ステイタスを
得るコマンドが受け取れるときには該コマンドが実行で
きるが、空きバッファが無いときには該コマンドは実行
できないか、空きバッファができるまで該コマンドは待
たされることになる。従って、特にリアルタイム性を必
要とするようなステイタス取得を行う場合には問題が発
生する。また、必要とされる時点でのステイタスである
か否かの判断がつかなくなるという問題も発生する。
This means that when a printer is considered as the data receiving side, there are cases where a command for obtaining the status of the printer (out of paper, error, etc.) can be executed during data transfer and cases where it cannot be executed. That is, the command can be executed when there is an empty buffer in the printer and a command for obtaining status can be received. However, when there is no empty buffer, the command cannot be executed or the command is kept waiting until an empty buffer is created. Therefore, a problem arises particularly when performing status acquisition that requires real-time processing. In addition, there is a problem that it is difficult to determine whether the status is at the required time.

【0011】また、データを転送した後に、該転送に対
する応答がほぼ一定の短い時間で行われるため、データ
バス上を流れるデータ量が増し、バスの有効利用という
点に対して問題があった。
In addition, since the response to the transfer is performed in a substantially fixed short time after transferring the data, the amount of data flowing on the data bus increases, and there is a problem in that the bus is effectively used.

【0012】また、前述したデータ転送の開始を指示す
るコマンドと、コマンドに対するレスポンスとを用いて
データ転送の指示する場合は、ある単位のデータ転送ご
とにコマンドおよびレスポンスのやり取りが発生し、や
はり転送効率を低下させるという問題が発生する。
In the case where the data transfer is instructed by using the command for instructing the start of the data transfer and the response to the command, the exchange of the command and the response occurs for each unit of data transfer. There is a problem that the efficiency is reduced.

【0013】本発明は、上述した問題を個々にまたはま
とめて解決するためのものであり、1394シリアルバスな
どによりホストデバイスとターゲットデバイスを接続
し、ホストデバイスからターゲットデバイスへ送られる
データの転送について、コマンドとデータとで同じレジ
スタ領域を使用し、かつレジスタへのデータの書き込み
に対する応答のみを行う際に、データ転送以外のコマン
ドを任意に実行可能なデータ転送装置、データ転送シス
テムおよびその方法、画像処理装置、並びに、記録媒体
を提供することを目的とする。
The present invention is to solve the above-mentioned problems individually or collectively. The present invention relates to a method of connecting a host device and a target device by a 1394 serial bus or the like and transferring data sent from the host device to the target device. A data transfer device, a data transfer system, and a method capable of arbitrarily executing a command other than data transfer when using the same register area for command and data and only responding to writing of data to the register; It is an object to provide an image processing device and a recording medium.

【0014】また、データ転送に対する応答時間を調整
することにより、データバス上のトラフィックの効率化
を実現するデータ転送装置、データ転送システムおよび
その方法、画像処理装置、並びに、記録媒体を提供する
ことを目的とする。
Further, it is an object of the present invention to provide a data transfer device, a data transfer system and a method thereof, an image processing device, and a recording medium which realize efficient traffic on a data bus by adjusting a response time to the data transfer. With the goal.

【0015】[0015]

【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
The present invention has the following configuration as one means for achieving the above object.

【0016】本発明にかかるデータ転送方法は、シリア
ルバスにより接続されるホストデバイスとターゲットデ
バイスの間で利用されるデータ転送方法であって、第1
のデータを所定サイズ単位で連続して転送し、前記第1
のデータの所定回の転送結果と共に必要に応じて該第1
のデータの再送要求を返信し、前記再送要求に基づいて
該第1のデータを再度転送し、該第1のデータの再転送中
に、第2のデータを転送することを特徴とする。
A data transfer method according to the present invention is a data transfer method used between a host device and a target device connected by a serial bus.
Data is continuously transferred in units of a predetermined size,
The first data, if necessary, together with the result of the predetermined number of data transfers.
The first data is retransmitted based on the retransmission request, and the second data is transmitted during the retransmission of the first data.

【0017】また、本発明にかかるデータ転送装置は、
シリアルバスにより接続されるデータ転送装置であっ
て、ホストデバイスとの間において所定サイズ単位によ
りデータの転送を行なう通信手段と、該データの転送結
果と共に必要に応じて該データの再送要求を前記ホスト
デバイスに返信する返信手段と、を有し、前記通信手段
は、前記ホストデバイスから前記所定サイズ単位で連続
して転送されてくる第1のデータを受信し、前記返信手
段は、該第1のデータの受信結果を前記再送要求と共に
前記ホストデバイスへ返信し、前記通信手段は更に、前
記ホストデバイスから前記再送要求に基づいて転送され
てくる前記第1のデータを再度受信し、更に、該第1のデ
ータの再受信中に、第2のデータを受信することを特徴
とする。
Further, a data transfer device according to the present invention comprises:
A data transfer device connected by a serial bus, comprising: communication means for transferring data in a predetermined size unit with a host device; and transmitting a request for retransmission of the data as necessary together with a result of the data transfer to the host. A reply unit for replying to the device, wherein the communication unit receives first data continuously transferred from the host device in the predetermined size unit, and the reply unit includes the first data unit. The communication unit returns a data reception result to the host device together with the retransmission request, and the communication unit further receives the first data transferred from the host device based on the retransmission request again, further comprising: The second data is received while the first data is being received again.

【0018】また、本発明にかかるデータ転送システム
は、シリアルバスを介してデータを転送するデータ転送
システムであって、所定サイズ単位によりデータの転送
を行なう通信手段と、該データの転送結果と共に必要に
応じて該データの再送要求を返信する返信手段と、を有
し、前記通信手段は、第1のデータを前記所定サイズ単
位で連続して転送し、前記返信手段により前記第1のデ
ータの所定回の転送結果と共に返信された再送要求に基
づいて該第1のデータを再度転送し、該第1のデータの再
転送中に、第2のデータを転送することを特徴とする。
Further, the data transfer system according to the present invention is a data transfer system for transferring data via a serial bus. Replying means for returning a retransmission request of the data in accordance with the above, wherein the communication means transfers the first data continuously in units of the predetermined size, and the reply means transmits the first data. The first data is transferred again based on a retransmission request returned with a transfer result of a predetermined number of times, and the second data is transferred during the retransmission of the first data.

【発明の実施の形態】以下、本発明にかかる一実施形態
のデータ転送方法を図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a data transfer method according to an embodiment of the present invention will be described in detail with reference to the drawings.

【第1実施形態】図1は本発明を適用するシステムの一般
的な構成例を示す図で、PC103、プリンタ102およびディ
ジタルビデオカメラ(DVC)101を1394シリアルバスを用い
て接続するものである。そこで、予め、1394シリアルバ
スの概要を説明をする。
FIG. 1 is a diagram showing a general configuration example of a system to which the present invention is applied, in which a PC 103, a printer 102, and a digital video camera (DVC) 101 are connected using a 1394 serial bus. . Therefore, the outline of the 1394 serial bus will be described in advance.

【0019】[0019]

【IEEE1394の概要】家庭用ディジタルVTRやディジタル
ビデオディスク(DVD)の登場に伴い、ビデオデータやオ
ーディオデータ(以下、まとめて「AVデータ」と呼ぶ)
など、リアルタイムかつ情報量の多いデータを転送する
必要が生じている。AVデータをリアルタイムに、PCへ転
送したり、その他のディジタル機器に転送するには、高
速のデータ転送能力をもつインタフェイスが必要にな
る。そういった観点から開発されたインタフェイスが13
94シリアルバスである。
[Overview of IEEE1394] With the advent of home digital VTRs and digital video discs (DVDs), video data and audio data (hereinafter collectively referred to as "AV data")
For example, there is a need to transfer data with a large amount of information in real time. To transfer AV data to a PC or other digital devices in real time, an interface having a high-speed data transfer capability is required. 13 interfaces developed from such a viewpoint
94 serial bus.

【0020】図2に1394シリアルバスを用いて構成され
るネットワークシステムの例を示す。このシステムは機
器AからHを備え、A-B間、A-C間、B-D間、D-E間、C-F
間、C-G間、およびC-H間がそれぞれ1394シリアルバス用
のツイストペアケーブルで接続されている。これらの機
器AからHの例としては、パソコンなどのホストコンピュ
ータ装置、および、コンピュータ周辺機器である。コン
ピュータ周辺機器としては、ディジタルVCR、DVDプレー
ヤ、ディジタルスチルカメラ、ハードディスクや光ディ
スクなどのメディアを用いる記憶装置、CRTやLCDのモニ
タ、チューナ、イメージスキャナ、フィルムスキャナ、
プリンタ、MODEM、ターミナルアダプタ(TA)などコンピ
ュータ周辺機器のすべてが対象になる。なお、プリンタ
の記録方式は、レーザビームやLEDを用いた電子写真方
式、インクジェット方式、インク溶融型や昇華型の熱転
写方式、感熱記録方式など、どんな方式でも構わない。
FIG. 2 shows an example of a network system configured using a 1394 serial bus. This system is equipped with devices A to H, between AB, AC, BD, DE, CF
, CG, and CH are connected by a 1394 serial bus twisted pair cable. Examples of these devices A to H include a host computer device such as a personal computer, and computer peripheral devices. Computer peripherals include digital VCRs, DVD players, digital still cameras, storage devices using media such as hard disks and optical disks, CRT and LCD monitors, tuners, image scanners, film scanners,
It covers all computer peripherals such as printers, MODEMs, and terminal adapters (TAs). The recording method of the printer may be any method such as an electrophotographic method using a laser beam or an LED, an inkjet method, an ink melting type or sublimation type thermal transfer method, and a thermal recording method.

【0021】各機器間の接続は、ディジーチェーン方式
とノード分岐方式との混在が可能であり、自由度の高い
接続を行うことができる。また、各機器はそれぞれIDを
有し、互いにIDを認識し合うことによって、1394シリア
ルバスで接続された範囲において、一つのネットワーク
を構成している。例えば、各機器間をそれぞれ一本の13
94シリアルバス用ケーブルでディジーチェーン接続する
だけで、それぞれの機器が中継の役割を担うので、全体
として一つのネットワークを構成することができる。
The connection between the devices can be a mixture of the daisy chain method and the node branch method, and a highly flexible connection can be made. Each device has an ID, and recognizes each other to form one network within a range connected by a 1394 serial bus. For example, a single 13
By simply daisy-chaining with a 94 serial bus cable, each device plays the role of relay, so that one network can be configured as a whole.

【0022】また、1394シリアルバスはPlug and Play
機能に対応し、1394シリアルバス用ケーブルを機器に接
続するだけで自動的に機器を認識し、接続状況を認識す
る機能を有している。また、図2に示すようなシステム
において、ネットワークからある機器が外されたり、ま
たは新たに加えられたときなど、自動的にバスをリセッ
ト(それまでのネットワークの構成情報をリセット)し
て、新たなネットワークを再構築する。この機能によっ
て、その時々のネットワークの構成を常時設定、認識す
ることができる。
The 1394 serial bus uses Plug and Play.
It has a function that automatically recognizes the device by simply connecting the 1394 serial bus cable to the device and recognizes the connection status. Also, in the system shown in FIG. 2, when a device is removed from the network or newly added, the bus is automatically reset (the network configuration information up to that point is reset) and the bus is automatically reset. Rebuilding a good network. With this function, the configuration of the network at that time can be constantly set and recognized.

【0023】また、1394シリアルバスのデータ転送速度
は、100/200/400Mbpsが定義されていて、上位の転送速
度をもつ機器が下位の転送速度をサポートすることで、
互換性が保たれている。データ転送モードとしては、コ
ントロール信号などの非同期データを転送する非同期(A
synchronous)転送モード(ATM)と、リアルタイムなAVデ
ータ等の同期データを転送する同期(Isochronous)転送
モードがある。この非同期データと同期データは、各サ
イクル(通常125μs/サイクル)の中で、サイクル開始
を示すサイクルスタートパケット(CSP)の転送に続き、
同期データの転送を優先しつつ、サイクル内で混在して
転送される。
The data transfer speed of the 1394 serial bus is defined as 100/200/400 Mbps, and the device having the higher transfer speed supports the lower transfer speed.
Compatibility is maintained. As the data transfer mode, asynchronous (A
synchronous) transfer mode (ATM) and synchronous (Isochronous) transfer mode for transferring synchronous data such as real-time AV data. In each cycle (usually 125 μs / cycle), the asynchronous data and synchronous data follow the transfer of the cycle start packet (CSP) indicating the start of the cycle,
Synchronous data is transferred in a mixed manner within a cycle while giving priority to the transfer of the data.

【0024】図3は1394シリアルバスの構成例を示す図
である。1394シリアルバスはレイヤ構造で構成されてい
る。図3に示すように、コネクタポート810には、1394シ
リアルバス用のケーブル813の先端のコネクタが接続さ
れる。コネクタポート810の上位には、ハードウェア部8
00で構成されるフィジカルレイヤ811とリンクレイヤ812
がある。ハードウェア部800はインタフェイス用チップ
で構成され、そのうちフィジカルレイヤ811は符号化や
コネクション関連の制御等を行い、リンクレイヤ812は
パケット転送やサイクルタイムの制御等を行う。
FIG. 3 is a diagram showing a configuration example of the 1394 serial bus. The 1394 serial bus has a layer structure. As shown in FIG. 3, the connector port 810 is connected to a connector at the end of a cable 813 for a 1394 serial bus. Above the connector port 810, the hardware section 8
00 physical layer 811 and link layer 812
There is. The hardware unit 800 is configured by an interface chip, of which the physical layer 811 performs coding and connection-related control and the like, and the link layer 812 performs packet transfer and cycle time control and the like.

【0025】ファームウェア部801のトランザクション
レイヤ814は、転送(トランザクション)すべきデータ
の管理を行い、Read、Write、Lockの命令を出す。ファ
ームウェア部801のマネージメントレイヤ815は、1394シ
リアルバスに接続されている各機器の接続状況やIDの管
理を行い、ネットワークの構成を管理する。上記のハー
ドウェアとファームウェアまでが、1394シリアルバスの
実質的な構成である。
The transaction layer 814 of the firmware unit 801 manages data to be transferred (transacted), and issues Read, Write, and Lock commands. The management layer 815 of the firmware unit 801 manages the connection status and ID of each device connected to the 1394 serial bus, and manages the network configuration. The above hardware and firmware are the substantial configuration of the 1394 serial bus.

【0026】また、ソフトウェア部802のアプリケーシ
ョンレイヤ816は、利用されるソフトによって異なり、
インタフェイス上でどのようにしてデータを転送するか
は、プリンタやAV/Cプロトコルなどのプロトコルによっ
て定義される。
The application layer 816 of the software unit 802 differs depending on the software used.
How data is transferred on the interface is defined by a protocol such as a printer or an AV / C protocol.

【0027】図4は1394シリアルバスにおけるアドレス
空間の一例を示す図である。1394シリアルバスに接続さ
れた各機器(ノード)には必ずノードに固有の64ビット
アドレスをもたせる。そして、このアドレスは機器のメ
モリに格納されていて、自分や相手のノードアドレスを
常時認識することで、通信相手を指定したデータ通信を
行うことができる。
FIG. 4 is a diagram showing an example of an address space in the 1394 serial bus. Each device (node) connected to the 1394 serial bus must have a unique 64-bit address for the node. This address is stored in the memory of the device, and by constantly recognizing the node address of itself or the other party, it is possible to perform data communication specifying the other party.

【0028】1394シリアルバスのアドレッシングは、IE
EE1212規格に準じた方式であり、アドレス設定は、最初
の10ビットがバスの番号の指定用に、次の6ビットがノ
ードIDの指定用に使われる。
The addressing of the 1394 serial bus is based on the IE
The address is set according to the EE1212 standard. In the address setting, the first 10 bits are used for specifying a bus number, and the next 6 bits are used for specifying a node ID.

【0029】それぞれの機器内で使用される48ビットの
アドレスについても、20ビットと28ビットに分けられ、
256Mバイト単位の構造をもって利用される。最初の20ビ
ットのアドレス空間のうち0〜0xFFFFDはメモリ空間、0x
FFFFEはプライベート空間、0xFFFFFはレジスタ空間とそ
れぞれ呼ばれる。プライベート空間は機器内で自由に利
用できるアドレスであり、レジスタ空間にはバスに接続
された機器間で共通な情報が置かれ、各機器間のコミュ
ニケーションに使われる。
The 48-bit address used in each device is also divided into 20 bits and 28 bits.
It is used with a structure of 256 MB. 0 to 0xFFFFD of the first 20-bit address space is memory space, 0x
FFFFE is called a private space, and 0xFFFFF is called a register space. The private space is an address that can be used freely within the device, and the register space stores information common to devices connected to the bus and is used for communication between the devices.

【0030】レジスタ空間の、最初の512バイトにはCSR
アーキテクチャのコアになるレジスタ(CSRコア)が、
次の512バイトにはシリアルバスのレジスタが、その次
の1024バイトにはコンフィグレーションROMが、残りは
ユニット空間で機器固有のレジスタが、それぞれ置かれ
る。
The first 512 bytes of the register space have a CSR
The register (CSR core), which is the core of the architecture,
The next 512 bytes contain serial bus registers, the next 1024 bytes contain configuration ROMs, and the rest contain unit-specific registers in unit space.

【0031】一般的には異種バスシステムの設計の簡略
化のため、ノードは初期ユニット空間の最初の2048バイ
トだけを使うべきであり、この結果としてCSRコア、シ
リアルバスのレジスタ、コンフィグレーションROMおよ
びユニット空間の最初の2048バイトを合わせて4096バイ
トで構成することが望ましい。
In general, to simplify the design of heterogeneous bus systems, nodes should use only the first 2048 bytes of the initial unit space, resulting in the CSR core, serial bus registers, configuration ROM and It is desirable that the first 2048 bytes of the unit space be composed of 4096 bytes.

【0032】以上が、1394シリアルバスの概要である。
次に、1394シリアルバスの特徴をより詳細に説明する。
The above is the outline of the 1394 serial bus.
Next, the features of the 1394 serial bus will be described in more detail.

【0033】[0033]

【1394シリアルバスの詳細】[1394シリアルバスの電気
的仕様]図5は1394シリアルバス用のケーブルの断面を
示す図である。1394シリアルバス用ケーブルには、二組
のツイストペア信号線の他に、電源ラインが設けられて
いる。これによって、電源を持たない機器や、故障など
により電圧が低下した機器にも電力の供給が可能にな
る。電源線により供給される直流電力の電圧は8〜40V、
電流は最大電流1.5Aに規定されている。なお、DVケーブ
ルと呼ばれる規格では、電源ラインを省いた四線で構成
される。 [DS-Link方式]図6は1394シリアルバスで採用されてい
る、データ転送方式のDS-Link(Data/Strobe Link)方式
を説明するための図である。
[Details of 1394 Serial Bus] [Electrical Specifications of 1394 Serial Bus] FIG. 5 is a diagram showing a cross section of a cable for the 1394 serial bus. The 1394 serial bus cable has a power supply line in addition to the two twisted pair signal lines. As a result, power can be supplied to a device having no power supply or a device whose voltage has been reduced due to a failure or the like. The voltage of DC power supplied by the power line is 8 ~ 40V,
The current is specified at a maximum current of 1.5A. In the standard called DV cable, it is composed of four wires omitting a power supply line. [DS-Link System] FIG. 6 is a diagram for explaining a DS-Link (Data / Strobe Link) system of a data transfer system adopted in a 1394 serial bus.

【0034】DS-Link方式は、高速なシリアルデータ通
信に適し、二組の信号線を必要とする。つまり、二組の
より対線のうち一組でデータ信号を送り、もう一組でス
トローブ信号を送る構成になっている。受信側では、こ
のデータ信号と、ストローブ信号との排他的論理和をと
ることによってクロックを生成することができるという
特徴がある。このため、DS-Link方式を用いると、デー
タ信号中にクロック信号を混入させる必要がないので他
のシリアルデータ転送方式に比べて転送効率が高い、ク
ロック信号を生成できるので位相ロックドループ(PLL)
回路が不要になり、その分コントローラLSIの回路規模
を小さくすることができる。さらに、転送すべきデータ
が無いときにアイドル状態であることを示す情報を送る
必要が無いので、各機器のトランシーバ回路をスリープ
状態にすることができ、消費電力の低減が図れる、など
が挙げられる。 [バスリセットのシーケンス]1394シリアルバスに接続
されている各機器(ノード)にはノードIDが与えられ、
ネットワークを構成するノードとして認識される。例え
ば、ネットワーク機器の接続分離や電源のオン/オフな
どによるノード数の増減、つまりネットワーク構成に変
化があり、新たなネットワーク構成を認識する必要があ
るとき、その変化を検知した各ノードはバス上にバスリ
セット信号を送信して、新たなネットワーク構成を認識
するモードに入る。このネットワーク構成の変化の検知
は、コネクタポート810においてバイアス電圧の変化を
検知することによって行われる。
The DS-Link system is suitable for high-speed serial data communication and requires two sets of signal lines. In other words, the data signal is transmitted by one of the two pairs of twisted pairs, and the strobe signal is transmitted by the other pair. The receiving side has a feature that a clock can be generated by taking an exclusive OR of this data signal and the strobe signal. Therefore, when using the DS-Link method, there is no need to mix a clock signal into the data signal, so transfer efficiency is higher than other serial data transfer methods, and a clock signal can be generated, so a phase locked loop (PLL)
The circuit becomes unnecessary, and the circuit size of the controller LSI can be reduced accordingly. Further, since there is no need to send information indicating the idle state when there is no data to be transferred, the transceiver circuit of each device can be put into the sleep state, and power consumption can be reduced. . [Bus reset sequence] Each device (node) connected to the 1394 serial bus is given a node ID.
Recognized as nodes that make up the network. For example, when the number of nodes increases or decreases due to connection / disconnection of network devices or power on / off, that is, there is a change in the network configuration, and when it is necessary to recognize a new network configuration, each node that detects the change will be To a mode for recognizing a new network configuration. The detection of the change in the network configuration is performed by detecting a change in the bias voltage at the connector port 810.

【0035】あるノードからバスリセット信号が送信さ
れると、各ノードのフィジカルレイヤ811はこのバスリ
セット信号を受けると同時にリンクレイヤ812にバスリ
セットの発生を伝達し、かつ他のノードにバスリセット
信号を伝達する。最終的にすべてのノードがバスリセッ
ト信号を受信した後、バスリセットのシーケンスが起動
される。なお、バスリセットのシーケンスは、ケーブル
が抜き挿しされた場合や、ネットワークの異常等をハー
ドウェアが 検出した場合に起動されるとともに、プロ
トコルによるホスト制御などフィジカルレイヤ811に直
接命令を与えることによっても起動される。また、バス
リセットのシーケンスが起動されると、データ転送は、
一時中断され、バスリセットの間は待たされ、バスリセ
ット終了後、新しいネットワーク構成の基で再開され
る。 [ノードID決定のシーケンス]バスリセットの後、各ノ
ードは新しいネットワーク構成を構築するために、各ノ
ードにIDを与える動作に入る。このときの、バスリセッ
トからノードID決定までの一般的なシーケンスを図7か
ら図9に示すフローチャートを用いて説明する。図7は、
バスリセット信号の発生から、ノードIDが決定し、デー
タ転送が行えるようになるまでの一連のシーケンス例を
示すフローチャートである。各ノードは、ステップS101
でバスリセット信号の発生を常時監視し、バスリセット
信号が発生するとステップS102に移り、ネットワーク構
成がリセットされた状態において新たなネットワーク構
成を得るために、互いに直結されているノード間で親子
関係が宣言される。そしてステップS103の判定により、
すべてのノード間で親子関係が決ったと判定されるまで
ステップS102が繰り返される。
When a bus reset signal is transmitted from a certain node, the physical layer 811 of each node transmits the bus reset signal to the link layer 812 at the same time as receiving the bus reset signal, and transmits the bus reset signal to another node. To communicate. After all the nodes finally receive the bus reset signal, the bus reset sequence is started. Note that the bus reset sequence is started when a cable is connected or disconnected, or when hardware detects a network error or the like, and is also provided by directly giving an instruction to the physical layer 811 such as host control using a protocol. Is activated. When the bus reset sequence is activated, the data transfer
The bus is temporarily suspended, waited during the bus reset, and resumed under the new network configuration after the bus reset is completed. [Sequence of Node ID Determination] After the bus reset, each node starts an operation of giving an ID to each node in order to construct a new network configuration. The general sequence from the bus reset to the determination of the node ID at this time will be described with reference to the flowcharts shown in FIGS. FIG.
9 is a flowchart illustrating a series of sequence examples from generation of a bus reset signal to determination of a node ID and data transfer. Each node performs step S101
In step S102, when a bus reset signal is generated, the process proceeds to step S102.In order to obtain a new network configuration in a state where the network configuration is reset, a parent-child relationship between nodes directly connected to each other is established. Declared. Then, according to the determination in step S103,
Step S102 is repeated until it is determined that the parent-child relationship has been determined between all the nodes.

【0036】親子関係が決定するとステップS104へ進み
ルート(root)ノードが決定され、ステップS105で各ノー
ドにIDを与えるノードIDの設定作業が行われる。ルート
ノードから所定のノード順にノードIDの設定が行われ、
ステップS106の判定により、すべてのノードにIDが与え
られたと判定されるまでステップS105が繰り返される。
When the parent-child relationship is determined, the process proceeds to step S104, where the root node is determined. In step S105, a node ID setting operation for giving an ID to each node is performed. Node IDs are set in order from the root node to the specified node,
Step S105 is repeated until it is determined in step S106 that IDs have been assigned to all nodes.

【0037】ノードIDの設定が終了すると、新しいネッ
トワーク構成がすべてのノードにおいて認識されたこと
になるのでノード間のデータ転送が行える状態になり、
ステップS107でデータ転送が開始されるとともに、シー
ケンスはステップS101へ戻り、再びバスリセット信号の
発生が監視される。
When the setting of the node ID is completed, the new network configuration is recognized by all the nodes, so that data transfer between the nodes can be performed.
The data transfer is started in step S107, and the sequence returns to step S101, and the occurrence of the bus reset signal is monitored again.

【0038】図8はバスリセット信号の監視(S101)から
ルートノードの決定(S104)までの詳細例を示すフローチ
ャート、図9はノードID設定(S105,S106)の詳細例を示す
フローチャートである。
FIG. 8 is a flowchart showing a detailed example from the monitoring of the bus reset signal (S101) to the determination of the root node (S104). FIG. 9 is a flowchart showing a detailed example of the node ID setting (S105, S106).

【0039】図8において、ステップS201でバスリセッ
ト信号の発生が監視され、バスリセット信号が発生する
と、ネットワーク構成は一旦リセットされる。次に、ス
テップS202で、リセットされたネットワーク構成を再認
識する作業の第一歩として、各機器はフラグFLをリーフ
ノードであることを示すデータでリセットする。そし
て、ステップS203で、各機器はポート数、つまり自分に
接続されている他ノードの数を調べ、ステップS204で、
ステップS203の結果に応じて、これから親子関係の宣言
を始めるために、未定義(親子関係が決定されていな
い)ポートの数を調べる。ここで、未定義ポート数は、
バスリセットの直後はポート数に等しいが、親子関係が
決定されて行くにしたがって、ステップS204で検知され
る未定義ポートの数は減少する。
In FIG. 8, the generation of a bus reset signal is monitored in step S201, and when the bus reset signal is generated, the network configuration is reset once. Next, in step S202, as a first step of re-recognizing the reset network configuration, each device resets the flag FL with data indicating a leaf node. Then, in step S203, each device checks the number of ports, that is, the number of other nodes connected to itself, and in step S204,
In accordance with the result of step S203, the number of undefined (parent-child relationship is not determined) ports is checked in order to start declaring the parent-child relationship. Here, the number of undefined ports is
Immediately after the bus reset, the number of ports is equal to the number of ports. However, as the parent-child relationship is determined, the number of undefined ports detected in step S204 decreases.

【0040】バスリセットの直後に親子関係の宣言を行
えるのは実際のリーフノードに限られている。リーフノ
ードであるか否かはステップS203のポート数の確認結果
から知ることができ、つまりポート数が「1」であれば
リーフノードである。リーフノードは、ステップS205
で、接続相手のノードに対して親子関係の宣言「自分は
子、相手は親」を行い動作を終了する。
Only the actual leaf node can declare the parent-child relationship immediately after the bus reset. Whether the node is a leaf node can be known from the result of checking the number of ports in step S203. That is, if the number of ports is "1", the node is a leaf node. Leaf node, step S205
Then, a parent-child relationship declaration is made for the connection partner node, "I am a child, and the partner is a parent," and the operation ends.

【0041】一方、ステップS203でポート数が「2以
上」であったノード、つまりブランチノードは、バスリ
セットの直後は「未定義ポート数>1」であるからステッ
プS206へ進み、フラグFLにブランチノードを示すデータ
をセットし、ステップS207で他ノードから親子関係が宣
言されるのを待つ。他ノードから親子関係が宣言され、
それを受けたブランチノードはステップS204に戻り、未
定義ポート数を確認するが、もし未定義ポート数が
「1」になっていれば残るポートに接続された他ノード
に対して、ステップS205で「自分は子、相手は親」の親
子関係を宣言することができる。また、未だ未定義ポー
ト数が「2以上」あるブランチノードは、ステップS207
で再び他ノードから親子関係が宣言されるのを待つこと
になる。
On the other hand, the node whose port number is “2 or more” in step S203, that is, the branch node, immediately after the bus reset, has “undefined port number> 1”, so the process proceeds to step S206, where the branch to flag FL is performed. The data indicating the node is set, and the process waits for the declaration of the parent-child relationship from another node in step S207. A parent-child relationship is declared from another node,
The branch node receiving it returns to step S204 and checks the number of undefined ports, but if the number of undefined ports is “1”, the other nodes connected to the remaining ports are checked in step S205. You can declare a parent-child relationship of "I am a child and my partner is a parent." Further, the branch node having the number of undefined ports “2 or more” is determined in step S207.
And wait for another node to declare the parent-child relationship again.

【0042】何れか一つのブランチノード(または例外
的に、子宣言を行えるのにもかかわらず、すばやく動作
しなかったリーフノード)の未定義ポート数が「0」に
なると、ネットワーク全体の親子関係の宣言が終了した
ことになり、未定義ポート数が「0」になった唯一のノ
ード、つまりすべてノードの親に決まったノードは、ス
テップS208でフラグFLにルートノードを示すデータをセ
ットし、ステップS209でルートノードとして認識され
る。
If the number of undefined ports of any one of the branch nodes (or, in exceptional cases, a leaf node that could not be operated quickly despite being able to make a child declaration) becomes “0”, the parent-child relationship of the entire network is reached. Is the only node for which the number of undefined ports has become "0", that is, the node that has been determined to be the parent of all nodes, sets data indicating the root node to the flag FL in step S208, In step S209, it is recognized as a root node.

【0043】このようにして、バスリセットから、ネッ
トワーク内のすべてのノード間における親子関係の宣言
までの手順が終了する。
Thus, the procedure from the bus reset to the declaration of the parent-child relationship between all the nodes in the network is completed.

【0044】次に、各ノードにIDを与える手順を説明す
るが、最初にIDの設定を行うことができるのはリーフノ
ードである。そして、リーフ→ブランチ→ルートの順に
若い番号(ノード番号: 0)からIDを設定する。
Next, a procedure for assigning an ID to each node will be described. First, an ID can be set at a leaf node. Then, an ID is set in the order of leaf → branch → root in ascending order (node number: 0).

【0045】図9のステップS301で、フラグFLに設定さ
れたデータを基にノードの種類、つまりリーフ、ブラン
チおよびルートに応じた処理に分岐する。
In step S301 of FIG. 9, the process branches to processing according to the type of node, that is, leaf, branch, and route, based on the data set in the flag FL.

【0046】まずリーフノードの場合は、ステップS302
でネットワーク内に存在するリーフノードの数(自然
数)を変数Nに設定した後、ステップS303で各リーフノ
ードがルートノードに対して、ノード番号を要求する。
この要求が複数ある場合、ルートノードはステップS304
でアービトレーションを行い、ステップS305である一つ
のノードにノード番号を与え、他のノードにはノード番
号の取得失敗を示す結果を通知する。
First, in the case of a leaf node, step S302
After setting the number (natural number) of leaf nodes existing in the network in the variable N, in step S303, each leaf node requests a node number from the root node.
If there are multiple requests, the root node determines in step S304
In step S305, a node number is given to one node, and the other nodes are notified of a result indicating that acquisition of the node number has failed.

【0047】ステップS306の判断により、ノード番号を
取得できなかったリーフノードは、再びステップS303で
ノード番号の要求を繰り返す。一方、ノード番号を取得
できたリーフノードは、ステップS307で、取得したノー
ド番号を含むID情報をブロードキャストすることで全ノ
ードに通知する。ID情報のブロードキャストが終わると
ステップS308で、リーフ数を表す変数Nがデクリメント
される。そして、ステップS309の判定により変数Nが
「0」になるまでステップS303からS308の手順が繰り返
され、すべてのリーフノードのID情報がブロードキャス
トされた後、ステップS310へ進んで、ブランチノードの
ID設定に移る。
The leaf node from which the node number could not be obtained by the determination in step S306 repeats the request for the node number in step S303 again. On the other hand, in step S307, the leaf nodes that have been able to obtain the node numbers notify all the nodes by broadcasting ID information including the obtained node numbers. When the broadcast of the ID information ends, in step S308, the variable N indicating the number of leaves is decremented. Then, the procedure of steps S303 to S308 is repeated until the variable N becomes “0” by the determination of step S309, and after the ID information of all leaf nodes has been broadcasted, the process proceeds to step S310, where the branch node
Move on to ID setting.

【0048】ブランチノードのID設定もリーフノードと
ほぼ同様に行われる。まず、ステップS310でネットワー
ク内に存在するブランチノードの数(自然数)を変数M
に設定した後、ステップS311で各ブランチノードがルー
トノードに対して、ノード番号を要求する。この要求に
対してルートノードは、ステップS312でアービトレーシ
ョンを行い、ステップS313である一つのブランチノード
にリーフノードに続く若い番号を与え、ノード番号を取
得できなかったブランチノードには取得失敗を示す結果
を通知する。
The setting of the ID of the branch node is performed in substantially the same manner as that of the leaf node. First, in step S310, the number (natural number) of branch nodes existing in the network is set as a variable M
After that, in step S311, each branch node requests a node number from the root node. In response to this request, the root node performs arbitration in step S312, assigns a small number following the leaf node to one branch node in step S313, and indicates that the branch node that could not obtain the node number indicates an acquisition failure Notify.

【0049】ステップS314の判定により、ノード番号の
取得に失敗したことを知ったブランチノードは、再びス
テップS311でノード番号の要求を繰り返す。一方、ノー
ド番号を取得できたブランチノードはステップS315で、
取得したノード番号を含むID情報をブロードキャストす
ることで全ノードに通知する。ID情報のブロードキャス
トが終わるとステップS316で、ブランチ数を表す変数M
がデクリメントされる。そして、ステップS317の判定に
より、変数Mが「0」になるまでステップS311からS316の
手順が繰返され、すべてのブランチノードのID情報がブ
ロードキャストされた後、ステップS318へ進んで、ルー
トノードのID設定に移る。
The branch node that has determined that the acquisition of the node number has failed by the determination in step S314 repeats the request for the node number again in step S311. On the other hand, in step S315, the branch node that has obtained the node number
All nodes are notified by broadcasting ID information including the acquired node number. When the broadcast of the ID information ends, in step S316, a variable M representing the number of branches
Is decremented. Then, according to the determination in step S317, the procedure from steps S311 to S316 is repeated until the variable M becomes “0”, and after the ID information of all branch nodes is broadcast, the process proceeds to step S318, where the ID of the root node is Move on to settings.

【0050】ここまで終了すると、最終的にIDを取得し
ていないノードはルートノードのみなので、ステップS3
18では、他のノードに与えていない最も若い番号を自分
のノード番号に設定し、ステップS319でルートノードの
ID情報をブロードキャストする。
At this point, since the root node is the only node that has not finally obtained an ID, step S3
At 18, the lowest number not assigned to other nodes is set as its own node number, and at step S319 the root node
Broadcast ID information.

【0051】以上で、すべてのノードのIDが設定される
までの手順が終了する。次に、図10に示すネットワーク
例を用いてノードID決定のシーケンスの具体的な手順を
説明する。
Thus, the procedure up to setting the IDs of all the nodes is completed. Next, a specific procedure of a sequence for determining a node ID will be described using the network example shown in FIG.

【0052】図10に示すネットワークは、ルートである
ノードBの下位にはノードAとノードCが直結され、ノー
ドCの下位にはノードDが直結され、ノードDの下位には
ノードEとノードFが直結された階層構造を有する。こ
の、階層構造やルートノード、ノードIDを決定する手順
は以下のようになる。
In the network shown in FIG. 10, a node A and a node C are directly connected below the node B which is a root, a node D is directly connected below the node C, and a node E and a node below the node D. F has a directly connected hierarchical structure. The procedure for determining the hierarchical structure, the root node, and the node ID is as follows.

【0053】バスリセットが発生した後、各ノードの接
続状況を認識するために、各ノードの直結されているポ
ート間において、親子関係の宣言がなされる。ここでい
う親子とは、階層構造の上位が「親」、下位が「子」と
いう意味である。図10では、バスリセットの後、最初に
親子関係を宣言したのはノードAである。前述したよう
に、一つのポートだけが接続されたノード(リーフ)か
ら親子関係の宣言を開始することができる。これは、ポ
ート数が「1」であればネットワークツリーの末端、つ
まりリーフノードであることが認識され、それらリーフ
ノードの中で最も早く動作を行ったノードから親子関係
が決定されて行くことになる。こうして親子関係の宣言
を行ったノードのポートが、互いに接続された二つのノ
ードの「子」と設定され、相手ノードのノードが「親」
と設定される。こうして、ノードA-B間、ノードE-D間、
ノードF-D間で「子-親」の関係が設定される。
After the occurrence of the bus reset, a parent-child relationship is declared between the directly connected ports of each node in order to recognize the connection status of each node. Here, the parent and child means that the upper level of the hierarchical structure is “parent” and the lower level is “child”. In FIG. 10, it is the node A that first declared the parent-child relationship after the bus reset. As described above, the declaration of the parent-child relationship can be started from a node (leaf) to which only one port is connected. This means that if the number of ports is "1", the end of the network tree, that is, the leaf node is recognized, and the parent-child relationship is determined from the node that operates first among those leaf nodes. Become. In this way, the port of the node that has declared the parent-child relationship is set as the “child” of the two nodes connected to each other, and the node of the partner node is set as the “parent”.
Is set. Thus, between nodes AB, between nodes ED,
A "child-parent" relationship is set between the nodes FD.

【0054】さらに、階層が一つ上がって、複数のポー
トをもつノード、つまりブランチノードのうち他ノード
から親子関係の宣言を受けたノードから順次、上位のノ
ードに対して親子関係を宣言する。図10ではまずノード
D-E間、D-F間の親子関係が決定された後、ノードDがノ
ードCに対して親子関係を宣言し、その結果、ノードD-C
間で「子-親」の関係が設定される。ノードDから親子関
係の宣言を受けたノードCは、もう一つのポートに接続
されているノードBに対して親子関係を宣言し、これに
よってノードC-B間で「子-親」の関係が設定される。
Further, the hierarchy goes up by one, and a node having a plurality of ports, that is, a node having a parent-child relationship declared by another node among branch nodes is sequentially declared a parent-child relationship with an upper node. In Figure 10, first the node
After the parent-child relationship between DE and DF is determined, node D declares a parent-child relationship to node C, and as a result, node DC
A "child-parent" relationship is set between them. Node C, which has received a parent-child relationship from node D, declares a parent-child relationship to node B connected to another port, thereby establishing a "child-parent" relationship between nodes CB. You.

【0055】このようにして、図10に示すような階層構
造が構成され、最終的に接続されているすべてのポート
において親となったノードBが、ルートノードと決定さ
れる。なお、ルートノードは一つのネットワーク構成中
に一つしか存在しない。また、ノードAから親子関係を
宣言されたノードBが、速やかに、他のノードに対して
親子関係を宣言した場合は、例えばノードCなどの他の
ノードがルートノードになる可能性もあり得る。すなわ
ち、親子関係の宣言が伝達されるタイミングによって
は、どのノードもルートノードになる可能性があり、ネ
ットワーク構成が同一であっても、特定のノードがルー
トノードになるとは限らない。
In this way, a hierarchical structure as shown in FIG. 10 is formed, and the node B which has become the parent in all finally connected ports is determined as the root node. Note that there is only one root node in one network configuration. In addition, if the node B that has declared the parent-child relationship from the node A promptly declares the parent-child relationship to another node, there is a possibility that another node such as the node C becomes the root node. . That is, depending on the timing at which the declaration of the parent-child relationship is transmitted, there is a possibility that any node may become the root node, and even if the network configuration is the same, a specific node does not always become the root node.

【0056】ルートノードが決定されると、各ノードID
の決定モードに入る。すべてのノードは、決定した自分
のID情報を、他のすべてのノードに通知するプロードキ
ャスト機能をもっている。なお、ID情報は、ノード番
号、接続されている位置の情報、もっているポートの
数、接続のあるポートの数、各ポートの親子関係の情報
などを含むID情報としてブロードキャストされる。
When the root node is determined, each node ID
Enter the decision mode. All nodes have a broadcast function of notifying the determined ID information to all other nodes. Note that the ID information is broadcast as ID information including a node number, information on a connected position, the number of ports having the number, the number of connected ports, information on the parent-child relationship of each port, and the like.

【0057】ノード番号の割当ては、前述したようにリ
ーフノードから開始され、順に、ノード番号=0,1,2,…
が割当てられる。そしてID情報のブロードキャストによ
って、そのノード番号は割当て済みであることが認識さ
れる。
The assignment of the node numbers starts from the leaf nodes as described above, and the node numbers = 0, 1, 2,.
Is assigned. Then, by broadcasting the ID information, it is recognized that the node number has been assigned.

【0058】すべてのリーフノードがノード番号を取得
し終わると、次はブランチノードへ移りリーフノードに
続くノード番号が割当てられる。リーフノードと同様
に、ノード番号が割当てられたブランチノードから順に
ID情報がブロードキャストされ、最後にルートノードが
自己のID情報をブロードキャストする。従って、ルート
ノードは常に最大のノード番号を所有することになる。
When all the leaf nodes have obtained the node numbers, the process moves to the branch node, and the node numbers following the leaf nodes are assigned. Like the leaf node, the branch node to which the node number is assigned is
The ID information is broadcast, and finally the root node broadcasts its own ID information. Therefore, the root node always owns the highest node number.

【0059】以上のようにして、階層構造全体のID設定
が終わり、ネットワーク構成が構築され、バスの初期化
作業が完了する。 [ノード管理のための制御情報]ノード管理を行うため
のCSRアーキテクチャの基本的な機能として、図4に示し
たCSRコアがレジスタ上に存在する。それらレジスタの
位置と機能を図11に示すが、図中のオフセットは0xFFFF
F0000000からの相対位置である。
As described above, the ID setting of the entire hierarchical structure is completed, the network configuration is constructed, and the bus initialization operation is completed. [Control Information for Node Management] As a basic function of the CSR architecture for performing node management, the CSR core shown in FIG. 4 exists on a register. The locations and functions of these registers are shown in Figure 11, where the offset is 0xFFFF
This is a relative position from F0000000.

【0060】CSRアーキテクチャでは、0xFFFFF0000200
からシリアルバスに関するレジスタが配置されている。
それらのレジスタの位置と機能を図12に示す。
In the CSR architecture, 0xFFFFF0000200
And registers related to the serial bus.
FIG. 12 shows the locations and functions of these registers.

【0061】また、0xFFFFF0000800から始まる場所に
は、シリアルバスのノード資源に関する情報が配置され
ている。それらのレジスタの位置と機能を図13に示す。
In the place starting from 0xFFFFF0000800, information on the node resources of the serial bus is arranged. FIG. 13 shows the positions and functions of these registers.

【0062】CSRアーキテクチャでは、各ノードの機能
を表すためコンフィグレーションROMをもっているが、
このROMには最小形式と一般形式があり、0xFFFFF000040
0から配置される。最小形式では図14に示すようにベン
ダIDを表すだけであり、このベンダIDは24ビットで表さ
れる全世界で固有の値である。
Although the CSR architecture has a configuration ROM to represent the function of each node,
This ROM has a minimum format and a general format, 0xFFFFF000040
Arranged from 0. In the minimum format, only the vendor ID is represented as shown in FIG. 14, and this vendor ID is a globally unique value represented by 24 bits.

【0063】また、一般形式は図15に示すような形式
で、ノードに関する情報をもっているが、この場合、ベ
ンダIDはルートディレクトリ(root_directory)にもつこ
とができる。また、バス情報ブロック(bus info block)
とルートリーフ(root leaf)にはベンダIDを含む64ビッ
トの全世界で固有な装置番号をもっている。この装置番
号は、バスリセットなどの再構成後に継続してノードを
認識するために使用される。 [シリアルバス管理]1394シリアルバスのプロトコル
は、図3に示したように、フィジカルレイヤ811、リンク
レイヤ812およびトランザクションレイヤ814から構成さ
れている。この中で、バス管理は、CSRアーキテクチャ
に基づくノードの制御とバス資源管理のための基本的な
機能を提供している。
The general format is a format as shown in FIG. 15 and has information on nodes. In this case, the vendor ID can be stored in a root directory (root_directory). Also, a bus info block
And the root leaf have a 64-bit globally unique device number, including the vendor ID. This device number is used for continuously recognizing a node after a reconfiguration such as a bus reset. [Serial Bus Management] As shown in FIG. 3, the protocol of the 1394 serial bus is composed of a physical layer 811, a link layer 812, and a transaction layer 814. Among them, bus management provides basic functions for node control and bus resource management based on the CSR architecture.

【0064】バス管理を行うノード(以下「バス管理ノ
ード」と呼ぶ)は、同一バス上に唯一存在し、シリアル
バス上の他のノードに管理機能を提供するが、この管理
機能にはサイクルマスタの制御や、性能の最適化、電源
管理、伝送速度管理、構成管理などがある。
A node that performs bus management (hereinafter, referred to as a “bus management node”) exists solely on the same bus and provides a management function to other nodes on the serial bus. Control, performance optimization, power management, transmission speed management, configuration management, etc.

【0065】バス管理機能は、バスマネージャ、同期
(アイソクロノス)リソースマネージャおよびノード制
御の三つの機能に大きく別けられる。ノード制御は、CS
Rによってフィジカルレイヤ811、リンクレイヤ812、ト
ランザクションレイヤ814およびアプリケーションにお
けるノード間通信を可能にする管理機能である。同期リ
ソースマネージャは、シリアルバス上で同期型のデータ
転送を行うために必要になる管理機能で、同期データの
転送帯域幅とチャネル番号の割当てを管理するものであ
る。この管理を行うためにバス管理ノードは、バスの初
期化後に、同期リソースマネージャ機能をもつノードの
中から動的に選出される。
The bus management function is roughly divided into three functions: a bus manager, a synchronous (isochronous) resource manager, and a node control. Node control is CS
R is a management function that enables communication between nodes in the physical layer 811, the link layer 812, the transaction layer 814, and the application. The synchronous resource manager is a management function necessary for performing synchronous data transfer on the serial bus, and manages the transfer bandwidth of synchronous data and the assignment of channel numbers. To perform this management, a bus management node is dynamically selected from nodes having a synchronous resource manager function after the bus is initialized.

【0066】また、バス上にバス管理ノードが存在しな
い構成では、電源管理やサイクルマスタの制御のような
バス管理の一部の機能を同期リソースマネージャ機能を
もつノードが行う。さらにバス管理は、アプリケーショ
ンに対してバス制御のインタフェイスを提供するサービ
スを行う管理機能であり、その制御インタフェイスには
シリアルバス制御要求(SB_コントロール.request)、シ
リアルバスイベント制御確認(SB_コントロール.confirm
ation)、シリアルバスイベント通知(SB_EVENT.indicati
on)がある。
In a configuration in which a bus management node does not exist on a bus, a node having a synchronous resource manager function performs a part of the bus management such as power management and cycle master control. Further, the bus management is a management function for providing a service of providing a bus control interface to an application.The control interface includes a serial bus control request (SB_control.request) and a serial bus event control confirmation (SB _Control.confirm
ation), serial bus event notification (SB_EVENT.indicati
on).

【0067】シリアルバス制御要求は、バスのリセッ
ト、バスの初期化、バスの状態情報などを、アプリケー
ションからバス管理ノードに要求する場合に利用され
る。シリアルバスイベント制御確認は、シリアルバス制
御要求の結果で、バス管理ノードからアプリケーション
に確認通知される。シリアルバスイベント通知は、バス
管理ノードからアプリケーションに対して、非同期に発
生されるイベントを通知するためのものである。 [データ転送プロトコル]1394シリアルバスのデータ転
送は、周期的に送信する必要のある同期データ(同期パ
ケット)と、任意タイミングのデータ送受信が許容され
る非同期データ(非同期パケット)とが同時に存在し、
なおかつ、同期データのリアルタイム性を保証してい
る。データ転送では、転送に先立ってバス使用権を要求
し、バスの使用許可を得るためのバスアービトレーショ
ンが行われる。
The serial bus control request is used when an application requests the bus management node for bus reset, bus initialization, bus status information, and the like. The serial bus event control confirmation is notified to the application from the bus management node as a result of the serial bus control request. The serial bus event notification is for notifying an event generated asynchronously from the bus management node to the application. [Data transfer protocol] In the data transfer of the 1394 serial bus, synchronous data (synchronous packet) that needs to be transmitted periodically and asynchronous data (asynchronous packet) that allows data transmission and reception at an arbitrary timing exist simultaneously.
In addition, the real-time property of the synchronous data is guaranteed. In data transfer, prior to the transfer, a bus use right is requested, and bus arbitration for obtaining a bus use permission is performed.

【0068】非同期転送においては、送信ノードIDおよ
び受信ノードIDが転送データと一緒にパケットデータと
して送られる。受信ノードは、自分のノードIDを確認し
てパケットを受取るとアクノリッジ信号を送信ノードに
返すことで、一つのトランザクショが完了する。
In the asynchronous transfer, the transmitting node ID and the receiving node ID are transmitted as packet data together with the transfer data. When the receiving node confirms its own node ID and receives the packet, it returns an acknowledge signal to the transmitting node, thereby completing one transaction.

【0069】同期転送においては、送信ノードが伝送速
度とともに同期チャネルを要求し、チャネルIDが転送デ
ータと一緒にパケットデータとして送られる。受信ノー
ドは、所望するチャネルIDを確認してデータパケットを
受取る。必要になるチャネル数と伝送速度はアプリケー
ションレイヤ816で決定される。
In the synchronous transfer, the transmitting node requests a synchronous channel together with the transmission speed, and the channel ID is sent together with the transfer data as packet data. The receiving node confirms the desired channel ID and receives the data packet. The required number of channels and transmission speed are determined by the application layer 816.

【0070】これらのデータ転送プロトコルは、フィジ
カルレイヤ811、リンクレイヤ812およびトランザクショ
ンレイヤ814の三つのレイヤによって定義される。フィ
ジカルレイヤ811は、バスとの物理的・電気的インタフ
ェイス、ノード接続の自動認識、ノード間のバス使用権
のバスアービトレーションなどを行う。リンクレイヤ81
2は、アドレッシング、データチェック、パケット送受
信、そして同期転送のためのサイクル制御を行う。トラ
ンザクションレイヤ814は、非同期データに関する処理
を行う。以下、各レイヤにおける処理について説明す
る。 [フィジカルレイヤ]次に、フィジカルレイヤ811にお
けるバスアービトレーションを説明する。
These data transfer protocols are defined by three layers: a physical layer 811, a link layer 812, and a transaction layer 814. The physical layer 811 performs a physical / electrical interface with a bus, automatic recognition of node connection, bus arbitration of a bus use right between nodes, and the like. Link layer 81
2 performs cycle control for addressing, data check, packet transmission / reception, and synchronous transfer. The transaction layer 814 performs processing related to asynchronous data. Hereinafter, processing in each layer will be described. [Physical Layer] Next, the bus arbitration in the physical layer 811 will be described.

【0071】1394シリアルバスは、データ転送に先立っ
て、必ず、バス使用権のアービトレーションを行う。13
94シリアルバスに接続された各機器は、ネットワーク上
を転送される信号をそれぞれ中継することによって、ネ
ットワーク内のすべての機器に同信号を伝える論理的な
バス型ネットワークを構成するので、パケットの衝突を
防ぐ意味でバスアービトレーションが必要である。これ
によって、ある時間には、一つのノードだけが転送を行
うことができる。
The 1394 serial bus always performs arbitration of the right to use the bus prior to data transfer. 13
94 Each device connected to the serial bus forms a logical bus network that transmits the signal to all devices in the network by relaying the signals transmitted on the network. Bus arbitration is necessary in order to prevent this. This allows only one node to transfer at a given time.

【0072】図16はバス使用権の要求を説明する図、図
17はバス使用の許可を説明する図である。バスアービト
レーションが始まると、一つもしくは複数のノードが親
ノードに向かって、それぞれバスの使用権を要求する。
図16においては、ノードCとノードFがバス使用権を要求
している。この要求を受けた親ノード(図16ではノード
A)は、さらに親ノードに向かって、バスの使用権を要
求することで、ノードFによるバスの使用権の要求を中
継する。この要求は最終的に、アービトレーションを行
うルートノードに届けられる。
FIG. 16 is a diagram for explaining a request for the right to use the bus.
FIG. 17 is a diagram illustrating permission to use a bus. When the bus arbitration starts, one or a plurality of nodes respectively request the right to use the bus toward the parent node.
In FIG. 16, nodes C and F request a bus use right. The parent node that received this request (the node
A) further requests the right to use the bus toward the parent node, thereby relaying the request for the right to use the bus by the node F. This request is finally delivered to the arbitrating root node.

【0073】バスの使用権の要求を受けたルートノード
は、どのノードにバスの使用権を与えるかを決める。こ
のアービトレーション作業はルートノードのみが行える
ものであり、アービトレーションに勝ったノードにはバ
スの使用許可が与えるられる。図17は、ノードCにバス
の使用許可が与えられ、ノードFのバスの使用権の要求
は拒否された状態を示している。
The root node that has received the request for the right to use the bus determines which node is to be given the right to use the bus. This arbitration work can be performed only by the root node, and the node that wins the arbitration is given permission to use the bus. FIG. 17 shows a state in which the node C is given a bus use permission, and the node F request for the bus use right is rejected.

【0074】ルートノードは、バスアービトレーション
に負けたノードに対してはDP(dataprefix)パケットを送
り、そのバスの使用権の要求が拒否されたことを知らせ
る。バスアービトレーションに負けたノードのバスの使
用権の要求は、次回のバスアービトレーションまで待た
されることになる。
The root node sends a DP (dataprefix) packet to the node that has lost the bus arbitration to notify that the request for the right to use the bus has been rejected. The request for the right to use the bus of the node that has lost the bus arbitration is kept waiting until the next bus arbitration.

【0075】以上のようにして、アービトレーションに
勝ってバス使用の許可を得たノードは、以降、データ転
送を開始することができる。ここで、バスアービトレー
ションの一連の流れを図18に示すフローチャートにより
説明する。
As described above, the node that has won the arbitration and obtained the permission to use the bus can thereafter start data transfer. Here, a series of flows of the bus arbitration will be described with reference to a flowchart shown in FIG.

【0076】ノードがデータ転送を開始できるために
は、バスがアイドル状態であることが必要である。先に
開始されたデータ転送が終了し、現在、バスがアイドル
状態にあることを確認するためには、各転送モードで個
別に設定されている所定のアイドル時間ギャップ長(例
えば、サブアクションギャップ)の経過を検出し、所定
のギャップ長が検出された場合、各ノードはバスがアイ
ドル状態になったと判断する。各ノードは、ステップS4
01で、非同期データ、同期データなどそれぞれ転送する
データに応じた所定のギャップ長が検出されたか否かを
判断する。所定のギャップ長が検出されない限り、転送
を開始するために必要なバス使用権を要求することはで
きない。
In order for a node to be able to start data transfer, the bus must be idle. In order to confirm that the data transfer started earlier has been completed and the bus is currently in an idle state, a predetermined idle time gap length (for example, a subaction gap) that is individually set in each transfer mode is required. , And when a predetermined gap length is detected, each node determines that the bus is in an idle state. Each node performs step S4
At 01, it is determined whether or not a predetermined gap length corresponding to data to be transferred, such as asynchronous data and synchronous data, has been detected. Unless a predetermined gap length is detected, it is not possible to request the necessary bus right to start the transfer.

【0077】各ノードは、ステップS401で所定のギャッ
プ長が検出されると、ステップS402で転送すべきデータ
があるか判断し、ある場合はステップS403でバスの使用
権を要求する信号をルートに対して発信する。このバス
の使用権の要求を表す信号は、図16に示すように、ネッ
トワーク内の各機器に中継されながら、最終的にルート
ノードに届けられる。ステップS402で転送するデータが
ないと判断した場合は、ステップS401に戻る。
When a predetermined gap length is detected in step S401, each node determines whether there is data to be transferred in step S402, and if so, in step S403, routes a signal requesting the right to use the bus to the root. Make an outgoing call. The signal indicating the request for the right to use the bus is finally delivered to the root node while being relayed to each device in the network, as shown in FIG. If it is determined in step S402 that there is no data to be transferred, the process returns to step S401.

【0078】ルートノードは、ステップS404でバスの使
用権を要求する信号を一つ以上受信したら、ステップS4
05で使用権を要求したノードの数を調べる。ステップS4
05の判定により、使用権を要求したノードが一つだった
ら、そのノードに、直後のバス使用許可が与えられるこ
とになる。また、使用権を要求したノードが複数だった
ら、ステップS406で直後のバス使用許可を与えるノード
を一つに絞るアービトレーション作業が行われる。この
アービトレーション作業は、毎回同じノードばかりにバ
スの使用許可を与えるようなことはなく、平等にバスの
使用許可を与えるようになっている(フェア・アービト
レーション)。
When the root node receives at least one signal requesting the right to use the bus at step S404, the root node proceeds to step S4.
Check the number of nodes that requested the usage right in 05. Step S4
As a result of the determination at 05, if there is only one node that has requested the right to use, that node is given the bus use permission immediately after that. If there are a plurality of nodes that have requested the use right, an arbitration operation is performed in step S406 to immediately reduce the number of nodes to which the bus use permission is immediately made to one. This arbitration work does not always grant the bus use permission only to the same node, but equally gives the bus use permission (fair arbitration).

【0079】ルートノードの処理は、ステップS407で、
ステップS406のアービトレーションに勝った一つのノー
ドと、敗れたその他のノードとに応じて分岐する。アー
ビトレーションに勝った一つのノード、またはバスの使
用権を要求したノードが一つの場合は、ステップS408で
そのノードに対してバスの使用許可を示す許可号が送ら
れる。この許可信号を受信したノードは、直後に転送す
べきデータ(パケット)の転送を開始する(ステップS41
0)。また、アービトレーションに敗れたノードにはステ
ップS409で、バス使用権の要求が拒否されたことを示す
DP(data prefix)パケットが送られる。DPパケットを受
取ったノードの処理は、再度、バスの使用権を要求する
ためにステップS401まで戻る。ステップS410におけるデ
ータの転送が完了したノードの処理もステップS401へ戻
る。 [トランザクションレイヤ]トランザクションの種類に
は、リードトランザクション、ライトトランザクション
およびロックトランザクションの三種類がある。
The processing of the root node is as follows in step S407.
The process branches depending on one node that has won the arbitration in step S406 and another node that has lost the arbitration. If one node has won the arbitration or one node has requested the right to use the bus, a permission signal indicating permission to use the bus is sent to the node in step S408. The node receiving this permission signal starts transferring data (packet) to be transferred immediately (step S41).
0). In addition, the node that has lost the arbitration indicates in step S409 that the request for the right to use the bus has been rejected.
A DP (data prefix) packet is sent. The processing of the node that has received the DP packet returns to step S401 again to request the right to use the bus. The process of the node that has completed the data transfer in step S410 also returns to step S401. [Transaction Layer] There are three types of transactions: read transactions, write transactions, and lock transactions.

【0080】リードトランザクションでは、イニシエー
タ(要求ノード)がターゲット(レスポンスノード)の
メモリの特定アドレスからデータを読取る。ライトトラ
ンザクションでは、イニシエータがターゲットのメモリ
の特定アドレスにデータを書込む。また、ロックトラン
ザクションでは、イニシエータからターゲットに参照デ
ータと更新データを転送する。その参照データは、ター
ゲットのアドレスのデータと組み合わされて、ターゲッ
トの特定のアドレスを指示する指定アドレスになる。そ
して、この指定アドレスのデータが更新データにより更
新される。
In a read transaction, an initiator (request node) reads data from a specific address in a memory of a target (response node). In a write transaction, an initiator writes data to a specific address of a target memory. In the lock transaction, reference data and update data are transferred from the initiator to the target. The reference data is combined with the data of the target address to become a designated address indicating a specific address of the target. Then, the data at the specified address is updated with the update data.

【0081】図19はトランザクションレイヤ814におけ
るCSRアーキテクチャに基づくリード、ライト、ロック
の各コマンドの要求・レスポンスプロトコルを示す図
で、図に示す要求、通知、レスポンスおよび確認は、ト
ランザクションレイヤ814でのサービス単位である。
FIG. 19 is a diagram showing a request / response protocol for each command of read, write, and lock based on the CSR architecture in the transaction layer 814. The request, notification, response, and confirmation shown in FIG. Is a unit.

【0082】トランザクション要求(TR_DATA.request)
はレスポンスノードに対するパケットの転送、トランザ
クション通知(TR_DATA.indication)はレスポンスノード
に要求が届いたことの通知、トランザクションレスポン
ス(TR_DATA.レスポンス)はアクノリッジの送信、トラン
ザクション確認(TR_DATA.confirmation)はアクノリッジ
の受信である。 [リンクレイヤ]図20はリンクレイヤ812におけるサー
ビスを示す図で、レスポンスノードに対するパケットの
転送を要求するリンク要求(LK_DATA.request)、レスポ
ンスノードにパケット受信を通知するリンク通知(LK_DA
TA.indication)、レスポンスノードからのアクノリッジ
送信のリンクレスポンス(LK_DATA.レスポンス)、要求ノ
ードのアクノリッジ送信のリンク確認(LK_DATA.confirm
ation)のサービス単位に分けられる。一つのパケット転
送プロセスはサブアクションと呼ばれ、非同期サブアク
ションと同期サブアクションの二つの種類がある。以下
では、各サブアクションの動作について説明する。 [非同期サブアクション]非同期サブアクションは非同
期データ転送である。図21は非同期転送における時間的
な遷移を示す図である。図21に示す最初のサブアクショ
ンギャップは、バスのアイドル状態を示すものである。
このアイドル時間が所定値になった時点で、データ転送
を希望するノードがバス使用権を要求し、バスアービト
レーションが実行される。
Transaction request (TR_DATA.request)
Is a packet transfer to the response node, a transaction notification (TR_DATA.indication) is a notification that the request has arrived at the response node, a transaction response (TR_DATA.response) sends an acknowledgment, and a transaction confirmation (TR_DATA.confirmation) receives an acknowledgment It is. [Link Layer] FIG. 20 is a diagram showing a service in the link layer 812. A link request (LK_DATA.request) for requesting packet transfer to the response node, and a link notification (LK_DA) for notifying the response node of packet reception.
TA.indication), link response of acknowledgment transmission from response node (LK_DATA.response), link confirmation of acknowledgment transmission of request node (LK_DATA.confirm
ation) service unit. One packet transfer process is called a subaction, and there are two types of asynchronous subactions and synchronous subactions. Hereinafter, the operation of each sub-action will be described. [Asynchronous subaction] An asynchronous subaction is an asynchronous data transfer. FIG. 21 is a diagram showing temporal transition in asynchronous transfer. The first sub-action gap shown in FIG. 21 indicates the idle state of the bus.
When the idle time reaches a predetermined value, a node desiring data transfer requests a bus use right, and bus arbitration is executed.

【0083】バスアービトレーションによりバスの使用
が許可されると、次に、データがパケット転送され、こ
のデータを受信したノードは、ACKギャップという短い
ギャップの後、受信確認用返送コードACKを返してレス
ポンスするか、レスポンスパケットを返送することでデ
ータ転送が完了する。ACKは4ビットの情報と4ビットの
チェックサムからなり、成功、ビジー状態またはペンデ
ィング状態であることを示す情報を含み、すぐにデータ
送信元のノードに返される。
When the use of the bus is permitted by the bus arbitration, the data is then transferred to a packet, and the node that has received the data returns a return code ACK for acknowledgment after a short gap called an ACK gap. Alternatively, the data transfer is completed by returning the response packet. The ACK is composed of 4-bit information and a 4-bit checksum, and includes information indicating success, busy status, or pending status, and is immediately returned to the data transmission source node.

【0084】図22は非同期転送用パケットのフォーマッ
トを示す図である。パケットには、データ部および誤り
訂正用のデータCRCのほかにヘッダ部があり、そのヘッ
ダ部には目的ノードID、ソースノードID、転送データ長
や各種コードなどが書込まれている。
FIG. 22 is a diagram showing the format of an asynchronous transfer packet. The packet has a header part in addition to the data part and the data CRC for error correction, and the destination part ID, the source node ID, the transfer data length and various codes are written in the header part.

【0085】また、非同期転送は送信ノードから受信ノ
ードへの一対一の通信である。送信元ノードから送り出
されたパケットは、ネットワーク中の各ノードに行き渡
るが、各ノードは自分宛てのパケット以外は無視するの
で、宛先に指定されたノードだけがそのパケットを受取
ることになる。 [スプリットトランザクション]トランザクションレイ
ヤ814におけるサービスは、図19で示したトランザクシ
ョン要求およびトランザクションレスポンスのセットで
行われる。ここで、ターゲット(レスポンスノード)の
リンクレイヤ812およびトランザクションレイヤ814にお
ける処理が充分高速であれば、要求とレスポンスをリン
クレイヤ812のそれぞれ独立したサブアクションで処理
せず、一つのサブアクションで処理することが可能にな
る。しかし、ターゲットの処理速度が遅い場合は、要求
とレスポンスを個別のトランザクションで処理する必要
がある。そして、この動作をスプリットトランザクショ
ンと呼ぶ。
The asynchronous transfer is one-to-one communication from the transmitting node to the receiving node. The packet sent from the source node is distributed to each node in the network, but each node ignores packets other than its own, so that only the node designated as the destination receives the packet. [Split Transaction] The service in the transaction layer 814 is performed by a set of a transaction request and a transaction response shown in FIG. Here, if the processing in the link layer 812 and the transaction layer 814 of the target (response node) is sufficiently fast, the request and the response are not processed by independent subactions of the link layer 812, but are processed by one subaction. It becomes possible. However, if the processing speed of the target is slow, it is necessary to process the request and response in separate transactions. This operation is called a split transaction.

【0086】図23はスプリットトランザクションの動作
例を示す図で、イニシエータ(要求ノード)のコントロ
ーラからのライト要求に対して、ターゲットはペンディ
ングを返す。これにより、ターゲットは、コントローラ
のライト要求に対する確認情報を返すことができ、デー
タを処理するための時間を稼ぐことができる。そして、
データ処理に充分な時間が経過した後、ターゲットは、
ライトレスポンスをコントローラに通知してライトトラ
ンザクションを終了させる。なお、このときの要求とレ
スポンスのサブアクションの間には、他のノードによる
リンクレイヤ812の操作が可能である。
FIG. 23 is a diagram showing an example of the operation of the split transaction. In response to a write request from the controller of the initiator (request node), the target returns pending. As a result, the target can return confirmation information for the write request from the controller, and can gain time for processing the data. And
After sufficient time for data processing, the target
A write response is notified to the controller to end the write transaction. At this time, the operation of the link layer 812 by another node is possible between the request and the response sub-action.

【0087】図24はスプリットトランザクションを行う
場合の転送状態の時間的遷移例を示す図で、サブアクシ
ョン1は要求サブアクションを、サブアクション2はレス
ポンスサブアクションをそれぞれ表している。
FIG. 24 is a diagram showing an example of a temporal transition of the transfer state when a split transaction is performed. Sub-action 1 represents a request sub-action, and sub-action 2 represents a response sub-action.

【0088】サブアクション1で、イニシエータはライ
ト要求を表すデータパケットをターゲットに送り、これ
を受けたターゲットはアクノリッジパケットにより上記
の確認情報を示すペンディングを返すことで要求サブア
クションが終了する。
In sub-action 1, the initiator sends a data packet indicating a write request to the target, and upon receiving the data packet, the target returns the above-mentioned pending indicating the confirmation information by an acknowledge packet, thereby completing the request sub-action.

【0089】そして、サブアクションギャップが挿入さ
れた後、サブアクション2で、ターゲットはデータパケ
ットが無データであるライトレスポンスを送り、これを
受けたイニシエータはアクノリッジパケットでコンプリ
ートレスポンスを返すことでレスポンスサブアクション
が終了する。
Then, after the sub-action gap is inserted, in sub-action 2, the target sends a write response in which the data packet is no data, and the initiator that receives this sends a complete response in an acknowledge packet, thereby returning the response response. The action ends.

【0090】なお、サブアクション1の終了からサブア
クション2の開始に至る時間は、最小はサブアクション
ギャップに相当する時間であり、最大はノードに設定さ
れた最大待ち時間まで伸ばすことが可能である。 [同期サブアクション]1394シリアルバスの最大の特徴
であるともいえるこの同期転送は、とくにAVデータなど
のリアルタイム転送を必要とするデータの転送に適して
いる。また、非同期転送が一対一の転送であるのに対
し、この非同期転送はブロードキャスト機能によって、
一つの送信元ノードから他のすべてのノードへ一様にデ
ータを転送することができる。
The minimum time from the end of sub-action 1 to the start of sub-action 2 is a time corresponding to the sub-action gap, and the maximum can be extended to the maximum waiting time set in the node. . [Synchronous sub-action] Synchronous transfer, which can be said to be the largest feature of the 1394 serial bus, is particularly suitable for transfer of data that requires real-time transfer such as AV data. Also, while asynchronous transfer is one-to-one transfer, this asynchronous transfer is performed by the broadcast function.
Data can be transferred uniformly from one source node to all other nodes.

【0091】図25は同期転送における時間的な遷移を示
す図で、同期転送はバス上で一定時間毎に実行され、こ
の時間間隔を同期サイクルと呼ぶ。同期サイクル時間は
125μsである。この同期サイクルの開始を示し、各ノー
ドの動作を同期させる役割を担っているのがサイクルス
タートパケット(CSP)2000である。CSP2000を送信するの
は、サイクルマスタと呼ばれるノードであり、一つ前の
サイクル内の転送が終了し、所定のアイドル期間(サブ
アクションギャップ2001)を経た後、本サイクルの開始
を告げるCSP2000を送信する。つまり、このCSP2000が送
信される時間間隔が125μSになる。
FIG. 25 is a diagram showing a temporal transition in the synchronous transfer. The synchronous transfer is executed at fixed time intervals on the bus, and this time interval is called a synchronous cycle. The synchronization cycle time is
125 μs. A cycle start packet (CSP) 2000 indicates the start of the synchronization cycle and synchronizes the operation of each node. The node that transmits CSP2000 is a node called the cycle master. After the transfer in the previous cycle has been completed and a predetermined idle period (subaction gap 2001) has passed, CSP2000 indicating the start of this cycle is transmitted. I do. That is, the time interval at which the CSP2000 is transmitted is 125 μS.

【0092】また、図25にチャネルA、チャネルBおよび
チャネルCと示すように、一つの同期サイクル内におい
て複数種のパケットにチャネルIDをそれぞれ与えること
により、それらのパケットを区別して転送することがで
きる。これにより、複数ノード間で、略同時に、リアル
タイム転送が可能であり、また、受信ノードは所望する
チャネルIDのデータのみを受信すればよい。このチャネ
ルIDは、受信ノードのアドレスなどを表すものではな
く、データに対する論理的な番号に過ぎない。従って、
送信されたあるパケットは、一つの送信元ノードから他
のすべてのノードに行き渡る、つまりブロードキャスト
されることになる。
Also, as shown in FIG. 25 as channel A, channel B and channel C, by assigning channel IDs to a plurality of types of packets in one synchronization cycle, it is possible to transfer these packets in a distinguished manner. it can. Thereby, real-time transfer can be performed substantially simultaneously between a plurality of nodes, and the receiving node need only receive data of a desired channel ID. This channel ID does not represent the address of the receiving node or the like, but is merely a logical number for data. Therefore,
Certain transmitted packets will be broadcast from one source node to all other nodes, ie, broadcast.

【0093】同期転送によるパケット送信に先立ち、非
同期転送と同様に、バスアービトレーションが行われ
る。しかし、非同期転送のように一対一の通信ではない
ので、同期転送には受信確認用の返送コードのACKは存
在しない。
Prior to packet transmission by synchronous transfer, bus arbitration is performed as in asynchronous transfer. However, since it is not one-to-one communication as in asynchronous transfer, there is no ACK of a return code for acknowledgment in synchronous transfer.

【0094】また、図25に示したisoギャップ(同期ギ
ャップ)は、同期転送を行う前にバスがアイドル状態で
あることを確認するために必要なアイドル期間を表して
いる。この所定のアイドル期間を検出したノードは、バ
スがアイドル状態にあると判断し、同期転送を行いたい
場合はバス使用権を要求するのでバスアービトレーショ
ンが行われることになる。
The iso gap (synchronization gap) shown in FIG. 25 represents an idle period necessary for confirming that the bus is in an idle state before performing synchronous transfer. The node that detects the predetermined idle period determines that the bus is in the idle state, and requests the right to use the bus when performing synchronous transfer, so that bus arbitration is performed.

【0095】図26は同期転送用のパケットフォーマット
例を示す図である。各チャネルに分けられた各種のパケ
ットには、それぞれデータ部および誤り訂正用のデータ
CRCのほかにヘッダ部があり、そのヘッダ部には図27に
示すような、転送データ長、チャネル番号、その他各種
コードおよび誤り訂正用のヘッダCRCなどが書込まれて
いる。 [バス・サイクル]実際に、1394シリアルバスにおいて
は、同期転送と非同期転送が混在できる。図28は同期転
送と非同期転送が混在するときの転送状態の時間的遷移
を示す図である。
FIG. 26 is a diagram showing an example of a packet format for synchronous transfer. Each packet divided into each channel has a data part and data for error correction.
In addition to the CRC, there is a header, in which the transfer data length, channel number, other various codes, a header CRC for error correction, and the like are written as shown in FIG. [Bus cycle] In the 1394 serial bus, synchronous transfer and asynchronous transfer can be mixed. FIG. 28 is a diagram showing a temporal transition of a transfer state when synchronous transfer and asynchronous transfer are mixed.

【0096】ここで、前述したように同期転送は非同期
転送より優先して実行される。その理由は、CSPの後、
非同期転送を起動するために必要なアイドル期間のギャ
ップ(サブアクションギャップ)よりも短いギャップ
(アイソクロナスギャップ)で、同期転送を起動できる
からである。従って、非同期転送より同期転送は優先し
て実行されることになる。
Here, as described above, synchronous transfer is executed prior to asynchronous transfer. The reason is that after CSP,
This is because synchronous transfer can be started with a gap (isochronous gap) shorter than the idle period gap (subaction gap) required to start asynchronous transfer. Therefore, synchronous transfer is performed with priority over asynchronous transfer.

【0097】図28に示す一般的なバスサイクルにおい
て、サイクル#mのスタート時にCSPがサイクルマスタか
ら各ノードに転送される。CSPによって、各ノードの動
作が同期され、所定のアイドル期間(同期ギャップ)を
待ってから同期転送を行おうとするノードはバスアービ
トレーションに参加し、パケット転送に入る。図28では
チャネルe、チャネルsおよびチャネルkが順に同期転送
されている。
In the general bus cycle shown in FIG. 28, CSP is transferred from the cycle master to each node at the start of cycle #m. The operation of each node is synchronized by the CSP, and a node that intends to perform synchronous transfer after waiting for a predetermined idle period (synchronization gap) participates in bus arbitration and starts packet transfer. In FIG. 28, channel e, channel s, and channel k are sequentially transferred synchronously.

【0098】このバスアービトレーションからパケット
転送までの動作を、与えられているチャネル分繰り返し
行った後、サイクル#mにおける同期転送がすべて終了
すると、非同期転送を行うことができるようになる。つ
まり、アイドル時間が、非同期転送が可能なサブアクシ
ョンギャップに達することによって、非同期転送を行い
たいノードはバスアービトレーションに参加する。ただ
し、非同期転送が行えるのは、同期転送の終了から、次
のCSPを転送すべき時間(cycle synch)までの間に、非同
期転送を起動するためのサブアクションギャップが検出
された場合に限られる。
After the operations from the bus arbitration to the packet transfer are repeatedly performed for the given channel, when all the synchronous transfers in cycle #m are completed, the asynchronous transfer can be performed. That is, when the idle time reaches a subaction gap where asynchronous transfer is possible, a node that wants to perform asynchronous transfer participates in bus arbitration. However, asynchronous transfer can be performed only when a sub-action gap to start asynchronous transfer is detected between the end of synchronous transfer and the time to transfer the next CSP (cycle synch). .

【0099】図28に示すサイクル#mでは、三つのチャ
ネル分の同期転送の後、非同期転送によりACKを含む2パ
ケット(パケット1、パケット2)が転送されている。こ
の非同期パケット2の後、サイクルm+1をスタートすべき
時間(cycle synch)に至るので、サイクル#mにおける転
送はこれで終わる。ただし、非同期または同期転送中に
次のCSPを送信すべき時間(cycle synch)に至ったら、転
送を無理に中断せず、その転送が終了した後にアイドル
期間を経て次の同期サイクルのCSPを送信する。すなわ
ち、一つの同期サイクルが125μs以上続いたときは、そ
の延長分、次の同期サイクルは基準の125μsより短縮さ
れる。このように同期サイクルは125μsを基準に超過、
短縮し得るものである。
In a cycle #m shown in FIG. 28, after synchronous transfer for three channels, two packets (packet 1 and packet 2) including ACK are transferred by asynchronous transfer. After the asynchronous packet 2, the time to start the cycle m + 1 (cycle synch) is reached, and the transfer in the cycle #m ends here. However, if it is time to send the next CSP during asynchronous or synchronous transfer (cycle synch), the transfer will not be forcibly interrupted, and after the transfer is completed, the CSP of the next synchronous cycle will be sent after an idle period. I do. That is, when one synchronization cycle lasts for 125 μs or more, the next synchronization cycle is shortened by the extension from the reference 125 μs. In this way, the synchronization cycle exceeds 125 μs,
It can be shortened.

【0100】しかし、同期転送はリアルタイム転送を維
持するために、必要であれば毎サイクル実行され、非同
期転送は同期サイクル時間が短縮されたことによって次
以降の同期サイクルに延期されることもある。サイクル
マスタは、こういった遅延情報も管理する。
However, synchronous transfer is executed every cycle if necessary in order to maintain real-time transfer, and asynchronous transfer may be postponed to the next and subsequent synchronous cycles due to the shortened synchronous cycle time. The cycle master also manages such delay information.

【0101】[0101]

【データ転送処理】[データ転送プロトコル]図29は、
1394シリアルバス上におけるデータ転送のためのプロト
コルスタックを説明するための図である。
[Data transfer processing] [Data transfer protocol]
FIG. 3 is a diagram for explaining a protocol stack for data transfer on a 1394 serial bus.

【0102】アプリケーションは、しばしば画像データ
といった大量のデータを、デバイス間でやり取りする必
要がある。そのような場合に、データ転送に関わるハー
ドウェア技術の細部、制限事項、データのエラー再転送
の処理等をアプリケーションプログラムから分離するた
めに、アプリケーションに信頼性のあるデータ転送サー
ビスを提供し、汎用的なインタフェースを定める必要が
ある。
Applications often need to exchange large amounts of data, such as image data, between devices. In such a case, provide a reliable data transfer service to the application in order to separate the details of hardware technology related to data transfer, restrictions, processing of error re-transfer of data, etc. from the application program. It is necessary to define a generic interface.

【0103】そこで本実施形態においては、アプリケー
ションプログラムがデータ転送を行なう際に、図29に示
すような階層化されたプロトコル体系を用いる。図29
は、上から順にアプリケーションレイヤ29-1、セッショ
ンレイヤ29-2、トランザクションレイヤ29-3、以下、IE
EE1394で定められた1394トランザクションレイヤ29-4、
1394フィジカルレイヤ29-5を示す。ここで、1394トラン
ザクションレイヤ29-4が上述した図3に示すトランザク
ションレイヤ814に、1394フィジカルレイヤ29-5がリン
クレイヤ812及びフィジカルレイヤ811に相当する。
Therefore, in this embodiment, when the application program performs data transfer, a hierarchical protocol system as shown in FIG. 29 is used. Figure 29
Are the application layer 29-1, the session layer 29-2, the transaction layer 29-3, and the IE
1394 transaction layer 29-4 defined by EE1394,
14 shows the 1394 physical layer 29-5. Here, the 1394 transaction layer 29-4 corresponds to the above-described transaction layer 814 shown in FIG. 3, and the 1394 physical layer 29-5 corresponds to the link layer 812 and the physical layer 811.

【0104】本実施形態においてデータを送信するデバ
イスは、以下のような動作をする。まずデータ転送アプ
リケーション29-1は、画像データ等の大量のデータを、
データ転送APIのような抽象化されたインタフェースを
用いて下位のセッションレイヤ29-2に渡す。セッション
レイヤ29-2は、アプリケーションデータを図30で定義さ
れているブロックレジスタ30-3の単位に分割し、下位の
トランザクションレイヤ29-3に順次渡していく。トラン
ザクションレイヤ29-3は、ブロックレジスタ30-3単位の
アプリケーションデータを、下位の1394トランザクショ
ンレイヤ29-4のライトトランザクションに適した単位に
分割し、1394トランザクション29-4のライトトランザク
ションサービスインタフェースを呼び出す。1394トラン
ザクションレイヤ29-4及び1394フィジカルレイヤ29-5
は、IEEE1394で定義された手段で、上記分割されたアプ
リケーションデータを他のデバイスに転送する。
In the present embodiment, the device transmitting data operates as follows. First, the data transfer application 29-1 transfers a large amount of data such as image data,
The data is passed to the lower session layer 29-2 using an abstract interface such as a data transfer API. The session layer 29-2 divides the application data into units of the block register 30-3 defined in FIG. 30, and sequentially passes the divided data to the lower transaction layer 29-3. The transaction layer 29-3 divides the application data of the block register 30-3 into units suitable for the write transaction of the lower 1394 transaction layer 29-4, and calls the write transaction service interface of the 1394 transaction 29-4. 1394 transaction layer 29-4 and 1394 physical layer 29-5
Transfers the divided application data to another device by means defined in IEEE1394.

【0105】また、データを受信するデバイスは、以下
のような動作をする。送信側から転送されてきた適切に
分割されたデータは、1394フィジカルレイヤ29-5及び13
94トランザクションレイヤ29-4により、トランザクショ
ンレイヤ29-3で定義されるデータ受信デバイスのブロッ
クレジスタ30-3に、順次書き込まれる。トランザクショ
ンレイヤ29-3は、ブロックレジスタ30-3に順次書き込ま
れてくるデータを再構成し、1ブロックレジスタ単位の
データに組み立て、上位のセッションレイヤ29-2に渡
す。セッションレイヤ29-2は、上記1ブロックレジスタ
単位のデータを順次受け取り、データストリームの形に
再構成してアプリケーション29-1に渡す。データ受信側
アプリケーション29-1は、抽象化されたインタフェース
を介して、データ送信側デバイスから画像データ等の大
量のデータを受け取る。 [レジスタ構成]図30は、図29のトランザクションレイヤ
29-3がデバイス同士でデータ転送を行うためのレジスタ
構成を示した図であり、1394シリアルバスの初期ユニッ
ト空間(図4のユニット空間で示される)に配置される。
デバイスはデータ転送を行うに先立って、転送相手のレ
ジスタが配置されているアドレス、サイズを予め知って
おり、データ転送を行うためにこれらのレジスタを使用
する。レジスタは実際のデータを書き込むブロックレジ
スタ30-3と、ブロックレジスタ30-3への書き込み制御
(書き込み完了通知)を行うためのコントロールレジスタ
30-1と、コントロールレジスタ30-1への書き込み完了通
知に対して、書き込まれたデータの正否(ACK/NACK)を返
答するためのレスポンスレジスタ30-2から構成される。
コントロールレジスタ30-1とレスポンスレジスタ30-2を
合わせて、ブロックマネージメントレジスタと呼ぶ。こ
れらのレジスタは、画像データを転送する画像供給デバ
イスと、画像データを受けて印字を行うプリンタの双方
に準備され、相互にデータ転送を行うことが可能であ
る。
The device receiving the data operates as follows. Appropriately divided data transferred from the transmission side is transmitted to the 1394 physical layers 29-5 and 13
94 The data is sequentially written into the block register 30-3 of the data receiving device defined by the transaction layer 29-3 by the transaction layer 29-4. The transaction layer 29-3 reconstructs the data sequentially written to the block register 30-3, assembles the data in units of one block register, and transfers the data to the upper session layer 29-2. The session layer 29-2 sequentially receives the data in units of one block register, reconstructs the data in the form of a data stream, and transfers the data stream to the application 29-1. The data receiving side application 29-1 receives a large amount of data such as image data from the data transmitting side device via the abstracted interface. [Register configuration] FIG. 30 shows the transaction layer of FIG.
29-3 is a diagram showing a register configuration for performing data transfer between devices, which is arranged in an initial unit space (shown as a unit space in FIG. 4) of the 1394 serial bus.
Prior to performing data transfer, the device knows in advance the address and size where the transfer destination register is located, and uses these registers to perform data transfer. The registers are the block register 30-3 to write the actual data and the write control to the block register 30-3
Control register for (write completion notification)
30-1 and a response register 30-2 for responding to the write completion notification to the control register 30-1 whether the written data is correct or not (ACK / NACK).
The control register 30-1 and the response register 30-2 are collectively referred to as a block management register. These registers are provided in both an image supply device that transfers image data and a printer that receives and prints image data, and can mutually transfer data.

【0106】図31に、図30に示したレジスタを用いたコ
マンドの転送の概要を示す。これは、画像供給デバイス
からプリンタへのコマンド転送の例であり、画像供給デ
バイスは、プリンタに送るべきコマンドデータをプリン
タ側のブロックレジスタ31-6に書き込む(コマンド31-
9)。次に、画像供給デバイスはプリンタ側のコントロー
ルレジスタ31-4にコマンドデータの転送終了を通知する
ための書き込みを行う(コントロール31-7)。プリンタ
は、正常にデータを受け取れたか否かを画像供給デバイ
スに返答するために、画像供給デバイスのレスポンスレ
ジスタにACKあるいはNACKに相当する内容を書き込む(レ
スポンス31-8)。
FIG. 31 shows an outline of command transfer using the register shown in FIG. This is an example of command transfer from the image supply device to the printer, and the image supply device writes command data to be sent to the printer to the block register 31-6 on the printer side (command 31-
9). Next, the image supply device writes into the control register 31-4 on the printer side to notify the end of the transfer of the command data (control 31-7). The printer writes the content corresponding to ACK or NACK in the response register of the image supply device in order to reply to the image supply device whether or not the data has been normally received (response 31-8).

【0107】以上の手順で、画像供給デバイスからプリ
ンタのレジスタへの、コマンドの書き込みと、該書き込
みに対する返答が行われる。プリンタからACKの返答が
画像供給デバイスのレスポンスレジスタに書き込まれれ
ば、コマンドは正常にプリンタに受け取られたことを示
し、NACKが戻された場合には、何らかの理由でデータが
正しくプリンタへ送られていないことを示す。返答がNA
CKである場合には、画像供給デバイスはエラーに対する
終了処理やコマンドの再転送処理等、何らかのエラー処
理を行う必要がある。
With the above-described procedure, the writing of the command from the image supply device to the register of the printer and the reply to the writing are performed. If the ACK response from the printer is written to the response register of the image supply device, it indicates that the command was successfully received by the printer. Indicates no. The answer is NA
In the case of CK, the image supply device needs to perform some kind of error processing such as an end processing for an error or a command retransmission processing.

【0108】図32は、図31でレジスタに書き込まれたコ
マンドに対する返答を、プリンタから画像供給デバイス
に戻す場合の手順を示している。プリンタは画像供給デ
バイスに送るべきリプライ(返答)を画像供給デバイス側
のブロックレジスタ32-3に書き込む(リプライ32-9)。次
にプリンタは、画像供給デバイス側のコントロールレジ
スタ32-1にリプライの転送終了を通知するための書き込
みを行う(コントロール32-7)。画像供給デバイスは、正
常にデータを受け取れたか否かをプリンタに返答するた
めに、画像供給デバイスのレスポンスレジスタ32-5にAC
KあるいはNACKに相当する内容を書き込む(レスポンス32
-8)。
FIG. 32 shows a procedure for returning a response to the command written in the register in FIG. 31 from the printer to the image supply device. The printer writes a reply (response) to be sent to the image supply device to the block register 32-3 on the image supply device side (reply 32-9). Next, the printer writes to the control register 32-1 of the image supply device to notify the end of the reply transfer (control 32-7). The image supply device sends an AC signal to the response register 32-5 of the image supply device to respond to the printer whether or not the data has been received normally.
Write the contents equivalent to K or NACK (Response 32
-8).

【0109】以上の手順で、プリンタから画像供給デバ
イスのレジスタへの、リプライの書き込みと、該書き込
みに対する返答が行われる。画像供給デバイスからACK
の返答がプリンタのレスポンスレジスタに書き込まれ
ば、リプライは正常に画像供給デバイスに受け取られた
ことを示し、NACKが戻された場合には、何らかの理由で
データが正しく画像供給デバイスへ送られていないこと
を示す。返答がNACKである場合には、プリンタはエラー
に対する終了処理やコマンドの再転送処理等、何らかの
エラー処理を行う必要がある。
By the above procedure, the reply is written from the printer to the register of the image supply device, and the reply to the writing is performed. ACK from image supply device
If the reply is written to the response register of the printer, it indicates that the reply was successfully received by the image supply device, and if a NACK is returned, the data is not correctly sent to the image supply device for some reason Indicates that If the response is a NACK, the printer needs to perform some kind of error processing such as termination processing for the error or command retransmission processing.

【0110】以上、図31,図32を参照して、画像供給デ
バイスからプリンタへのコマンド及びそれに対するリプ
ライの転送手順を示した。これらが一般的なコマンドと
リプライの手順である。なお、コマンドによってはリプ
ライを必要としないものも考えられ、この場合には図32
に示した手順が実行されないことになる。これらはコマ
ンドごとに決める事ができる。
The procedure for transferring a command from the image supply device to the printer and the reply to the command have been described above with reference to FIGS. These are general command and reply procedures. Some commands do not require a reply. In this case, FIG.
Will not be performed. These can be determined for each command.

【0111】図33は、ブロックレジスタ33-1と、装置が
内部的に有するバッファとの関係を示した図である。ブ
ロックレジスタ33-1と同じ大きさを持つ複数のバッファ
Blockbuffer[1]〜[n](33-2〜33-7)が装置内部に用意さ
れており、ブロックレジスタ33-1に対する書き込みが行
われると、Blockbuffer[1]〜[n]に保存される。ブロッ
クレジスタ33-1に対する書き込みは、内部バッファに空
きがある場合、書き込まれたデータをバッファに保存し
た後、次に保存ができる空きバッファがある場合に、AC
Kを画像供給デバイスに返す。バッファに空きがなくな
ると、最後のバッファに対する保存を行った後、空のバ
ッファができるまでACKは画像供給デバイスに返されな
い。
FIG. 33 is a diagram showing the relationship between the block register 33-1 and a buffer internally provided in the device. Multiple buffers with the same size as block register 33-1
Blockbuffer [1] to [n] (33-2 to 33-7) are prepared inside the device, and when writing to the block register 33-1, it is stored in the Blockbuffer [1] to [n]. . When writing to the block register 33-1, if there is free space in the internal buffer, save the written data in the buffer, and if there is a free buffer that can be saved next, the AC
Return K to the image supply device. When the buffer becomes full, ACK is not returned to the image supply device until an empty buffer is created after saving the last buffer.

【0112】画像供給デバイスにおいては、プリンタ側
にバッファの空きができてACKが戻されるまで、次のコ
マンドの転送は行えないことになる。プリンタにおいて
バッファに空きができるのは、印字を行うデータの場
合、例えばBlockbuffer[1]のデータを印字のためのデー
タに変換し、該バッファ内のデータが全部処理されると
バッファは空になり、再びブロックレジスタ33-1に書き
込まれたデータを保存することができるようになる。
In the image supply device, the transfer of the next command cannot be performed until an ACK is returned because a buffer space is made available on the printer side. The buffer in the printer can be vacant if the data to be printed is, for example, the data in Blockbuffer [1] is converted into data for printing, and the buffer becomes empty when all the data in the buffer is processed. Then, the data written in the block register 33-1 can be stored again.

【0113】図34は、上部が図30に示したコントロール
レジスタ30-1の構成を示しており、コントロールコマン
ド34-1にその制御内容が設定される。例えば、コントロ
ールコマンド34-1が01hであればBLOCK COMPLETEを表
し、すなわちブロックレジスタへの書き込み完了を示
す。
FIG. 34 shows the configuration of the control register 30-1 shown in FIG. 30 at the top, and the control contents are set in the control command 34-1. For example, if the control command 34-1 is 01h, it indicates BLOCK COMPLETE, that is, indicates that writing to the block register is completed.

【0114】また、図34の下部が図30に示したレスポン
スレジスタ30-2の構成を示しており、レスポンスコマン
ド34-2にその返答内容が設定される。例えば、レスポン
スコマンド34-2が01hであればBLOCK ACKを表し、即ちコ
ントロールレジスタ30-1へBLOCK COMPLETEが書き込まれ
た後、データが正しく受け取られたことを示し、02hで
あればBLOCK NACKを表し、即ちコントロールレジスタ30
-1へBLOCK COMPLETEが書き込まれた後、データが正しく
受け取られなかったことを示す。
The lower part of FIG. 34 shows the configuration of the response register 30-2 shown in FIG. 30, and the response content is set in the response command 34-2. For example, if the response command 34-2 is 01h, it indicates BLOCK ACK, that is, after BLOCK COMPLETE has been written to the control register 30-1, it indicates that the data has been received correctly, and if it is 02h, it indicates BLOCK NACK. , That is, the control register 30
Indicates that data was not received correctly after BLOCK COMPLETE was written to -1.

【0115】これらのコントロールコマンドとレスポン
スコマンドを用いることにより、ブロックレジスタへの
データの書き込み完了の通知とそれに対する返答を行う
ことができる。
By using these control command and response command, it is possible to notify the completion of writing data to the block register and to respond to it.

【0116】図35は、ブロックレジスタ30-3に書き込ま
れるコマンドの一般形式を示した図である。コマンド
は、その識別子であるCommandID35-1と、コマンドに付
随するParameter35-2からなる。
FIG. 35 is a diagram showing a general format of a command written in the block register 30-3. The command is composed of CommandID 35-1 as its identifier and Parameter 35-2 attached to the command.

【0117】図36は、実際のコマンドの例を示す図であ
る。同図において、左側は画像データを転送するための
コマンド(SENDコマンド)であり、CommandIDをSEND(36-
1)とし、Parameterとして、転送する画像データであるI
mage Data(36-2)を有する。このコマンドにより、画像
供給デバイスからプリンタへ印字を行うための画像デー
タの転送を行うことができる。
FIG. 36 is a diagram showing an example of an actual command. In the figure, the left side is a command (SEND command) for transferring image data, and the Command ID is SEND (36-
1), and as the Parameter, I which is the image data to be transferred
It has mage Data (36-2). With this command, image data for printing from the image supply device to the printer can be transferred.

【0118】また、図36の右側は画像供給デバイスがプ
リンタの状態を示すステイタスをプリンタから受け取る
ためのコマンド(GETSTATUSコマンド)であり、CommandID
をGETSTATUS(36-3)とし、Parameterは有しない。即ち、
GETSTATUSコマンドではParameterを必要としない。
On the right side of FIG. 36 is a command (GETSTATUS command) for the image supply device to receive status indicating the status of the printer from the printer.
Is GETSTATUS (36-3), and has no Parameter. That is,
The GETSTATUS command does not require a Parameter.

【0119】これらのコマンドが、図31のコマンド31-9
として画像供給デバイスからプリンタへ転送される。但
し、上記SENDコマンドの場合、画像データはブロックレ
ジスタ30-3の大きさに比べて大きい場合が普通であり、
この場合にはブロックレジスタ30-3に合ったサイズでの
書き込みを複数回行うことになる。
These commands correspond to the commands 31-9 in FIG.
Is transferred from the image supply device to the printer. However, in the case of the above SEND command, the image data is usually larger than the size of the block register 30-3,
In this case, writing with a size suitable for the block register 30-3 is performed a plurality of times.

【0120】図37は、図36に示したコマンドに対するリ
プライを示す図である。同図において、左側はSENDコマ
ンドに対するリプライ(SENDリプライ)である。このリプ
ライは、SENDコマンドに対してプリンタから画像供給デ
バイスにコマンドの実行ステイタスを戻すものであり、
SENDリプライ37-1と、コマンドの実行ステイタスを示す
SENDリプライステイタス37-2から構成される。
FIG. 37 is a diagram showing a reply to the command shown in FIG. In the figure, the left side is a reply to the SEND command (SEND reply). This reply returns the command execution status from the printer to the image supply device in response to the SEND command.
Indicates SEND reply 37-1 and command execution status
Consists of SEND reply status 37-2.

【0121】また、図37の右側はGETSTATUSコマンドに
対するリプライである。このリプライは、GETSTATUSコ
マンドに対してプリンタから画像供給デバイスにプリン
タのステイタスを戻すものである。
The right side of FIG. 37 is a reply to the GETSTATUS command. This reply returns the status of the printer from the printer to the image supply device in response to the GETSTATUS command.

【0122】これらのリプライが、図32のリプライ32-9
としてプリンタから画像供給デバイスへ転送される。
These replies correspond to the replies 32-9 in FIG.
Is transferred from the printer to the image supply device.

【0123】図36,図37に示したコマンドとリプライに
より、図29に示した画像供給デバイスのアプリケーショ
ンが、プリンタのアプリケーションに対してイメージデ
ータの転送による印字要求、及びプリンタのステイタス
取得を行なうことが可能となる。
By the commands and replies shown in FIGS. 36 and 37, the application of the image supply device shown in FIG. 29 issues a print request by transferring image data to the printer application and obtains the status of the printer. Becomes possible.

【0124】図38は、図37のGETSTATUSリプライで戻さ
れる、プリンタステイタス38-1の詳細を示した図であ
り、例えば、紙なし、エラー、ビジー等のステイタスを
持つことができる。画像供給デバイスはこのステイタス
により、プリンタの現在の状態を知ることができる。例
えば、画像供給デバイスにプリンタの用紙切れを知るこ
とができ、この場合には画像供給デバイスのユーザにそ
の旨を報知することもできる。また、プリンタにエラー
が発生しているような場合には、印字を行わないように
制御することも可能となる。
FIG. 38 is a diagram showing the details of the printer status 38-1 returned by the GETSTATUS reply in FIG. 37. For example, the printer status 38-1 can have status such as no paper, error, or busy. The image supply device can know the current state of the printer from this status. For example, the image supply device can be notified that the printer has run out of paper, and in this case, the user of the image supply device can be notified of the fact. Further, when an error occurs in the printer, it is possible to perform control so that printing is not performed.

【0125】図39は、SENDコマンドにより画像データ39
-1を送る際に、ブロックレジスタ31-3に対して画像デー
タ39-1のサイズが大きい場合を示す。この場合、一度に
は転送できないため、同図に示すように画像データ39-1
をブロックレジスタ30-3のサイズに合わせて分割し、複
数のコマンド39-2〜39-5として転送する。この処理は、
図29に示すセッションレイヤ29-2で行われる。以降、こ
れら分割された一回のコマンド転送を、WriteBlockと称
する。従って、大量の画像データを転送する場合、Writ
eBlockが複数回実行されることになる。尚、画像供給デ
バイスからプリンタのブロックレジスタ31-6に転送され
た画像データは、図33に示したように、プリンタ側の内
部的なバッファに保存される。
FIG. 39 shows image data 39 by the SEND command.
This shows a case where the size of the image data 39-1 is large with respect to the block register 31-3 when sending -1. In this case, since the data cannot be transferred at once, the image data 39-1 as shown in FIG.
Is divided according to the size of the block register 30-3 and transferred as a plurality of commands 39-2 to 39-5. This process
This is performed in the session layer 29-2 shown in FIG. Hereinafter, one divided command transfer is referred to as WriteBlock. Therefore, when transferring a large amount of image data, Writ
eBlock will be executed multiple times. The image data transferred from the image supply device to the printer block register 31-6 is stored in an internal buffer on the printer side as shown in FIG.

【0126】そして、セッションレイヤ29-2で制御され
てWriteBlockされる画像データはさらに、トランザクシ
ョンレイヤ29-3において、IEEE1394規格に準拠したデー
タ転送単位(1934トランザクション39-6〜39-9)に分解さ
れる。即ち1394シリアルバス上において、1394トランザ
クション39-6単位でのデータ転送が複数回行われること
により、ブロックレジスタ31-3の全ての領域への画像デ
ータの書込みが遂行される。 [一般的なデータ転送制御]図40は、Write Blockを繰り
返し行なう場合の、画像供給デバイスとプリンタの一般
的な制御手順を示す図である。画像供給デバイスはプリ
ンタに対して、分割されたコマンド単位でWriteBlockを
行う。具体的には、SENDコマンドが繰り返し転送され
る。
The image data that is WriteBlock controlled by the session layer 29-2 is further decomposed into data transfer units (1934 transactions 39-6 to 39-9) compliant with the IEEE1394 standard in the transaction layer 29-3. Is done. That is, on the 1394 serial bus, the data transfer in the unit of the 1394 transaction 39-6 is performed a plurality of times, whereby the image data is written to all the areas of the block register 31-3. [General Data Transfer Control] FIG. 40 is a diagram showing a general control procedure of an image supply device and a printer when Write Block is repeatedly performed. The image supply device performs WriteBlock on the printer in units of divided commands. Specifically, the SEND command is repeatedly transmitted.

【0127】まず、ステップS40-1において、画像供給
デバイスは第1番目のコマンドをプリンタのブロックレ
ジスタ31-6に書き込むためのWriteBlockを行なう。そし
てブロックレジスタ31-3の分のデータ書き込みが終了す
ると、ステップS40-2においてWriteBlockの完了を通知
するBLOCK COMPLETEをプリンタのコントロールレジスタ
31-4に書き込む。
First, in step S40-1, the image supply device performs a WriteBlock for writing the first command into the block register 31-6 of the printer. When the writing of the data in the block register 31-3 is completed, in step S40-2, the BLOCK COMPLETE for notifying the completion of the WriteBlock is set in the control register of the printer.
Write to 31-4.

【0128】これに対して、プリンタはバッファの空き
があり、ブロックレジスタに書き込まれたコマンドが正
常であるため、ステップS40-3でBLOCK ACKを画像供給デ
バイスへのレスポンスレジスタ31-2に書き込む。この場
合の、BLOCK COMPLETEの発生からBLOCK ACKが戻される
までの応答時間をT1で示す。このような、WriteBlockか
らBLOCK ACKまでの一連の処理(ステップS40-1〜S40-3)
により、一つのブロック単位での転送が終了する。以
降、ステップS40-4〜S40-6に示されるように、プリンタ
の空きバッファがなくなるまで、WriteBlockが繰り返さ
れる。
On the other hand, the printer has a free buffer, and the command written in the block register is normal. Therefore, in step S40-3, the printer writes BLOCK ACK in the response register 31-2 to the image supply device. In this case, the response time from the occurrence of BLOCK COMPLETE to the return of BLOCK ACK is indicated by T1. Such a series of processing from WriteBlock to BLOCK ACK (steps S40-1 to S40-3)
Thereby, the transfer in one block unit is completed. Thereafter, as shown in steps S40-4 to S40-6, WriteBlock is repeated until there is no free buffer in the printer.

【0129】プリンタは、印字動作に従って送られたデ
ータを消費してバッファを空とし、バッファの再利用を
行う。しかし、画像供給デバイスからのデータ転送がプ
リンタのバッファ消費速度よりも速い場合、空きバッフ
ァが無くなるため、ステップS40-7に示すプリンタの最
終バッファに対するWriteBlockが行われることになる。
これは、画像供給デバイスはプリンタのバッファに対す
る残り数などの情報を持たないため、BLOCK ACKが戻さ
れれば直ちにWriteBlockを実行するためである。尚、図
40は、プリンタ側がn個のバッファを有している場合を
示している。
The printer consumes the data sent in accordance with the printing operation, empties the buffer, and reuses the buffer. However, when the data transfer from the image supply device is faster than the buffer consumption speed of the printer, there is no free buffer, so the WriteBlock for the final buffer of the printer shown in step S40-7 is performed.
This is because the image supply device does not have information such as the remaining number for the buffer of the printer, and therefore immediately executes the WriteBlock when the BLOCK ACK is returned. The figure
Numeral 40 indicates a case where the printer has n buffers.

【0130】ステップS40-7において最終バッファに対
してWriteBlockが行われ、更にステップS40-8でBLOCK C
OMPLETEが転送されると、この転送によってプリンタの
バッファが一杯となるため、バッファに空きができるま
で、プリンタはBLOCK ACKを画像供給デバイスに転送で
きなくなる。そのため、通常はBLOCK COMPLETEからBLOC
K ACKまでの応答時間はT1で済んでいたのに対し、バッ
ファが空になるまでのT2時間の間、画像供給デバイスは
データ転送ができないことになる。そしてT2が経過して
プリンタからBLOCK ACKが戻された後、画像供給デバイ
スは次のデータを転送することができるようになる。即
ち、応答時間がT1よりもはるかに長いT2となってしま
う。
In step S40-7, WriteBlock is performed on the final buffer, and in step S40-8, BLOCK C is executed.
When OMPLETE is transferred, this transfer fills up the printer buffer, so that the printer cannot transfer the BLOCK ACK to the image supply device until the buffer becomes available. Therefore, usually BLOCK COMPLETE to BLOC
The response time until K ACK was T1, whereas the image supply device could not transfer data during T2 time until the buffer became empty. Then, after T2 has elapsed and BLOCK ACK is returned from the printer, the image supply device can transfer the next data. That is, the response time is T2, which is much longer than T1.

【0131】図41は、本実施形態におけるGETSTATUSコ
マンドの制御手順を示す図であり、SENDコマンドにより
画像データを転送している途中でGETSTATUSコマンドを
実行する場合処理の流れを示している。
FIG. 41 is a diagram showing a control procedure of the GETSTATUS command in the present embodiment, and shows a flow of processing when the GETSTATUS command is executed during the transfer of image data by the SEND command.

【0132】WriteBlockを繰り返し行っている間に、プ
リンタのステイタスを取る必要がある場合、GETSTATUS
コマンドは定期的に実行される。即ち、GETSTAUSコマン
ドがSENDコマンドの途中で実行される。まずステップS4
1-1〜41-6までSENDコマンドが実行され、所定時間にな
ると、ステップS41-7でGETSTATUSコマンドが実行され
る。
If it is necessary to take the status of the printer while the WriteBlock is being repeated, the GETSTATUS
Commands are executed periodically. That is, the GETSTAUS command is executed in the middle of the SEND command. First step S4
The SEND command is executed from 1-1 to 41-6, and when a predetermined time has elapsed, the GETSTATUS command is executed in step S41-7.

【0133】以下、GETSTATUSコマンド制御について詳
細に説明する。まずステップS41-8において、WriteBloc
kでGETSTATUSコマンドがプリンタのブロックレジスタに
書き込まれる。次に、ステップS41-9でBLOCK COMPLETE
がプリンタのコントロールレジスタに書き込まれる。こ
れに対して、ステップS41-10でプリンタから画像供給デ
バイスのレスポンスレジスタにBLOCK ACKが戻され、ス
テップS41-11でプリンタ側からGETSTATUSリプライが画
像供給デバイスのブロックレジスタに書き込まれる。そ
してステップS41-12において、プリンタからBLOCK COMP
LETEが画像供給デバイスのコントロールレジスタに書き
込まれ、ステップS41-13でそれに対するBLOCK ACKがプ
リンタのレスポンスレジスタに戻される。
Hereinafter, the GETSTATUS command control will be described in detail. First, in step S41-8, WriteBloc
k writes the GETSTATUS command to the printer's block register. Next, in step S41-9, BLOCK COMPLETE
Is written to the control register of the printer. In response to this, in step S41-10, the printer returns BLOCK ACK to the response register of the image supply device, and in step S41-11, the printer writes the GETSTATUS reply to the block register of the image supply device. Then, in step S41-12, the BLOCK COMP
LETE is written to the control register of the image supply device, and in step S41-13, a BLOCK ACK corresponding thereto is returned to the response register of the printer.

【0134】ステップS41-7に示す一連の処理により、G
ETSTATUSコマンドがSENDコマンド中に割り込み実行され
る。そしてGETSTATUSコマンドの実行後、ステップS41-1
4〜S41-16において、中断されていたSENDコマンドが再
開される。即ち、SENDコマンドの間にGETSTATUSコマン
ドが割り込んで実行され、GETSTATUSコマンドの終了を
待って、SENDコマンドが再開される。
By the series of processing shown in step S41-7, G
ETSTATUS command is interrupted during SEND command. After executing the GETSTATUS command, step S41-1
In steps 4 to S41-16, the suspended SEND command is resumed. That is, the GETSTATUS command is interrupted and executed during the SEND command, and the SEND command is restarted after the GETSTATUS command is completed.

【0135】従って画像供給デバイスは、SENDコマンド
の実行中であってもGETSTATUSコマンドによってプリン
タの現在のステイタスを得ることができ、プリンタの状
況を確認しながらデータ転送を行うことができる。この
GETSTATUSコマンドの割り込み処理は、図29に示すアプ
リケーションレイヤ29-1から指示され、セッションレイ
ヤ29-2で処理される。即ち、画像供給デバイスのアプリ
ケーションがSENDコマンドをセッションレイヤに指示し
た後、特定の時間ごとに、プリンタのステイタスを得る
ために、アプリケーションがセッションレイヤに対して
GETSTATUSコマンドを発行することを意味している。
Therefore, the image supply device can obtain the current status of the printer by the GETSTATUS command even during execution of the SEND command, and can perform data transfer while checking the status of the printer. this
The interrupt processing of the GETSTATUS command is instructed from the application layer 29-1 shown in FIG. 29, and is processed by the session layer 29-2. That is, after the application of the image supply device instructs the session layer to send a SEND command, at a specific time, in order to obtain the status of the printer, the application sends a command to the session layer.
This means issuing a GETSTATUS command.

【0136】しかし、図41に示した例においてGETSTAUS
コマンドが実行できるのは、プリンタのバッファに空き
がある場合に限られる。例えば、図40のステップS40-8
〜S40-9に示した、WriteBlockが行なえない応答時間T2
の間に、GETSTATUSコマンドを実行する時間になってし
まった場合には、GETSTATUSコマンドが転送できないと
いう不都合が生じる。これは上述したように、プリンタ
側に空きバッファが無いためであり、この応答時間T2が
長ければ、一定の時間毎にプリンタのステイタスを得る
ことができなくなってしまう。このように、プリンタ側
におけるバッファの残り数によっては、プリンタステイ
タスが定期的に得られないという問題が生じてしまうこ
とがある。
However, in the example shown in FIG. 41, GETSTAUS
Commands can only be executed if there is free space in the printer buffer. For example, step S40-8 in FIG.
Response time T2 that WriteBlock cannot perform, shown in ~ S40-9
If it is time to execute the GETSTATUS command during this time, there is a disadvantage that the GETSTATUS command cannot be transferred. This is because there is no empty buffer on the printer side as described above, and if the response time T2 is long, it becomes impossible to obtain the status of the printer at regular intervals. As described above, depending on the number of remaining buffers on the printer side, a problem that the printer status cannot be obtained periodically may occur.

【0137】[0137]

【本実施形態におけるデータ転送処理】[ダミー処理概
要]本実施形態は、上述した図29〜図41を参照して説明
した一般的なコマンド転送における問題を解決する。以
下、この解決方法について詳細に説明する。尚、以下の
説明は、上述した図34,図40を適当に変更したものであ
り、図29〜図41の他の図については同様である。
[Data transfer processing in this embodiment] [Summary of dummy processing] This embodiment solves the problem in the general command transfer described with reference to FIGS. 29 to 41 described above. Hereinafter, this solution will be described in detail. In the following description, the above-described FIGS. 34 and 40 are appropriately modified, and the same applies to the other drawings in FIGS. 29 to 41.

【0138】本実施形態においては、上述した図34で示
したコントロールレジスタ30-1及びレスポンスレジスタ
30-3の構成を、図42に示すように変更したことを特徴と
する。図42の下部はレスポンスレジスタ30-3の構成を示
すが、BLOCK count42-3が追加されていることを特徴と
する。BLOCK count42-3は、プリンタ側が持つ空きバッ
ファの数を設定する部分であり、従って本実施形態にお
いては、プリンタはWriteBlockに対するACK/NACKの他
に、BLOCK countを画像供給デバイスに戻すことができ
る。
In this embodiment, the control register 30-1 and the response register 30-1 shown in FIG.
The configuration of 30-3 is changed as shown in FIG. The lower part of FIG. 42 shows the configuration of the response register 30-3, which is characterized in that a BLOCK count 42-3 is added. The BLOCK count 42-3 is a part for setting the number of empty buffers of the printer. Therefore, in this embodiment, the printer can return the BLOCK count to the image supply device in addition to the ACK / NACK for the WriteBlock.

【0139】図43は、上述した図36で示したSENDコマン
ド及びGETSTATUSコマンドの他に、本実施形態で追加さ
れるDUMMYBLOCKコマンド(以下、単にDUMMYコマンドと称
する)を示す。これは画像供給デバイスからプリンタに
送られるコマンドであり、画像供給デバイスはプリンタ
から戻されるレスポンスにおいてBLOCK count42-3で示
される空きブロック数が予め定められた数よりも少なく
なった場合に、SENDのコマンドに代わってプリンタに送
り出される。プリンタ側は、このDUMMYコマンドを受け
取ると、内部のブロックバッファ33-2〜33-7に保存を行
わず、かつ空きバッファの数を変えずに、BLOCK ACK,N
ACKを画像供給デバイスのレスポンスレジスタ31-2に戻
す。このように、DUMMYコマンドは対応するリプライを
持たないコマンドである。尚、DUMMYコマンド処理の詳
細について後述する。 [DUMMYコマンド制御手順]本実施形態においては、上述
した図40に示したWriteBlockのリピート処理を、図44に
示すように変更したことを特徴とし、その差異は以下の
点にある。まず、図40のステップS40-3等で示したBLOCK
ACK返答に対して、図44のステップS44-3のBLOCK ACK返
答においては残りバッファ数を示すBLOCK count42-3が
セットされている点である。そして更に、図40では、ス
テップS40-7で示した最終バッファへのWriteBlockとス
テップS40-9でBLOCK ACKが戻されるまでの応答時間T2は
転送待ちの状態となるのに対して、図44では、ステップ
S44-9でBLOCK countが1としてBLOCK ACKが戻された場
合、BLOCK countがm(mは1以外の値)でBLOCK ACKが戻さ
れるまで、ステップS44-10のダミー処理を行う点であ
る。
FIG. 43 shows, in addition to the SEND command and the GETSTATUS command shown in FIG. 36 described above, a DUMMYBLOCK command (hereinafter, simply referred to as a DUMMY command) added in this embodiment. This is a command sent from the image supply device to the printer.If the number of empty blocks indicated by BLOCK count 42-3 in the response returned from the printer becomes smaller than the predetermined number, the image supply device Sent to printer in place of command. When the printer receives this DUMMY command, it does not store the data in the internal block buffers 33-2 to 33-7, and does not change the number of empty buffers to BLOCK ACK, N.
ACK is returned to the response register 31-2 of the image supply device. Thus, the DUMMY command is a command having no corresponding reply. The details of the DUMMY command processing will be described later. [DUMMY Command Control Procedure] The present embodiment is characterized in that the above-described WriteBlock repeat processing shown in FIG. 40 is changed as shown in FIG. 44, and the difference lies in the following points. First, the BLOCK shown in step S40-3 in FIG.
In contrast to the ACK response, the BLOCK ACK response of step S44-3 in FIG. 44 is that a BLOCK count 42-3 indicating the number of remaining buffers is set. Further, in FIG. 40, the WriteBlock to the final buffer shown in step S40-7 and the response time T2 until the BLOCK ACK is returned in step S40-9 are in a transfer waiting state, whereas in FIG. , Step
When the BLOCK ACK is returned with the BLOCK count set to 1 in S44-9, the dummy processing in step S44-10 is performed until the BLOCK ACK is returned with the BLOCK count set to m (m is a value other than 1).

【0140】以下、本実施形態におけるダミー処理につ
いて説明する。まずステップS44-11において、画像供給
デバイスがBLOCK ACKのBLOCK countが1となったことを
判断して、SENDコマンドに代えてDUMMYコマンドをプリ
ンタのブロックレジスタに書き込む。そしてステップS4
4-12においてWriteBlockの完了を通知するBLOCK COMPLE
TEをプリンタのコントロールレジスタに書き込む。する
とステップS44-13で画像供給デバイスのレスポンスレジ
スタにBLOCK ACKが戻されるが、このBLOCK ACKにセット
されたBLOCK countが1である限り、ステップS44-13〜S4
4-14に示すように、プリンタのブロックレジスタへのDU
MMYコマンドの書き込みを継続する。
Hereinafter, the dummy processing in this embodiment will be described. First, in step S44-11, the image supply device determines that the BLOCK count of BLOCK ACK has become 1, and writes a DUMMY command in place of the SEND command in the block register of the printer. And step S4
BLOCK COMPLE notifying of completion of WriteBlock in 4-12
Write TE to the control register of the printer. Then, in step S44-13, BLOCK ACK is returned to the response register of the image supply device, but as long as the BLOCK count set in this BLOCK ACK is 1, steps S44-13 to S4
As shown in 4-14, DU to the printer block register
Continue writing the MMY command.

【0141】尚、プリンタ側においては、ブロックレジ
スタにDUMMYコマンドが書き込まれるとDUMMYコマンドで
あることを判定し、該DUMMYコマンドをバッファに保存
せずにBLOCK ACKを戻す。従って、返答する時点の空き
バッファの数がBLOCK countとして戻されるため、空き
バッファが増えていればBLOCK countは増え、空きバッ
ファが増えていなければ引き続きBLOCK countに1をセッ
トしてBLOCK ACKを戻す。
When the DUMMY command is written in the block register, the printer determines that the command is a DUMMY command, and returns BLOCK ACK without storing the DUMMY command in the buffer. Therefore, since the number of free buffers at the time of reply is returned as BLOCK count, if the number of free buffers increases, the BLOCK count increases.If the number of free buffers does not increase, BLOCK count is continuously set to 1 and BLOCK ACK is returned .

【0142】画像供給デバイスにおいては、ステップS4
4-16でBLOCK ACKのBLOCK countに1以外の数がセットさ
れて戻されると、ステップS44-17〜S44-22において、ダ
ミー処理で中断されていたSENDコマンドの転送処理を再
開する。
In the image supply device, step S4
If a value other than 1 is set to the BLOCK count of the BLOCK ACK and returned in 4-16, in steps S44-17 to S44-22, the transfer processing of the SEND command interrupted by the dummy processing is restarted.

【0143】以上、図44において示したように本実施形
態においては、プリンタ側のバッファが空くまでダミー
処理を行うことができる。従って、プリンタ側のバッフ
ァに空きがない状態であっても、以下に示すようにGETS
TATUSコマンドを実行することができる。 [DUMMY,GETSTATUSコマンド制御手順]以下、図45に本実
施形態におけるDUMMYコマンド及びGETSTATUSコマンドの
制御手順を示す。上述したように、図44のステップS44-
9においてBLOCK countが1となった場合に、本実施形態
のダミー処理が実行される。図45においては、ステップ
S45-5がダミー処理を、ステップS45-8がダミー処理中に
おけるGETSTATUSコマンド実行処理を示す。以下、ステ
ップS45-8におけるダミー処理中のGETSTATUSコマンド実
行処理について詳細に説明する。
As described above, in the present embodiment, as shown in FIG. 44, dummy processing can be performed until the buffer on the printer side becomes empty. Therefore, even if the buffer on the printer side is full, the GETS
TATUS command can be executed. [DUMMY, GETSTATUS command control procedure] FIG. 45 shows a control procedure of the DUMMY command and the GETSTATUS command in the present embodiment. As described above, step S44- in FIG.
When the BLOCK count becomes 1 in 9, the dummy processing of the present embodiment is executed. In FIG. 45, steps
S45-5 shows the dummy processing, and step S45-8 shows the GETSTATUS command execution processing during the dummy processing. Hereinafter, the GETSTATUS command execution processing during the dummy processing in step S45-8 will be described in detail.

【0144】ステップS45-5に示すダミー処理の間に、
画像供給デバイスがプリンタのステイタスを取り込むべ
き時期となった場合、画像供給デバイスはプリンタのブ
ロックレジスタに書き込んでいたDUMMYコマンドに代え
て、GETSTATUSコマンドの書き込み(ステップS45-9)を行
う。尚、GETSTATUSコマンドの実行処理は、上述した図4
1と同様であるため、説明を省略する。
During the dummy processing shown in step S45-5,
When it is time for the image supply device to take in the status of the printer, the image supply device writes a GETSTATUS command (step S45-9) in place of the DUMMY command written in the block register of the printer. Note that the execution processing of the GETSTATUS command is the same as that shown in FIG.
Since it is the same as 1, the description is omitted.

【0145】そしてステップS45-11において、GETSTATU
Sコマンドに対して戻されたBLOCK ACKにセットされたBL
OCK countが依然として1であれば、GETSTATUSコマンド
処理の実行後も、ステップS45-15〜S45-17に示すよう
に、BLOCK countが1以外になるまでDUMMYコマンド処理
が実行される。
Then, in step S45-11, GETSTATU
BL set in BLOCK ACK returned for S command
If the OCK count is still 1, after the execution of the GETSTATUS command processing, the DUMMY command processing is executed until the BLOCK count becomes other than 1 as shown in steps S45-15 to S45-17.

【0146】ステップS45-17においてBLOCK countが1以
外の数が戻されると、ステップS45-18以降、上述した図
44において説明したのと同様に、SENDコマンドの処理が
再開される。
If the BLOCK count is returned to a value other than 1 in step S45-17, the process proceeds to step S45-18 and thereafter.
Processing of the SEND command is resumed as described at 44.

【0147】以上、図44,図45を参照して説明したよう
に本実施形態においては、まずプリンタ側のバッファの
残り数を知ることができ、その残り数が1となった場合
にダミー処理が実行される。ダミー処理中、プリンタ側
ではDUMMYコマンドがバッファに保存されることが無い
ため、残りバッファ数が減ることは無い。従って、ダミ
ー処理中にGETSTATUSコマンド等の他のコマンドをブロ
ックレジスタに書き込むことができる。即ち、図40に示
す例においては、空きバッファがない間、即ち応答時間
T2の間は、GETSTATUSコマンドを割り込んで発行するこ
とができなかったが、本実施形態ではDUMMYコマンドを
設けたことにより、空きバッファがなくてもGETSTATUS
コマンドを割り込み発行することができる。尚、この際
の画像供給デバイス、プリンタの各処理の詳細について
は、後述する。 [SEND前のDUMMYコマンド制御手順]図46は、本実施形態
におけるSENDコマンド前のDUMMYコマンドの制御手順を
示す図であり、即ち、一番最初のSENDコマンドを実行す
る前にDUMMYコマンドを送る場合の手順を示す。
As described above with reference to FIGS. 44 and 45, in the present embodiment, the remaining number of buffers on the printer side can be first known, and when the remaining number becomes 1, dummy processing is performed. Is executed. During the dummy processing, since the DUMMY command is not stored in the buffer on the printer side, the number of remaining buffers does not decrease. Therefore, other commands such as the GETSTATUS command can be written to the block register during the dummy processing. That is, in the example shown in FIG.
During T2, the GETSTATUS command could not be interrupted and issued, but in this embodiment, the GETSTATUS command is provided even if there is no free buffer due to the provision of the DUMMY command.
Commands can be issued as interrupts. The details of each processing of the image supply device and the printer at this time will be described later. [DUMMY Command Control Procedure Before SEND] FIG. 46 is a diagram showing a control procedure of the DUMMY command before the SEND command in the present embodiment, that is, a case where the DUMMY command is sent before the first SEND command is executed. The procedure will be described.

【0148】図46において、ステップS46-4が最初のSEN
Dコマンドであり、それに先立ってステップS46-1〜S46-
3においてDUMMY処理が行われる。このように、まずDUMM
Yコマンド処理を最初に行うことにより、バッファがま
だSENDコマンドによって使用されていない状態であるた
め、ステップS46-3で戻されるBLOCK countnがプリンタ
の持つバッファの総数を示すため、SENDコマンドを開始
する前に、プリンタが持つバッファの総数を知ることが
できる。即ち、バッファの使用を開始するのに先立っ
て、バッファの総数を知ることが可能となる。
In FIG. 46, step S46-4 is the first SEN
This is a D command, and prior to that, steps S46-1 to S46-
At 3, the DUMMY processing is performed. Thus, first DUMM
Since the buffer is not yet used by the SEND command by performing the Y command processing first, the SEND command is started because the BLOCK countn returned in step S46-3 indicates the total number of buffers held by the printer. First, the total number of buffers in the printer can be known. That is, it is possible to know the total number of buffers before starting to use the buffers.

【0149】例えばプリンタがバッファを1つしか持た
ない場合にダミー処理を実行すると、SENDコマンドがい
つまでも実行されず、DUMMYコマンドが無限に繰り返さ
れてしまうことが考えられる。従って、図46に示すよう
に、SENDコマンドに先立ってDUMMYコマンドを実行する
ことで、プリンタのバッファ数が1である場合にはダミ
ー処理を行わないように制御することができる。 [トラフィック効率化]図47は、上述した図44でも説明し
た、DUMMYコマンドの制御手順を示す図であり、BLOCK C
OMPLETEに対するBLOCK ACKの応答時間がT1であることを
示す。このように、画像供給デバイスはBLOCK ACKがBLO
CK countが1にセットされて戻る限りにおいて、プリン
タ側のブロックレジスタへのDUMMYコマンドの書き込み
を繰り返す。
For example, if dummy processing is executed when the printer has only one buffer, the SEND command is not executed forever, and the DUMMY command may be repeated indefinitely. Therefore, as shown in FIG. 46, by executing the DUMMY command prior to the SEND command, it is possible to control not to perform dummy processing when the number of buffers in the printer is one. [Traffic Efficiency] FIG. 47 is a diagram showing a control procedure of the DUMMY command, which has been described in FIG.
Indicates that the response time of the BLOCK ACK to OMPLETE is T1. In this way, the image supply device sets BLOCK ACK to BLO
As long as CK count is set to 1 and returned, writing of the DUMMY command to the block register on the printer side is repeated.

【0150】ここで、応答時間T1が短いとダミー処理が
数多く実行されることになり、バス上のトラフィックを
無駄に増加させることになる。これを画像供給デバイス
側において解決するには、BLCOK ACK後、次のDUMMYコマ
ンドをブロックレジスタに書き込むまでにタイマによっ
て時間計測を行い、ブロックレジスタにDUMMYコマンド
が書き込まれる回数を調整する方法が考えられる。しか
し、この方法では画像供給デバイスの処理が増え、複雑
になってしまう。
Here, if the response time T1 is short, a large number of dummy processes will be executed, and traffic on the bus will be increased unnecessarily. To solve this on the image supply device side, after BLCOK ACK, a method of measuring the time by a timer until writing the next DUMMY command to the block register and adjusting the number of times the DUMMY command is written to the block register can be considered. . However, in this method, the processing of the image supply device increases, and the processing becomes complicated.

【0151】そこで本実施形態においては以下に示す方
法により、1394シリアルバス上のトラフィックの効率化
を実現する。
Therefore, in the present embodiment, the efficiency of traffic on the 1394 serial bus is realized by the following method.

【0152】図48は、本実施形態においてトラフィック
の増加を抑制するためのDUMMYコマンド制御手順を示す
図である。図48においては、プリンタがBLOCK COMPLETE
に対してBLOCK ACKを戻すまで(ステップS48-2〜S48-3
等)の応答時間を、T1よりも長いT1'に調整することを特
徴とする。これにより、画像供給デバイス側ではBLOCKA
CKが戻ればすぐにDUMMYコマンドをプリンタのブロック
レジスタへ書き込むことができる。
FIG. 48 is a diagram showing a DUMMY command control procedure for suppressing an increase in traffic in this embodiment. In FIG. 48, the printer is BLOCK COMPLETE
Until the BLOCK ACK is returned (steps S48-2 to S48-3
Etc.) is adjusted to T1 ′ longer than T1. As a result, the BLOCKA
As soon as CK returns, the DUMMY command can be written to the printer's block register.

【0153】また、応答時間T1’をプリンタ側で制御で
きるため、印字速度やバッファの消費速度等、プリンタ
側の条件を考慮してT1'を調整することができる。この
ように本実施形態においては、プリンタ側で応答時間を
T1'に調整するだけで、画像供給デバイス側に処理を追
加することなく、1394シリアルバス上のトラフィックの
効率化を実現することができる。
Since the response time T1 'can be controlled on the printer side, T1' can be adjusted in consideration of conditions on the printer side, such as the printing speed and the consumption speed of the buffer. As described above, in the present embodiment, the response time is set on the printer side.
By simply adjusting to T1 ', it is possible to realize more efficient traffic on the 1394 serial bus without adding processing to the image supply device side.

【0154】以下、本実施形態におけるデータ転送処理
に関し、画像供給デバイス側及びプリンタ側のそれぞれ
について詳細に説明する。 [画像供給デバイスにおける画像転送処理]図49は、本実
施形態の画像供給デバイスにおける画像転送処理を示す
フローチャートである。ここで画像転送処理は、画像供
給デバイスがプリンタに対して画像データを転送しプリ
ンタで印字を行う処理であり、まずステップS500におい
て、DUMMYコマンド書込み処理を行う。これは上述した
図46において説明したように、相手のバッファの数を確
認するための処理である。次にステップS501において、
ステップS500で戻されたBLOCK countが1であるか否かを
判定し、1であればステップS502へ進んでENADUMMYSENDf
lagを0にセットする。ここでENADUMMYSENDflagは、DUMM
Y処理を行うか否かを判定するためのフラグであり、0な
らばダミー処理は行わず、1であればダミー処理を行う
ことを示す。ステップS501においてBLOCK countが1でな
ければ、ステップS503へ進んでENADUMMYSENDflagを1に
セットする。そしてステップS504に進み、後述するSEND
コマンド処理を実行する。
Hereinafter, the data transfer processing in the present embodiment will be described in detail for each of the image supply device side and the printer side. [Image Transfer Process in Image Supply Device] FIG. 49 is a flowchart showing an image transfer process in the image supply device of the present embodiment. Here, the image transfer process is a process in which the image supply device transfers image data to the printer and prints the image data. First, in step S500, a DUMMY command writing process is performed. This is a process for confirming the number of buffers of the other party as described with reference to FIG. 46 described above. Next, in step S501,
It is determined whether the BLOCK count returned in step S500 is 1 or not, and if it is 1, the flow proceeds to step S502 and ENADUMMYSENDf
Set lag to 0. Where ENADUMMYSENDflag is DUMM
This is a flag for determining whether or not to perform the Y processing. If the flag is 0, the dummy processing is not performed. If the flag is 1, the dummy processing is performed. If the BLOCK count is not 1 in step S501, the flow advances to step S503 to set ENADUMMYSENDflag to 1. Then, the process proceeds to step S504, and SEND described later
Execute command processing.

【0155】図50は、上記ステップS504における画像供
給デバイスのSENDコマンド処理の詳細を示すフローチャ
ートである。まずステップS600において、SNEDコマンド
処理中にGETSTATUSコマンドの要求があったか否かの判
定を行う。本実施形態においては、タイマ処理により一
定時間ごとにGETSTATUSコマンドの割り込みがかかり、G
ETSTATUSコマンド要求が設定される。このGETSTATUSコ
マンドの割り込みの詳細については後述する。ステップ
S600でGETSTATUSコマンド要求があれば、ステップS601
へ進んでGETSTAUSコマンド処理を実行する。これは上述
した図38で説明したプリンタのステイタスを取り出す処
理であり、SNEDコマンド実行中にプリンタにエラーや異
常がないかを確認するために利用される。
FIG. 50 is a flowchart showing details of the SEND command processing of the image supply device in step S504. First, in step S600, it is determined whether a GETSTATUS command has been requested during the SNED command processing. In the present embodiment, the GETSTATUS command is interrupted at regular time intervals by timer processing, and G
ETSTATUS command request is set. Details of the interruption of the GETSTATUS command will be described later. Steps
If there is a GETSTATUS command request in S600, step S601
Go to and execute GETSTAUS command processing. This is a process for retrieving the status of the printer described with reference to FIG. 38 described above, and is used to confirm whether there is an error or abnormality in the printer during execution of the SNED command.

【0156】ステップS601のGETSTATUSコマンド処理が
終了すると、処理はステップS600にもどる。ステップS6
00でGETSTATUSコマンド要求がなければ、ステップS602
へ進んでBLOCK countが1であるかをチェックする。BLOC
K countが1であれば、プリンタの持つ空きバッファが残
り1つであることを示しており、ステップS603へ進んでE
NADUMMYflagが1であるかをチェックする。ENADUMMYBLOC
KflagはDUMMYコマンド処理が実行可能であるか否かを示
すフラグであり、上述した図49のステップS502,S503に
おいて、プリンタ側の持つ空きバッファの総数に応じて
その設定がなされる。ステップS603でENADUMMYBLOCKfla
gが1でなければ、DUMMYコマンド処理は行わずにステッ
プS600へ戻る。この処理は、本実施形態において図46に
示した、プリンタ側のバッファの総数が1である場合にD
UMMYコマンド処理を行わないようにする処理に相当す
る。ステップS603でENADUMMYBLOCKflagが1であれば、ス
テップS604へ進んで、上述した図45においてステップS4
5-4で示したDUMMYコマンドの転送処理を実行する。即
ち、プリンタ側のバッファ総数が1以上でBLOCK countが
1となった(プリンタの残り空きバッファが1となっ
た)場合に、DUMMYコマンドの転送処理を行う。そして
次にステップS606へ進む。
When the processing of the GETSTATUS command in step S601 ends, the processing returns to step S600. Step S6
If there is no GETSTATUS command request in 00, step S602
Go to and check if the BLOCK count is 1. BLOC
If K count is 1, it indicates that there is only one free buffer remaining in the printer, and the process proceeds to step S603 and E
Check if NADUMMYflag is 1. ENADUMMYBLOC
Kflag is a flag indicating whether or not the DUMMY command processing is executable. In steps S502 and S503 in FIG. 49 described above, the setting is performed according to the total number of empty buffers of the printer. ENADUMMYBLOCKfla in step S603
If g is not 1, the process returns to step S600 without performing the DUMMY command processing. This processing is performed when the total number of buffers on the printer side is 1 as shown in FIG.
This is equivalent to processing for preventing the UMMY command processing from being performed. If ENADUMMYBLOCKflag is 1 in step S603, the process proceeds to step S604, and in step S4 in FIG. 45 described above.
The transfer processing of the DUMMY command shown in 5-4 is executed. That is, if the total number of buffers on the printer side is 1 or more and the BLOCK count is
When the value becomes 1 (the remaining free buffer of the printer becomes 1), the transfer process of the DUMMY command is performed. Then, the process proceeds to step S606.

【0157】一方、ステップS602においてBLOCK count
が1でなければステップS605へ進み、SENDコマンドの転
送処理を実行する。これは、上述した図45においてステ
ップS45-1,S45-18,S45-21に相当し、プリンタへ画像
データを送る処理である。ここで、画像データが1つの
バッファに収まらないような場合、上述した図39で示し
たように、該イメージデータは複数のSNEDコマンドに分
割されてプリンタのブロックレジスタに書き込まれる。
ステップS605は分割された画像データの1つを書き込む
処理に相当し、ステップS605が繰り返し実行されること
により、画像データ全体が転送される。
On the other hand, in step S602, BLOCK count
If is not 1, the process proceeds to step S605 to execute a SEND command transfer process. This corresponds to steps S45-1, S45-18, and S45-21 in FIG. 45 described above, and is a process of transmitting image data to the printer. If the image data does not fit in one buffer, the image data is divided into a plurality of SNED commands and written into the block register of the printer as shown in FIG.
Step S605 corresponds to a process of writing one of the divided image data, and the entire image data is transferred by repeatedly executing step S605.

【0158】次にステップS606へ進み、プリンタ側のコ
ントロールレジスタにBLOCK COMPLETEを書き込む。この
BLOCK COMPLETEの書き込みにより、ブロックレジスタへ
のデータ書き込みの終了がプリンタ側に通知される。
The flow advances to step S606 to write BLOCK COMPLETE into the control register on the printer side. this
By writing the BLOCK COMPLETE, the end of the data writing to the block register is notified to the printer.

【0159】次にステップS607へ進み、タイムアウトか
どうかをチェックする。即ち、ステップS606でプリンタ
のコントロールレジスタにBLOCK COMPLETEを書き込んで
から、画像供給デバイスのレスポンスレジスタにBLOCK
ACK/NACKが戻されるまでの時間をタイマにより計測し、
所定時間が経過してもBLOCK ACK/NACKが戻されない場合
に、タイムアウトとなる。ステップS607でタイムアウト
ととなった場合、ステップS608へ進みタイムアウト処理
を行なう。ここでタイムアウト処理は、ユーザに何らか
の理由でタイムアウトが発生し、プリンタへのデータ送
信がうまくいかなかったことを報知したり、プリンタへ
のデータ転送処理を終了する処理である。タイムアウト
処理後、SENDコマンド処理は終了する。
Then, the flow advances to step S607 to check whether a timeout has occurred. That is, after writing BLOCK COMPLETE in the control register of the printer in step S606, BLOCK COMPLETE is written in the response register of the image supply device.
Measure the time until the ACK / NACK is returned by the timer,
If a BLOCK ACK / NACK is not returned even after a predetermined time has elapsed, a timeout occurs. If a timeout has occurred in step S607, the process proceeds to step S608 to perform a timeout process. Here, the time-out process is a process for notifying the user that a time-out has occurred for some reason and the data transmission to the printer has not been successful, or terminating the data transfer process to the printer. After the timeout processing, the SEND command processing ends.

【0160】ステップS607においてタイムアウトでない
場合、ステップS609へ進んでプリンタから画像供給デバ
イスのレスポンスレジスタにBLOCK NACKが戻されたか否
かをチェックする。BLOCK NACKが戻された場合、プリン
タへ送ったデータに何らかの不具合があったため、ステ
ップS610のNACK処理へ進む。ステップS610のNACK処理
は、タイムアウト処理と同様に何らかの理由でプリンタ
へのデータ送信がうまくいかなかったため、プリンタへ
のデータ転送処理を終了することを行う。NACK処理後、
SENDコマンド処理は終了する。
If the timeout has not occurred in step S607, the flow advances to step S609 to check whether BLOCK NACK has been returned from the printer to the response register of the image supply device. If BLOCK NACK is returned, there is some problem in the data sent to the printer, and the process proceeds to NACK processing in step S610. In the NACK processing in step S610, data transmission to the printer is terminated because data transmission to the printer did not succeed for some reason as in the time-out processing. After NACK processing
SEND command processing ends.

【0161】ステップS609においてBLOCK NACKでない場
合、ステップS611へ進んでプリンタからBLOCK ACKが戻
されたか否かをチェックし、BLOCK ACKでなければステ
ップS607へ戻る。BLOCK ACKならばステップS612へ進
み、SNEDコマンドが終了したか否かをチェックする。終
了でなければステップS600へ戻り、上述した処理を繰り
返す。一方、ステップS612でSENDコマンドが終了してい
れば、SENDコマンド処理は終了となる。
If it is not BLOCK NACK in step S609, the flow advances to step S611 to check whether or not a BLOCK ACK has been returned from the printer. If not, the flow returns to step S607. If it is BLOCK ACK, the process advances to step S612 to check whether the SNED command has been completed. If not, the process returns to step S600 to repeat the above-described processing. On the other hand, if the SEND command has been completed in step S612, the SEND command processing ends.

【0162】以上、図50を参照して説明したように、本
実施形態の画像供給デバイスにおいては、SNED,DUMMY
コマンドの実行とSENDコマンド実行中のGETSTATUSコマ
ンドの処理が行えることが分かる。これは、上述した図
45で説明したDUMMY,GETSTATUSコマンド制御手順におい
て画像供給デバイス側の手順に相当する処理である。
As described above with reference to FIG. 50, in the image supply device of the present embodiment, SNED, DUMMY
It can be seen that the execution of the command and the processing of the GETSTATUS command during the execution of the SEND command can be performed. This is the figure above
This is processing corresponding to the procedure on the image supply device side in the DUMMY, GETSTATUS command control procedure described in 45.

【0163】図51は、上述した図50のステップS601に示
したGETSTATUSコマンド処理の詳細を示すフローチャー
トであり、即ち、画像供給デバイスが、プリンタからス
テイタスを受け取るためのコマンドをプリンタ側のブロ
ックレジスタに書き込む処理である。まずステップS700
において、GETSTATUSコマンドをプリンタ側のブロック
レジスタに書き込む。これは、上述した図45のステップ
S45-9に相当する。次にステップS701へ進み、プリンタ
のコントロールレジスタにBLOCK COMPLETEを書き込む。
これは、図45のステップS45-10に相当する。次にステッ
プS702へ進み、タイムアウトか否かをチェックする。即
ち、ステップS701でプリンタのコントロールレジスタに
BLOCK COMPLETEを書き込んでからプリンタからレスポン
スレジスタにBLOCK ACK/NACKが戻されるまでの応答時間
を計測し、所定時間が経過してもBLOCK ACK/NACKが戻さ
れない場合にタイムアウトとなる。ステップS702でタイ
ムアウトとなった場合、ステップS703へ進んでタイムア
ウト処理を行なう。このタイムアウト処理は、図50に示
したステップS608と同様である。タイムアウト処理後、
GETSTATUSコマンド処理は終了する。
FIG. 51 is a flowchart showing the details of the GETSTATUS command processing shown in step S601 in FIG. 50 described above. That is, the image supply device sends a command for receiving status from the printer to the block register on the printer side. This is the writing process. First step S700
In, a GETSTATUS command is written to a block register on the printer side. This is the step in FIG. 45 described above.
It corresponds to S45-9. Next, the process proceeds to step S701, where BLOCK COMPLETE is written to the control register of the printer.
This corresponds to Step S45-10 in FIG. Next, the process proceeds to step S702, and it is checked whether a timeout has occurred. That is, in step S701, the
The response time from when the BLOCK COMPLETE is written to when the BLOCK ACK / NACK is returned from the printer to the response register is measured. If the BLOCK ACK / NACK is not returned even after the predetermined time has elapsed, a timeout occurs. If a timeout has occurred in step S702, the process proceeds to step S703 to perform a timeout process. This timeout process is the same as step S608 shown in FIG. After timeout processing,
The GETSTATUS command processing ends.

【0164】ステップS702でタイムアウトでなければス
テップS704へ進み、プリンタから画像供給デバイスのレ
スポンスレジスタにBLOCK NACKが戻されたか否かをチェ
ックする。BLOCK NACKが戻された場合、プリンタへ送っ
たデータに何らかの不具合があったため、ステップS705
のNACK処理へ進む。このNACK処理は、図50のステップS6
10と同様である。NACK処理後、GETSTATUSコマンド処理
は終了する。ステップS704でBLOCK NACKでなければステ
ップS706へ進み、プリンタからBLOCK ACKが戻されたか
否かをチェックする。BLOCK ACKでなければステップS70
2へ戻る。以上、ステップS702〜S706までの処理は、図4
5のステップS45-11に相当する。
If a timeout has not occurred in step S702, the flow advances to step S704 to check whether BLOCK NACK has been returned from the printer to the response register of the image supply device. If BLOCK NACK is returned, there is some problem in the data sent to the printer, and step S705
To NACK processing. This NACK processing is performed in step S6 in FIG.
Same as 10. After the NACK processing, the GETSTATUS command processing ends. If it is not BLOCK NACK in step S704, the process advances to step S706 to check whether BLOCK ACK has been returned from the printer. If not BLOCK ACK, step S70
Return to 2. As described above, the processing from steps S702 to S706 is performed as shown in FIG.
This corresponds to Step S45-11 of Step 5.

【0165】次にステップS707へ進み、ステップS707〜
S709によりBLOCK COMPLETEまでのタイムアウトをチェッ
クする。これは、図45のステップS45-12〜S45-13のプリ
ンタからのBLOCK COMPLETE応答時間を判定し、タイムア
ウトであればBLOCK COMPLETEが所定時間内に届かなかっ
たことを意味し、処理はステップS708へ進む。即ち、ス
テップS708はステップS703と同様のタイムアウト処理で
あり、その後、GETSTATUSコマンド処理は終了する。ス
テップS707でタイムアウトでなければステップS709へ進
み、画像供給デバイスのコントロールレジスタにBLOCK
COMPLETEが書き込まれたか否かをチェックする。BLOCK
COMPLETEでなければステップS707へ戻る。
Next, the process proceeds to step S707, and steps S707 to S707 are performed.
Check the timeout until BLOCK COMPLETE in S709. This determines the BLOCK COMPLETE response time from the printer in steps S45-12 to S45-13 in FIG. 45, and if it is a timeout, it means that the BLOCK COMPLETE has not arrived within the predetermined time, and the process proceeds to step S708. move on. That is, step S708 is a timeout process similar to step S703, and then the GETSTATUS command process ends. If the timeout has not occurred in step S707, the process proceeds to step S709, and BLOCK is stored in the control register of the image supply device.
Checks whether COMPLETE has been written. BLOCK
If it is not COMPLETE, the process returns to step S707.

【0166】ステップS709においてBLOCK COMPLETEであ
ればステップS710へ進み、GETSTATUSリプライを取り込
む、これは、図37の右側に示されたGETSTATUSコマンド
に対する返答であり、その内容は図38に示される。次に
ステップS711で、ステップS710のリプライが正常であっ
たか、即ち、戻されたステイタスが画像供給デバイスの
ブロックレジスタに正しく書き込まれたか否かを判定す
る。正しければ、ステップS712でプリンタのレスポンス
レジスタにBLOCK ACKを書き込み、正しくなければ、ス
テップS713でBLOCK NACKを書き込む。このステップS71
2,S713の処理が、図45のステップS45-14に相当する。
そしてGETSTATUSコマンド処理は終了となる。
If BLOCK COMPLETE in step S709, the flow advances to step S710 to fetch a GETSTATUS reply. This is a response to the GETSTATUS command shown on the right side of FIG. 37, and the contents are shown in FIG. Next, in step S711, it is determined whether the reply in step S710 was normal, that is, whether the returned status was correctly written in the block register of the image supply device. If it is correct, a BLOCK ACK is written to the response register of the printer in step S712, and if not, a BLOCK NACK is written in step S713. This step S71
2. The processing of S713 corresponds to step S45-14 in FIG.
Then, the GETSTATUS command processing ends.

【0167】以上、図51で示したGETSTATUSコマンド処
理(図45のステップS45-8)により、画像供給デバイスは
プリンタからステイタスを得ることができる。
As described above, the image supply device can obtain the status from the printer by the GETSTATUS command processing (step S45-8 in FIG. 45) shown in FIG.

【0168】図52は、画像供給デバイスにおけるタイマ
割り込み処理の詳細を示すフローチャートである。画像
供給デバイスでは、一定時間ごとにこのタイマ割り込み
処理が呼び出される。まずステップS800でGETSTATUSコ
マンド処理を行う時間であるか否かをチェックする。GE
TSTATUS実行時間であればステップS801へ進み、GETSTAT
USコマンド要求をセットする。この要求が図50のステッ
プS600で判定されることにより、上述したGETSTATUSコ
マンド処理が実行される。ステップS801で要求セット
後、タイマ処理は終了する。 [プリンタにおける画像転送処理]図53は、プリンタ側で
のSENDコマンド処理の詳細を示すフローチャートであ
る。まずステップS900で、プリンタ側のコントロールレ
ジスタにBLOCK COMPLETEが書き込まれたかをチェックす
る。BLOCK COMPLETEが書き込まれていなければステップ
S901へ進み、印字処理を実行した後ステップS900へ戻
る。この印字処理については後述する。ステップS900で
コントロールレジスタにBLOCK COMPLETEが書き込まれて
いれば、ステップS902へ進んで書き込まれたコマンドを
取り込む。このコマンドは、上述した図35に示したよう
に、CommandID35-1とParameter35-2からなり、このComm
andIDを調べることによりコマンドの種類を知ることが
できる。
FIG. 52 is a flowchart showing details of the timer interrupt processing in the image supply device. In the image supply device, this timer interrupt process is called at regular intervals. First, in step S800, it is checked whether it is time to perform the GETSTATUS command processing. GE
If it is the TSTATUS execution time, the process proceeds to step S801, and GETSTAT
Set US command request. When this request is determined in step S600 in FIG. 50, the above-described GETSTATUS command processing is executed. After the request is set in step S801, the timer process ends. [Image Transfer Processing in Printer] FIG. 53 is a flowchart showing details of SEND command processing on the printer side. First, in step S900, it is checked whether BLOCK COMPLETE has been written to the control register on the printer side. Step if BLOCK COMPLETE is not written
The process proceeds to S901, executes the printing process, and returns to Step S900. This printing process will be described later. If BLOCK COMPLETE has been written to the control register in step S900, the flow advances to step S902 to fetch the written command. This command is composed of CommandID 35-1 and Parameter 35-2, as shown in FIG.
The type of command can be known by checking andID.

【0169】次にステップS903へ進み、ブロックレジス
タに書き込まれたコマンドがGETSTATUSコマンドである
か否か、即ち、CommandIDがGETSTATUSコマンドを示して
いるかをチェックする。GETSTATUSコマンドであればス
テップS904へ進み、後述するプリンタ側のGETSTATUSコ
マンド処理を実行する。GETSTATUSコマンド処理の実行
後は、ステップS900へ戻る。ステップS903でGETSTATUS
コマンドでなければ、次にDUMMYコマンドか否かをチェ
ックする。DUMMYコマンドでなければ、該コマンドはSEN
DコマンドであるとしてステップS906へ進み、SENDコマ
ンドによって送られた画像データが正常であるか否かを
チェックする。正常でなければステップS907へ進み、画
像供給デバイスのレスポンスレジスタにBLOCK NACKを書
き込む。これにより、画像データが正しく送られてこな
かったことが画像供給デバイスに通知されたことにな
る。
Next, the flow advances to step S903 to check whether or not the command written in the block register is a GETSTATUS command, that is, whether or not the CommandID indicates the GETSTATUS command. If the command is a GETSTATUS command, the process advances to step S904 to execute GETSTATUS command processing on the printer side, which will be described later. After executing the GETSTATUS command processing, the process returns to step S900. GETSTATUS in step S903
If it is not a command, then it is checked whether it is a DUMMY command. If not a DUMMY command, the command is SEN
Assuming that the command is a D command, the process advances to step S906 to check whether the image data sent by the SEND command is normal. If not, the process advances to step S907 to write BLOCK NACK in the response register of the image supply device. As a result, the image supply device is notified that the image data has not been correctly transmitted.

【0170】ステップS906で画像データが正常であれば
ステップS908へ進み、ブロックレジスタへ書き込まれた
画像データを内部の適当なバッファへ移動する。これは
即ち、ブロックレジスタ内の画像データを図33の33-2〜
33-7で示したバッファのいずれかへ移動する処理であ
る。そしてステップS909へ進み、残りの空きバッファ数
を示すBLOCK countを1減算する。次にステップS910へ進
み、画像供給デバイスのレスポンスレジスタにBLOCK AC
Kを書き込んでステップS900へ戻る。
If the image data is normal in step S906, the flow advances to step S908 to move the image data written in the block register to an appropriate internal buffer. This means that the image data in the block registers is
This is the process of moving to any of the buffers indicated by 33-7. Then, the process proceeds to step S909, in which BLOCK count indicating the remaining number of free buffers is decremented by one. Next, proceed to step S910, where BLOCK AC is stored in the response register of the image supply device.
Write K and return to step S900.

【0171】ステップS905においてコマンドがDUMMYコ
マンドであれば、ステップS911へ進んでBLOCK countが1
より大きいか否かをチェックする。大きければ、最終バ
ッファでのDUMMYコマンドではないため、ステップS910
へ進んで画像供給デバイスのレスポンスレジスタにBLOC
K ACKを書き込む。一方、ステップS911でBLOCK countが
1であれば、ステップS912へ進んでT1'時間のウェイトを
行う。ここでT1'は、上述した図48に示すBLOCK COMPLET
Eに対してBLOCK ACKを戻すまでの応答時間であり、図47
に示すT1よりも長い時間が設定される。このT1'時間に
より、BLOCK ACKが戻されるまでの時間が調整され、結
果として画像供給デバイスからプリンタへ転送されるDU
MMYコマンド数を減らすことができる。
If it is determined in step S905 that the command is a DUMMY command, the flow advances to step S911 to set BLOCK count to 1
Check if it is greater than. If it is larger, it is not a DUMMY command in the final buffer, so step S910
Go to BLOC in the response register of the image supply device
Write K ACK. On the other hand, in step S911, the BLOCK count
If 1, the flow advances to step S912 to wait for the time T1 '. Here, T1 'is the BLOCK COMPLET shown in FIG.
This is the response time until a BLOCK ACK is returned for E,
A time longer than T1 is set. The time until the BLOCK ACK is returned is adjusted by this T1 'time, and as a result, the DU transferred from the image supply device to the printer is adjusted.
The number of MMY commands can be reduced.

【0172】以上、図53に示したSENDコマンド処理によ
り、プリンタ側での画像データ受け取り処理が実行さ
れ、SENDコマンド実行中にGETSTATUS,DUMMYコマンドの
処理が可能となり、BLOCK countで示される空きバッフ
ァ数によりACKを返す時間の調整ができる。
As described above, by the SEND command processing shown in FIG. 53, the image data receiving processing on the printer side is executed, and the GETSTATUS and DUMMY commands can be processed during the execution of the SEND command, and the number of empty buffers indicated by BLOCK count Can adjust the time to return the ACK.

【0173】図54は、上述した図53のステップS901で示
した印字処理を示すフローチャートである。まずステッ
プS1000で、バッファにデータがあるか否かをチェック
する。バッファにデータが無ければ印字処理は終了する
が、データがあればステップS1001へ進み、先頭バッフ
ァのデータを印字するための処理を行う。ここで先頭バ
ッファとは、まだ印字処理がされていないデータの先頭
にあるバッファを意味し、ステップS1002において該先
頭バッファが空であるか否かをチェックする。先頭バッ
ファが空でなければ印字処理は終了し、空であればステ
ップS1003へ進んでBLOCK countに1加算する。即ち、先
頭バッファのデータがすべて印字処理されて空きとなっ
た場合に、空きバッファ数を1つ増やす。そして印字処
理は終了する。以上の印字処理により、本実施形態にお
ける印字の実行と空きバッファ管理が行える。
FIG. 54 is a flowchart showing the printing process shown in step S901 in FIG. 53 described above. First, in step S1000, it is checked whether data exists in the buffer. If there is no data in the buffer, the printing process ends. If there is data, the process advances to step S1001 to perform a process for printing the data in the first buffer. Here, the head buffer means a buffer at the head of data that has not been printed yet, and it is checked in step S1002 whether the head buffer is empty. If the first buffer is not empty, the printing process ends. If the first buffer is empty, the process proceeds to step S1003 and 1 is added to the BLOCK count. That is, when all the data in the first buffer is printed and becomes empty, the number of empty buffers is increased by one. Then, the printing process ends. Through the above-described printing processing, printing can be executed and empty buffers can be managed in the present embodiment.

【0174】図55は、上述した図53のステップS904で示
された、プリンタにおけるGETSTATUSコマンド処理の詳
細を示すフローチャートである。これは、画像供給デバ
イスからのGETSTATUSコマンドに対してプリンタ側から
その返答を戻す処理であり、まずステップS1100で戻す
べきステイタスを作成する。このステイタスの内容は上
述した図38に示した通りであり、プリンタの状態を調査
して、対応する内容を設定する。次にステップS1101に
おいて、GETSTATUSリプライを画像供給デバイスのブロ
ックレジスタに書き込む。これは、上述した図45のステ
ップS45-12に相当する。
FIG. 55 is a flowchart showing the details of the GETSTATUS command processing in the printer shown in step S904 in FIG. 53 described above. This is processing for returning a response from the printer to the GETSTATUS command from the image supply device. First, in step S1100, a status to be returned is created. The content of this status is as shown in FIG. 38 described above. The status of the printer is checked and the corresponding content is set. Next, in step S1101, the GETSTATUS reply is written to the block register of the image supply device. This corresponds to step S45-12 in FIG. 45 described above.

【0175】次にステップS1102において、画像供給デ
バイスのコントロールレジスタにBLOCK COMPLETEを書き
込む。これは図45のステップS45-13に相当する。そして
次にステップS1103へ進み、タイムアウトをチェックす
る。即ち、ステップS1102で画像供給デバイスのコント
ロールレジスタにBLOCK COMPLETEを書き込んでから、プ
リンタのレスポンスレジスタにBLOCK ACK/NACKが戻され
るまでの時間を計測し、所定時間が経過してもBLOCK AC
K/NACKが戻されない場合に、タイムアウトとなる。ステ
ップS1103でタイムアウトとなればステップS1104へ進
み、タイムアウト処理を行なう。これは上述した図50の
ステップS608と同様の処理である。タイムアウト処理後
は、GETSTATUSコマンド処理を終了する。
Next, in step S1102, BLOCK COMPLETE is written to the control register of the image supply device. This corresponds to Step S45-13 in FIG. Then, the process advances to step S1103 to check for a timeout. That is, the time from writing BLOCK COMPLETE to the control register of the image supply device in step S1102 until the BLOCK ACK / NACK is returned to the response register of the printer is measured.
Timeout if no K / NACK is returned. If a timeout occurs in step S1103, the process advances to step S1104 to perform a timeout process. This is a process similar to step S608 in FIG. 50 described above. After the timeout processing, the GETSTATUS command processing ends.

【0176】ステップS1103でタイムアウトでなけれ
ば、ステップS1105へ進んで画像供給デバイスからプリ
ンタのレスポンスレジスタにBLOCK NACKが戻されたか否
かをチェックする。BLOCK NACKが戻された場合、画像供
給デバイスへ送ったデータに何らかの不具合があったた
め、ステップS1106へ進んで図50のステップS610と同様
のNACK処理を行なう。NACK処理後、GETSTATUSコマンド
処理は終了する。一方、ステップS1105でBLOCK NACKで
なければステップS1107へ進み、画像供給デバイスからB
LOCK ACKが戻されたか否かをチェックする。BLOCK ACK
でなければステップS1103へ戻る。以上ステップS1103〜
S1107までの処理は、図45のステップS45-14に相当す
る。そしてステップS1107でBLOCK ACKであれば、GETSTA
TUS処理は終了する。
If a timeout has not occurred in step S1103, the flow advances to step S1105 to check whether BLOCK NACK has been returned from the image supply device to the response register of the printer. When the BLOCK NACK is returned, there is some problem in the data sent to the image supply device, and the process advances to step S1106 to perform the same NACK processing as step S610 in FIG. After the NACK processing, the GETSTATUS command processing ends. On the other hand, if it is not BLOCK NACK in step S1105, the process proceeds to step S1107, where
Check if LOCK ACK is returned. BLOCK ACK
If not, the process returns to step S1103. Step S1103 ~
The processing up to S1107 corresponds to step S45-14 in FIG. If it is BLOCK ACK in step S1107, GETSTA
The TUS process ends.

【0177】以上、図55に示したプリンタ側でのGETSTA
TUSコマンド処理により、画像供給デバイスにプリンタ
のステイタスが戻される。
As described above, the GETSTA on the printer side shown in FIG.
By the TUS command processing, the status of the printer is returned to the image supply device.

【0178】以上、図42〜図55を参照して説明したよう
に本実施形態によれば、画像供給デバイスは、プリンタ
からレスポンスレジスタに書き込まれるBLOCK ACK/NACK
及びBLOCK countにより、プリンタが現在有する空きバ
ッファ数を知ることができ、空きバッファ数が1となっ
た場合に、SENDコマンドに代えてDUMMYコマンドを送る
処理が実行できる。また、DUMMYコマンド実行中にGETST
ATUSコマンドが実行できるため、SENDコマンドが実行中
であっても、任意にGETSTATUSコマンドを実行すること
ができる。このDUMMYコマンドは、SENDコマンド等の他
のコマンドに比べて少ないデータ量で構成することがで
きるため、1394シリアルバス上のトラフィックに与える
影響を最小限に留めることができる。
As described above with reference to FIGS. 42 to 55, according to the present embodiment, the image supply device performs the BLOCK ACK / NACK written from the printer to the response register.
And the BLOCK count, it is possible to know the number of empty buffers that the printer currently has, and when the number of empty buffers becomes 1, a process of sending a DUMMY command instead of the SEND command can be executed. GETST during DUMMY command execution
Since the ATUS command can be executed, the GETSTATUS command can be arbitrarily executed even while the SEND command is being executed. Since the DUMMY command can be configured with a smaller amount of data than other commands such as the SEND command, the influence on traffic on the 1394 serial bus can be minimized.

【0179】また、プリンタ側でDUMMYコマンドが送ら
れてくる時間間隔を調整することができるため、画像供
給デバイス側に負荷をかけることなく、1394シリアルバ
ス上のトラフィックを効率化することができる。
Further, since the time interval at which the DUMMY command is sent can be adjusted on the printer side, the traffic on the 1394 serial bus can be made more efficient without imposing a load on the image supply device side.

【0180】また、プリンタの総バッファ数が1である
場合にはDUMMYコマンド処理を行わないようにすること
で、必要なSENDコマンド処理を妨げないようにすること
ができる。
When the total number of buffers in the printer is 1, the DUMMY command processing is not performed, so that the necessary SEND command processing can be prevented.

【第2実施形態】以下、本発明に係る第2実施形態につい
て説明する。 [レジスタ構成]図56は、上述した第1実施形態において
図34に示した一般的なコントロールレジスタ及びレスポ
ンスレジスタの構成を、第2実施形態において改良した
構成を示す図である。第2実施形態においては、図56の
下部に示すレスポンスレジスタ構成において、レスポン
スコマンド56-2として03hのBLOCK RETRYが追加されてい
ることを特徴とする。ここでBLOCK RETRYとは、例えば
プリンタ側が持つ空きバッファ数が1となった場合等に
おいて、画像供給デバイスへ画像データの再転送を要求
することを示す返答である。従って、レスポンスコマン
ド56-2が03hであればBLOCK RETRYを表し、即ち画像デー
タの再転送を要求することを示す。
[Second Embodiment] Hereinafter, a second embodiment according to the present invention will be described. [Register Configuration] FIG. 56 is a diagram showing a configuration obtained by improving the configuration of the general control register and response register shown in FIG. 34 in the first embodiment described above in the second embodiment. The second embodiment is characterized in that, in the response register configuration shown in the lower part of FIG. 56, BLOCK RETRY of 03h is added as a response command 56-2. Here, the BLOCK RETRY is a response indicating that a request for retransfer of image data to the image supply device is made when, for example, the number of empty buffers held by the printer becomes one. Therefore, if the response command 56-2 is 03h, it indicates BLOCK RETRY, that is, a request for retransfer of image data.

【0181】図57は、第2実施形態におけるRETRY,GETS
TATUSコマンド制御手順を示す図であり、上述した第1実
施形態において図45に示したDUMMY,GETSTATUSコマンド
制御手順に対応するものであるが、以下の点において図
45と異なることを特徴とする。まず、図45のステップS4
5-3ではBLOCK countを1で戻していたのに対し、図57の
ステップS57-3ではBLOCK RETRYを戻している点が異な
る。そして、図45のステップS45-4ではブロックレジス
タにDUMMYコマンドを書き込んでいるのに対して、図57
のステップS57-4では、ステップS57-1に示す直前のSEND
コマンドと同じデータを書き込んでいる点が異なる。
尚、図57における他の処理は図45と同様であるため、説
明を省略する。
FIG. 57 shows RETRY, GETS in the second embodiment.
FIG. 46 is a diagram showing a TATUS command control procedure, which corresponds to the DUMMY, GETSTATUS command control procedure shown in FIG. 45 in the first embodiment described above.
It is different from 45. First, step S4 in FIG.
The difference is that the BLOCK count is returned by 1 in 5-3, whereas the BLOCK RETRY is returned in step S57-3 in FIG. 57. Then, while the DUMMY command is written in the block register in step S45-4 of FIG.
In step S57-4, the SEND immediately before step S57-1
The difference is that the same data as the command is written.
Note that the other processing in FIG. 57 is the same as that in FIG. 45, and thus the description is omitted.

【0182】以下、第2実施形態における画像供給デバ
イス側の処理及びプリンタ側の処理を、図58〜図60を参
照して詳細に説明する。 [画像供給デバイスにおける画像転送処理]図58は、第2
実施形態における画像供給デバイスの画像転送処理を示
すフローチャートであり、実質的にステップS1200にお
けるSENDコマンド処理を行なう。
Hereinafter, processing on the image supply device side and processing on the printer side in the second embodiment will be described in detail with reference to FIGS. [Image Transfer Processing in Image Supply Device] FIG.
9 is a flowchart illustrating an image transfer process of the image supply device according to the embodiment, which substantially performs a SEND command process in step S1200.

【0183】図59は、上述したステップS1200のSENDコ
マンド処理の詳細を示すフローチャートである。まずス
テップS1300でGETSTATUSコマンド要求があるか否かの判
定を行う。尚、GETSTATUSコマンドの起動は、第1実施形
態で示した図52と同様に行われる。ステップS1300で要
求があればステップS1301へ進み、GETSTAUSコマンド処
理を実行する。このGETSTATUSコマンド処理は、第1実施
形態において図51で示したプリンタのステイタスを取り
出す処理と同様である。ステップS1301のGETSTATUSコマ
ンド処理が終了すると、処理はステップS1300に戻る。
FIG. 59 is a flowchart showing details of the SEND command processing in step S1200 described above. First, in step S1300, it is determined whether there is a GETSTATUS command request. The activation of the GETSTATUS command is performed in the same manner as in FIG. 52 shown in the first embodiment. If there is a request in step S1300, the process advances to step S1301 to execute GETSTAUS command processing. This GETSTATUS command processing is the same as the processing for extracting the status of the printer shown in FIG. 51 in the first embodiment. When the GETSTATUS command processing in step S1301 ends, the processing returns to step S1300.

【0184】ステップS1300でGETSTATUSコマンド要求が
なければステップS1302へ進み、レスポンスレジスタにB
LOCK RETRYが書かれたか否かをチェックする。BLOCK RE
TRYが書かれていれば、プリンタのもつ空きバッファが
残り1つであり、データの再転送を要求していることを
示しているため、処理はステップS1303へ進んで、プリ
ンタ側のコントロールレジスタに対して1つ前のSENDコ
マンドで書き込まれたデータを再度書き込む。これは、
図57のステップS57-4,S57-15に相当する。ステップS13
02でBLOCK RETRYでなければ、ステップS1304へ進んでSE
NDコマンドの転送処理を実行する。これは、図57のステ
ップS57-1,S57-18,S57-21に相当し、プリンタへ画像
データを送る処理となる。ここで、画像データが1つの
バッファに収まらないような場合、第1実施形態におい
て図39で示したように、該イメージデータは複数のSNED
コマンドに分割されてプリンタのブロックレジスタに書
き込まれる。ステップS1303,S1304は分割された画像デ
ータの1つを書き込む処理に相当し、ステップS1304が繰
り返し実行されることにより、画像データ全体が転送さ
れる。
If there is no GETSTATUS command request in step S1300, the flow advances to step S1302 to store B in the response register.
Check if LOCK RETRY has been written. BLOCK RE
If TRY is written, it indicates that the printer has only one free buffer and that data retransfer is requested, so the process proceeds to step S1303, where the printer registers in the control register. The data written by the immediately preceding SEND command is written again. this is,
This corresponds to steps S57-4 and S57-15 in FIG. Step S13
If it is not BLOCK RETRY in 02, proceed to step S1304 and SE
Execute ND command transfer processing. This corresponds to steps S57-1, S57-18, and S57-21 in FIG. 57, and is processing for transmitting image data to the printer. Here, if the image data does not fit in one buffer, as shown in FIG. 39 in the first embodiment, the image data
The command is divided into commands and written into the block register of the printer. Steps S1303 and S1304 correspond to a process of writing one of the divided image data, and the entire image data is transferred by repeatedly executing step S1304.

【0185】次にステップS1305へ進み、プリンタ側の
コントロールレジスタにBLOCK COMPLETEを書き込む。こ
のBLOCK COMPLETEの書き込みにより、ブロックレジスタ
へのデータ書き込みの終了がプリンタ側に通知される。
次にステップS1306へ進み、タイムアウトかどうかをチ
ェックする。即ち、ステップ1305でプリンタのコントロ
ールレジスタにBLOCK COMPLETEを書き込んでから画像供
給デバイスのレスポンスレジスタにBLOCK ACK/NACK又は
RETRYが戻されるまでの時間をタイマにより計測し、所
定時間が経過してもBLOCK ACK/NACK及びRETRYが戻され
ない場合に、タイムアウトとなる。ステップS1306でタ
イムアウトととなった場合、ステップS1307へ進みタイ
ムアウト処理を行なう。ここでタイムアウト処理は、ユ
ーザに何らかの理由でタイムアウトが発生し、プリンタ
へのデータ送信がうまくいかなかったことを報知した
り、プリンタへの画像転送処理を終了する処理である。
タイムアウト処理後、SENDコマンド処理は終了する。
The flow advances to step S1305 to write BLOCK COMPLETE into the control register on the printer side. By writing the BLOCK COMPLETE, the end of data writing to the block register is notified to the printer.
Next, the process advances to step S1306 to check whether a timeout has occurred. That is, in step 1305, BLOCK COMPLETE is written to the control register of the printer, and then BLOCK ACK / NACK or
The time until the RETRY is returned is measured by the timer, and if the BLOCK ACK / NACK and the RETRY are not returned even after the predetermined time has elapsed, a timeout occurs. If a timeout has occurred in step S1306, the flow advances to step S1307 to perform a timeout process. Here, the timeout process is a process of notifying the user that a timeout has occurred for some reason and the data transmission to the printer has not been successful, or terminating the image transfer process to the printer.
After the timeout processing, the SEND command processing ends.

【0186】ステップS1306においてタイムアウトでな
い場合、ステップS1308へ進んでプリンタから画像供給
デバイスのレスポンスレジスタにBLOCK NACKが戻された
か否かをチェックする。BLOCK NACKが戻された場合、プ
リンタへ送ったデータに何らかの不具合があったため、
ステップS1309のNACK処理へ進む。ステップS1309のNACK
処理は、タイムアウト処理と同様に何らかの理由でプリ
ンタへのデータ送信がうまくいかなかったため、プリン
タへの画像転送処理を終了することを行う。NACK処理
後、SENDコマンド処理は終了する。
If a timeout has not occurred in step S1306, the flow advances to step S1308 to check whether BLOCK NACK has been returned from the printer to the response register of the image supply device. If BLOCK NACK is returned, there is something wrong with the data sent to the printer.
The process proceeds to the NACK process in step S1309. NACK in step S1309
The process terminates the image transfer process to the printer because data transmission to the printer failed for some reason, similar to the timeout process. After the NACK processing, the SEND command processing ends.

【0187】ステップS1308においてBLOCK NACKでない
場合、ステップS1310へ進んでプリンタからBLOCK RETRY
が戻されたか否かをチェックし、BLOCK RETRYが戻され
ればステップS1300へ戻る。BLOCK RETRYが戻されなけれ
ばステップS1311へ進み、BLOCKACKがプリンタから戻さ
れたか否かをチェックし、BLOCK ACKでなければステッ
プS1306へ戻る。BLOCK ACKならばステップS1312へ進
み、SNEDコマンドが終了したか否かをチェックする。終
了でなければステップS1300へ戻り、上述した処理を繰
り返す。一方、ステップS1312でSENDコマンドが終了し
ていれば、SENDコマンド処理は終了となる。
If it is not BLOCK NACK in step S1308, the flow advances to step S1310 to execute BLOCK RETRY from the printer.
Is returned or not, and if BLOCK RETRY is returned, the process returns to step S1300. If BLOCK RETRY is not returned, the flow advances to step S1311 to check whether or not BLOCK ACK has been returned from the printer. If not, the flow returns to step S1306. If it is a BLOCK ACK, the process advances to step S1312 to check whether the SNED command has been completed. If not, the process returns to step S1300 to repeat the above-described processing. On the other hand, if the SEND command has ended in step S1312, the SEND command processing ends.

【0188】以上、図59を参照して説明したように、第
2実施形態の画像供給デバイスにおいては、SNEDコマン
ドの実行とBLOCK RETRYに対する処理、及びSENDコマン
ド実行中のGETSTATUSコマンドの処理が行えることが分
かる。これは、上述した図57で説明したRETRY,GETSTAT
USコマンド制御手順において画像供給デバイス側の手順
に相当する処理である。 [プリンタにおける画像転送処理]図60は、第2実施形態
のプリンタにおけるSENDコマンド処理を詳細に示すフロ
ーチャートである。
As described above with reference to FIG.
It can be seen that the image supply device of the second embodiment can execute the SNED command, process the BLOCK RETRY, and process the GETSTATUS command during the execution of the SEND command. This is the same as RETRY, GETSTAT described in FIG.
This is a process corresponding to the procedure on the image supply device side in the US command control procedure. [Image Transfer Processing in Printer] FIG. 60 is a flowchart showing in detail the SEND command processing in the printer of the second embodiment.

【0189】まずステップS1400で、プリンタ側のコン
トロールレジスタにBLOCK COMPLETEが書き込まれたかを
チェックする。BLOCK COMPLETEが書き込まれていなけれ
ばステップS1401へ進み印字処理を実行し、ステップS14
00へ戻る。この印字処理は、第1実施形態で説明した図5
3のステップS901と同様である。ステップS1400でBLOCK
COMPLETEが書き込まれていれば、ステップS1402へ進ん
で書き込まれたコマンドを取り込む。このコマンドは、
上述した図35に示したように、CommandID35-1とParamet
er35-2からなり、このCommandIDを調べることによりコ
マンドの種類を知ることができる。
First, in step S1400, it is checked whether BLOCK COMPLETE has been written in the control register of the printer. If BLOCK COMPLETE has not been written, the flow advances to step S1401 to execute print processing, and then to step S14.
Return to 00. This printing process is the same as that described in the first embodiment with reference to FIG.
This is the same as step S901 in step 3. BLOCK in step S1400
If COMPLETE has been written, the flow advances to step S1402 to fetch the written command. This command
As shown in Fig. 35 above, CommandID35-1 and Paramet
The type of command can be known by checking the CommandID.

【0190】次にステップS1403へ進み、書き込まれた
コマンドがGETSTATUSコマンドであるか否か、即ち、Com
mandIDがGETSTATUSコマンドを示しているかをチェック
する。GETSTATUSコマンドであればステップS1404へ進
み、プリンタ側のGETSTATUSコマンド処理を実行した
後、ステップS1400へ戻る。このGETSTATUSコマンド処理
は、第1実施形態で示した図55と同様である。ステップS
1403でGETSTATUSコマンドでなければ、該コマンドはSEN
DコマンドであるとしてステップS1405へ進み、BLOCKcou
ntが1より大きいか否かをチェックする。
Next, the flow advances to step S1403 to determine whether or not the written command is a GETSTATUS command,
Check if mandID indicates a GETSTATUS command. If the command is a GETSTATUS command, the process advances to step S1404 to execute GETSTATUS command processing on the printer side, and then returns to step S1400. This GETSTATUS command processing is the same as in FIG. 55 shown in the first embodiment. Step S
If 1403 is not a GETSTATUS command, the command is SEN
Proceed to step S1405 as D command,
Check if nt is greater than 1.

【0191】BLOCK countが1より大きければステップS1
408へ進み、SENDコマンドによって送られた画像データ
が正常であるか否かをチェックする。正常でなければス
テップS907へ進み、画像供給デバイスのレスポンスレジ
スタにBLOCK NACKを書き込む。これにより、画像データ
が正しく送られてこなかったことが画像供給デバイスに
通知されたことになる。ステップS1406で画像データが
正常であればステップS1408へ進み、ブロックレジスタ
へ書き込まれた画像データを内部の適当なバッファへ移
動する。これは即ち、ブロックレジスタ内の画像データ
を図33の33-2〜33-7で示したバッファのいずれかへ移動
する処理である。そしてステップS1409へ進み、残りの
空きバッファ数を示すBLOCK countを1減算する。次にス
テップS1410へ進み、画像供給デバイスのレスポンスレ
ジスタにBLOCK ACKを書き込んでステップS1400へ戻る。
If the BLOCK count is larger than 1, step S1
Proceeding to 408, it is checked whether the image data sent by the SEND command is normal. If not, the process advances to step S907 to write BLOCK NACK in the response register of the image supply device. As a result, the image supply device is notified that the image data has not been correctly transmitted. If the image data is normal in step S1406, the flow advances to step S1408 to move the image data written in the block register to an appropriate internal buffer. This is a process of moving the image data in the block register to one of the buffers indicated by 33-2 to 33-7 in FIG. Then, the process advances to step S1409 to decrement BLOCK count indicating the number of remaining free buffers by one. Next, the process proceeds to step S1410, writes BLOCK ACK in the response register of the image supply device, and returns to step S1400.

【0192】一方、ステップS1405でBLOCK countが1で
あれば、ステップS1411へ進んでんでT1'時間のウェイト
を行う。ここでT1'は、上述した図48に示すBLOCK COMPL
ETEに対してBLOCK ACKを戻すまでの応答時間であり、図
47に示すT1よりも長い時間が設定される。そしてT1'時
間の経過後、ステップS1412でSENDコマンドの再送を促
すBLOCK RETRYを画像供給デバイスのレスポンスレジス
タに書き込んでステップS1400に戻る。第2実施形態で
は、上述した第1実施形態において図47,図48で示したD
UMMYコマンドの転送処理に代えて、SENDコマンドの再送
を行なうことを特徴とする。従って、このT1'時間によ
りBLOCK RETRYが戻されるまでの時間が調整され、結果
として画像供給デバイスからプリンタへ再送されるSEND
コマンド数を減らすことができる。
On the other hand, if the BLOCK count is 1 in step S1405, the flow advances to step S1411 to wait for T1 'time. Here, T1 'is the BLOCK COMPL shown in FIG.
This is the response time until a BLOCK ACK is returned to ETE.
A time longer than T1 shown in 47 is set. Then, after the elapse of the time T1 ', in step S1412, BLOCK RETRY urging retransmission of the SEND command is written in the response register of the image supply device, and the process returns to step S1400. In the second embodiment, the D shown in FIGS. 47 and 48 in the first embodiment described above is used.
It is characterized by resending a SEND command instead of transferring a UMMY command. Therefore, the time until the BLOCK RETRY is returned is adjusted by this T1 'time, and as a result, the SEND which is resent from the image supply device to the printer is
The number of commands can be reduced.

【0193】以上、図60に示したSENDコマンド処理によ
り、プリンタ側での画像データ受け取り処理が実行さ
れ、SENDコマンド実行中にGETSTATUSコマンド処理が可
能となるばかりでなく、BLOCK countで示される空きバ
ッファ数によりSENDコマンドの再送処理が可能となる。
As described above, by the SEND command processing shown in FIG. 60, the image data receiving processing on the printer side is executed, and not only the GETSTATUS command processing can be performed during the execution of the SEND command, but also the empty buffer indicated by the BLOCK count. Depending on the number, retransmission processing of the SEND command becomes possible.

【0194】以上、図56〜図60を参照して説明したよう
に第2実施形態によれば、画像供給デバイスはプリンタ
から返送されるBLOCK ACK/NACK及びBLOCK RETRYによ
り、プリンタが現在有する空きバッファ数が1となった
場合にSENDコマンドの再転送処理が実行できる。また、
SNEDコマンドの再転送実行中にGETSTATUSコマンドが実
行できるため、SENDコマンド実行中であっても任意にGE
TSTATUSコマンドを実行することができる。
As described above with reference to FIGS. 56 to 60, according to the second embodiment, the image supply device uses the BLOCK ACK / NACK and BLOCK RETRY returned from the printer to execute the empty buffer currently held by the printer. When the number becomes 1, the retransmission processing of the SEND command can be executed. Also,
The GETSTATUS command can be executed while the SNED command is being re-transferred.
TSTATUS command can be executed.

【0195】また、このSENDコマンドの再送処理におい
ては、既存のバスリセットやエラー処理等を利用するこ
とができるため、新たな処理を追加することなく実現で
きる。
In the retransmission processing of the SEND command, existing bus reset, error processing, and the like can be used, so that it can be realized without adding new processing.

【0196】また、プリンタ側でSENDコマンドが再送さ
れる時間間隔を調整することができるため、画像供給デ
バイスに負荷をかけることなく、1394シリアルバス上の
トラフィックを効率化することができる。
Since the time interval at which the SEND command is retransmitted can be adjusted on the printer side, the traffic on the 1394 serial bus can be made more efficient without imposing a load on the image supply device.

【実施形態の変形例】なお、上述した第1及び第2実施形
態においては、プリンタ内の空きバッファ数が1となっ
た場合に、DUMMYコマンド処理やBLOCK RETRYの処理を行
なう例について説明したが、この空きバッファ数は1に
限られるわけではない。SENDコマンド処理を実行するの
に不都合が生じるような数であればどのような数であっ
ても良く、例えば2や3であっても構わない。
Modification of Embodiment In the first and second embodiments described above, an example has been described in which the DUMMY command processing and the BLOCK RETRY processing are performed when the number of empty buffers in the printer becomes 1. However, the number of free buffers is not limited to one. Any number may be used as long as it is inconvenient to execute the SEND command processing. For example, the number may be 2 or 3.

【0197】また、各実施形態においては画像供給デバ
イスからプリンタへデータ転送を行なうことによって印
字処理を実現する例について説明したが、本発明は画像
データを転送して利用する機器であれば、どのような装
置にも適用可能である。
In each of the embodiments, an example has been described in which print processing is realized by transferring data from an image supply device to a printer. However, the present invention is not limited to any device that transfers and uses image data. It is also applicable to such a device.

【0198】また、上述した第1実施形態においては、D
UMMYコマンドをプリンタ内の空きバッファ数が1となっ
た場合に転送するとして説明したが、画像供給デバイス
からプリンタへ送られるコマンドであって、プリンタ内
の空きバッファ数が得られ、プリンタでの処理負荷の少
ないものであれば、どのようなコマンドを使用しても良
い。
In the first embodiment described above, D
Although the UMMY command is described as being transferred when the number of empty buffers in the printer becomes 1, the command is sent from the image supply device to the printer, and the number of empty buffers in the printer is obtained. Any command may be used as long as it has a small load.

【0199】また、各実施形態においては、BLOCK coun
tに空きバッファ数をセットして通知する例について説
明したが、空きバッファの数そのものでなく、「空きバ
ッファあり」、「空きバッファ少ない」等のバッファ情報
をセットする方法も考えられる。この方法でもバッファ
の状態を画像供給デバイスに通知することができるた
め、上述した各実施形態と同様の効果を得られる。
In each embodiment, the BLOCK coun
The example in which the number of free buffers is set to t and the notification is performed has been described. However, a method of setting buffer information such as “there is a free buffer” or “the number of free buffers” instead of the number of the free buffers is also conceivable. Also in this method, the state of the buffer can be notified to the image supply device, so that the same effects as those of the above-described embodiments can be obtained.

【0200】また、上述した各実施形態においてはIEEE
1934に規定されるシリアルインタフェイスを用いてネッ
トワークを構成する例を説明したが、本発明はこれに限
定されるものではなく、Universal Serial Bus(USB)と
呼ばれるシリアルインタフェイスなど、任意のシリアル
インタフェイスを用いて構成されるネットワークにも適
用することができる。
In each of the above embodiments, the IEEE
Although an example in which a network is configured using the serial interface specified in 1934 has been described, the present invention is not limited to this, and an arbitrary serial interface such as a serial interface called Universal Serial Bus (USB) can be used. The present invention can also be applied to networks configured using faces.

【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
[Other Embodiments] Even if the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), an apparatus (for example, a copying machine) Machine, facsimile machine, etc.).

【0201】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
Further, an object of the present invention is to supply a storage medium storing program codes of software for realizing the functions of the above-described embodiments to a system or an apparatus, and to provide a computer (or a CPU or M
Needless to say, this can also be achieved by the PU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. Examples of the storage medium for supplying the program code include a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM,
CD-R, magnetic tape, non-volatile memory card, ROM, etc. can be used.

【0202】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレー
ティングシステム)などが実際の処理の一部または全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) running on the computer based on the instruction of the program code. ) May perform some or all of the actual processing, and the processing may realize the functions of the above-described embodiments.

【0203】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張カード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張カードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that the CPU included in the function expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.

【0204】[0204]

【発明の効果】以上説明したように、本発明によれば、
1394シリアルバスなどによりホストデバイスとターゲッ
トデバイスを接続し、ホストデバイスからターゲットデ
バイスへ送られるデータの転送について、コマンドとデ
ータとで同じレジスタ領域を使用し、かつレジスタへの
データの書き込みに対する応答のみを行う際に、データ
転送以外のコマンドを任意に実行可能なデータ転送装
置、データ転送システムおよびその方法、画像処理装
置、並びに、記録媒体を提供することができる。すなわ
ち、本発明によれば、ターゲットデバイスが空きバッフ
ァ数に応じてホストデバイスにデータ再送要求を行なう
ことにより、データ転送中であっても他のコマンドが任
意に実行できる。
As described above, according to the present invention,
Connect the host device and the target device via a 1394 serial bus, etc., and use the same register area for the command and data for the transfer of data sent from the host device to the target device, and only respond to writing data to the register. It is possible to provide a data transfer device, a data transfer system and a method thereof, an image processing device, and a recording medium that can arbitrarily execute commands other than data transfer. That is, according to the present invention, the target device issues a data retransmission request to the host device according to the number of free buffers, so that other commands can be arbitrarily executed even during data transfer.

【0205】また、レジスタへのデータの書き込みに対
する応答時間を調整することにより、データバス上のト
ラフィックの効率化を実現するデータ転送装置、データ
転送システムおよびその方法、画像処理装置、並びに、
記録媒体を提供することができる。
Also, a data transfer device, a data transfer system and its method, an image processing device, and a data transfer device for realizing efficient traffic on a data bus by adjusting a response time to data writing to a register.
A recording medium can be provided.

【0206】[0206]

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用するシステムの一般的な構成例を
示す図、
FIG. 1 is a diagram showing a general configuration example of a system to which the present invention is applied;

【図2】1394シリアルバスによるネットワークの構成例
を示す図、
FIG. 2 is a diagram showing a configuration example of a network using a 1394 serial bus;

【図3】1394シリアルバスの構成例を示す図、FIG. 3 is a diagram showing a configuration example of a 1394 serial bus.

【図4】1394シリアルバスにおけるアドレス空間の一例
を示す図、
FIG. 4 is a diagram showing an example of an address space in a 1394 serial bus.

【図5】1394シリアルバス用のケーブルの断面を示す
図、
FIG. 5 is a view showing a cross section of a cable for a 1394 serial bus.

【図6】1394シリアルバスで採用されている、データ転
送方式のDS-Link方式を説明するための図、
FIG. 6 is a diagram for explaining a DS-Link system of a data transfer system adopted in a 1394 serial bus;

【図7】バスリセット信号の発生から、ノードIDが決定
し、データ転送が行えるようになるまでの一連のシーケ
ンス例を示すフローチャート、
FIG. 7 is a flowchart showing a series of sequence examples from generation of a bus reset signal to determination of a node ID and data transfer;

【図8】バスリセット信号の監視からルートノードの決
定までの詳細例を示すフローチャート、
FIG. 8 is a flowchart showing a detailed example from monitoring of a bus reset signal to determination of a root node;

【図9】ノードID設定の詳細例を示すフローチャート、FIG. 9 is a flowchart showing a detailed example of node ID setting,

【図10】1394シリアルバスのネットワーク動作例を示
す図、
FIG. 10 is a diagram showing a network operation example of a 1394 serial bus.

【図11】1394シリアルバスのCSRアーキテクチャの機
能を示す図、
FIG. 11 is a diagram showing functions of a CSR architecture of a 1394 serial bus;

【図12】1394シリアルバスに関するレジスタを示す
図、
FIG. 12 is a diagram showing registers related to a 1394 serial bus;

【図13】1394シリアルバスのノード資源に関するレジ
スタを示す図、
FIG. 13 is a diagram showing registers related to node resources of the 1394 serial bus;

【図14】1394シリアルバスのコンフィギュレーション
ROMの最小形式を示す図、
FIG. 14 shows a configuration of a 1394 serial bus.
Diagram showing the minimum format of ROM,

【図15】1394シリアルバスのコンフィギュレーション
ROMの一般形式を示す図、
FIG. 15 shows the configuration of a 1394 serial bus.
Diagram showing the general format of ROM,

【図16】バス使用権の要求を説明する図、FIG. 16 is a diagram for explaining a request for a bus use right;

【図17】バス使用の許可を説明する図、FIG. 17 is a diagram illustrating permission to use a bus.

【図18】1394シリアルバスにおけるアービトレーショ
ンの流れを示すフローチャート、
FIG. 18 is a flowchart showing the flow of arbitration in the 1394 serial bus.

【図19】トランザクションレイヤにおけるCSRアーキ
テクチャに基づくリード、ライト、ロックの各コマンド
の要求・レスポンスプロトコルを示す図、
FIG. 19 is a diagram showing a request / response protocol of each command of read, write, and lock based on a CSR architecture in a transaction layer,

【図20】リンクレイヤにおけるサービスを示す図、FIG. 20 is a diagram showing a service in a link layer;

【図21】非同期転送における時間的な遷移を示す図、FIG. 21 is a diagram showing temporal transition in asynchronous transfer;

【図22】非同期転送用パケットのフォーマットを示す
図、
FIG. 22 is a diagram showing a format of an asynchronous transfer packet.

【図23】スプリットトランザクションの動作例を示す
図、
FIG. 23 is a diagram showing an operation example of a split transaction.

【図24】スプリットトランザクションを行う場合の転
送状態の時間的遷移例を示す図、
FIG. 24 is a diagram showing an example of a temporal transition of a transfer state when performing a split transaction;

【図25】同期転送における時間的な遷移を示す図、FIG. 25 is a diagram showing temporal transition in synchronous transfer;

【図26】同期転送用のパケットフォーマット例を示す
図、
FIG. 26 is a diagram showing an example of a packet format for synchronous transfer;

【図27】1394シリアルバスにおける同期転送のパケッ
トフォーマットのフィールドの詳細を示す図、
FIG. 27 is a diagram showing details of a field of a packet format of the synchronous transfer in the 1394 serial bus;

【図28】同期転送と非同期転送が混在するときの転送
状態の時間的遷移を示す図、
FIG. 28 is a diagram showing a temporal transition of a transfer state when synchronous transfer and asynchronous transfer are mixed.

【図29】1394シリアルバスのレイヤ構造を示す図、FIG. 29 is a diagram showing a layer structure of a 1394 serial bus.

【図30】データ転送用のレジスタ構成を示す図、FIG. 30 is a diagram showing a configuration of a register for data transfer;

【図31】画像供給デバイスからプリンタに対するコマ
ンド制御の概要を示す図、
FIG. 31 is a diagram showing an outline of command control from the image supply device to the printer;

【図32】プリンタから画像供給デバイスに対するリプ
ライ制御の概要を示す図、
FIG. 32 is a diagram showing an outline of reply control from the printer to the image supply device;

【図33】プリンタにおけるブロックレジスタと内部バ
ッファ構成を示す図、
FIG. 33 is a diagram showing a configuration of a block register and an internal buffer in the printer.

【図34】コントロール,レスポンスレジスタの一般的
な構成を示す図、
FIG. 34 is a diagram showing a general configuration of a control and response register;

【図35】コマンド構成を示す図、FIG. 35 is a diagram showing a command configuration;

【図36】SEND,GETSTATUSコマンドの構成を示す図、FIG. 36 is a diagram showing a configuration of a SEND, GETSTATUS command;

【図37】SEND,GETSTATUSリプライの構成を示す図、FIG. 37 is a diagram showing a configuration of a SEND, GETSTATUS reply;

【図38】GETSTATUSコマンドのステイタスを示す図、FIG. 38 is a diagram showing the status of the GETSTATUS command;

【図39】SENDコマンドにおける画像データ分割の様子
を示す図、
FIG. 39 is a diagram showing a state of image data division by a SEND command;

【図40】画像供給デバイスとプリンタの一般的な制御
手順を示す図、
FIG. 40 is a diagram showing a general control procedure of the image supply device and the printer.

【図41】GETSTATUSコマンドの制御手順を示す図、FIG. 41 is a diagram showing a control procedure of a GETSTATUS command;

【図42】コントロール,レスポンスレジスタの構成を
示す図、
FIG. 42 is a diagram showing a configuration of a control and response register;

【図43】DUMMYコマンドの構成を示す図、FIG. 43 is a diagram showing a configuration of a DUMMY command;

【図44】DUMMYコマンドの制御手順を示す図、FIG. 44 is a diagram showing a control procedure of a DUMMY command;

【図45】DUMMY,GETSTATUSコマンドの制御手順を示す
図、
FIG. 45 is a diagram showing a control procedure of a DUMMY, GETSTATUS command;

【図46】SENDコマンド前のDUMMYコマンドの制御手順
を示す図、
FIG. 46 is a diagram showing a control procedure of a DUMMY command before a SEND command;

【図47】DUMMYコマンドの一般的な制御手順を示す
図、
FIG. 47 is a view showing a general control procedure of a DUMMY command;

【図48】トラフィック効率化のためのDUMMYコマンド
の制御手順を示す図、
FIG. 48 is a diagram showing a control procedure of a DUMMY command for improving traffic efficiency;

【図49】画像供給デバイスにおける画像転送処理を示
すフローチャート、
FIG. 49 is a flowchart showing an image transfer process in the image supply device;

【図50】画像供給デバイスにおけるSENDコマンド処理
を示すフローチャート、
FIG. 50 is a flowchart showing a SEND command process in the image supply device;

【図51】画像供給デバイスにおけるGETSTATUSコマン
ド処理を示すフローチャート、
FIG. 51 is a flowchart showing GETSTATUS command processing in the image supply device;

【図52】画像供給デバイスにおけるタイマ割り込み処
理を示すフローチャート、
FIG. 52 is a flowchart showing timer interrupt processing in the image supply device;

【図53】プリンタにおけるSENDコマンド処理を示すフ
ローチャート、
FIG. 53 is a flowchart showing a SEND command process in the printer;

【図54】プリンタにおける印字処理を示すフローチャ
ート、
FIG. 54 is a flowchart showing a printing process in the printer;

【図55】プリンタにおけるGETSTATUSコマンド処理を
示すフローチャート、
FIG. 55 is a flowchart showing GETSTATUS command processing in the printer;

【図56】第2実施例におけるコントロール,レスポン
スレジスタの構成を示す図、
FIG. 56 is a diagram showing a configuration of a control and response register according to the second embodiment;

【図57】第2実施例におけるRETRY、GETSTATUSコマン
ドの制御手順を示す図、
FIG. 57 is a diagram showing a control procedure of a RETRY, GETSTATUS command in the second embodiment;

【図58】第2実施例の画像供給デバイスにおける画像
転送処理を示すフローチャート、
FIG. 58 is a flowchart showing an image transfer process in the image supply device of the second embodiment;

【図59】第2実施例の画像供給デバイスにおけるSEND
コマンド処理を示すフローチャート、
FIG. 59: SEND in the image supply device of the second embodiment
Flowchart showing command processing,

【図60】第2実施例のプリンタにおけるSENDコマンド
処理を示すフローチャートである。
FIG. 60 is a flowchart illustrating SEND command processing in the printer of the second embodiment.

Claims (40)

【特許請求の範囲】[Claims] 【請求項1】 シリアルバスにより接続されるホストデ
バイスとターゲットデバイスの間で利用されるデータ転
送方法であって、 第1のデータを所定サイズ単位で連続して転送し、 前記第1のデータの所定回の転送結果と共に必要に応じ
て該第1のデータの再送要求を返信し、 前記再送要求に基づいて該第1のデータを再度転送し、 該第1のデータの再転送中に、第2のデータを転送するこ
とを特徴とするデータ転送方法。
1. A data transfer method used between a host device and a target device connected by a serial bus, wherein the first data is continuously transferred in units of a predetermined size, and A request for retransmission of the first data is returned as necessary together with a result of the predetermined number of transfers, the first data is retransmitted based on the retransmission request, and during the retransmission of the first data, 2. A data transfer method characterized by transferring the data of 2.
【請求項2】 前記データ受信用バッファは、前記所定
サイズを有する複数のバッファよりなり、 該複数のバッファのうちデータ受信可能な空きバッファ
の数に応じて、前記第1のデータの再送要求を返信する
ことを特徴とする請求項1記載のデータ転送方法。
2. The data reception buffer includes a plurality of buffers having the predetermined size, and the first data retransmission request is transmitted in accordance with the number of available data receivable buffers among the plurality of buffers. 2. The data transfer method according to claim 1, wherein a reply is sent.
【請求項3】 前記空きバッファが所定数以下である場
合に、前記再送要求が返送されることを特徴とする請求
項2記載のデータ転送方法。
3. The data transfer method according to claim 2, wherein the retransmission request is returned when the number of empty buffers is equal to or less than a predetermined number.
【請求項4】 前記空きバッファが1個である場合に、
前記再送要求が返送されることを特徴とする請求項3記
載のデータ転送方法。
4. When the number of empty buffers is one,
4. The data transfer method according to claim 3, wherein the retransmission request is returned.
【請求項5】 前記第1のデータの再送要求は、前記バ
ッファ状況に応じて繰り返されることを特徴とする請求
項1記載のデータ転送方法。
5. The data transfer method according to claim 1, wherein the first data retransmission request is repeated according to the buffer status.
【請求項6】 前記第2のデータは、前記第1のデータの
再転送結果を受け取ったタイミングで転送されることを
特徴とする請求項1記載のデータ転送方法。
6. The data transfer method according to claim 1, wherein the second data is transferred at a timing at which a retransmission result of the first data is received.
【請求項7】 前記第1のデータは、画像データを転送
するためのコマンドを含むことを特徴とする請求項1記
載のデータ転送方法。
7. The data transfer method according to claim 1, wherein the first data includes a command for transferring image data.
【請求項8】 前記第2のデータは、前記ターゲットデ
バイスのステイタス情報を取得するためのコマンドであ
ることを特徴とする請求項1記載のデータ転送方法。
8. The data transfer method according to claim 1, wherein the second data is a command for acquiring status information of the target device.
【請求項9】 前記第1のデータの1回の転送に応じてそ
の再送要求が返信されるまでの時間は、前記第1のデー
タの転送結果を再送要求を伴わずに返信する場合よりも
長いことを特徴とする請求項1記載のデータ転送方法。
9. The time until the retransmission request is returned in response to one transfer of the first data is shorter than the time when the transfer result of the first data is returned without a retransmission request. 2. The data transfer method according to claim 1, wherein the data transfer method is long.
【請求項10】 前記第1及び第2のデータの転送の際
に、前記ホストデバイス及びターゲットデバイスのそれ
ぞれにおいて、コマンドとデータとを同じレジスタ領域
に書き込むことを特徴とする請求項1記載のデータ転送
方法。
10. The data according to claim 1, wherein in transferring the first and second data, a command and data are written in the same register area in each of the host device and the target device. Transfer method.
【請求項11】 前記第1及び第2のデータの転送に対す
る応答は、前記レジスタへのデータの書き込みに対する
応答を行うことを特徴とする請求項10記載のデータ転送
方法。
11. The data transfer method according to claim 10, wherein a response to the transfer of the first and second data is a response to a write of data to the register.
【請求項12】 前記シリアルバスはIEEE1394規格に適
合または準拠するバスであることを特徴とする請求項1
乃至11の何れかに記載のデータ転送方法。
12. The serial bus according to claim 1, wherein the serial bus conforms to or conforms to the IEEE 1394 standard.
12. The data transfer method according to any one of claims 1 to 11.
【請求項13】 前記シリアルバスはUSB規格に適合ま
たは準拠するバスであることを特徴とする請求項1乃至1
1の何れかに記載のデータ転送方法。
13. The serial bus according to claim 1, wherein the serial bus conforms to or conforms to a USB standard.
2. The data transfer method according to any one of 1.
【請求項14】 前記ホストデバイスは画像データを出
力するデバイスであることを特徴とする請求項1乃至13
の何れかに記載のデータ転送方法。
14. The apparatus according to claim 1, wherein the host device is a device that outputs image data.
The data transfer method according to any one of the above.
【請求項15】 前記ターゲットデバイスは、記録媒体
上に画像データに基づく可視像を形成するデバイスであ
ることを特徴とする請求項1乃至14の何れかに記載のデ
ータ転送方法。
15. The data transfer method according to claim 1, wherein the target device is a device that forms a visible image based on image data on a recording medium.
【請求項16】 請求項1乃至12の何れかに記載のデー
タ転送方法により、前記ターゲットデバイスへ画像デー
タを送信することを特徴とする画像処理装置。
16. An image processing apparatus for transmitting image data to the target device by the data transfer method according to claim 1. Description:
【請求項17】 請求項1乃至12の何れかに記載のデータ
転送方法により、前記ホストデバイスから受信した画像
データを処理することを特徴とする画像処理装置。
17. An image processing apparatus which processes image data received from the host device by the data transfer method according to claim 1.
【請求項18】 シリアルバスにより接続されるデータ
転送装置であって、 ホストデバイスとの間において所定サイズ単位によりデ
ータの転送を行なう通信手段と、 該データの転送結果と共に必要に応じて該データの再送
要求を前記ホストデバイスに返信する返信手段と、を有
し、 前記通信手段は、前記ホストデバイスから前記所定サイ
ズ単位で連続して転送されてくる第1のデータを受信
し、 前記返信手段は、該第1のデータの受信結果を前記再送
要求と共に前記ホストデバイスへ返信し、 前記通信手段は更に、前記ホストデバイスから前記再送
要求に基づいて転送されてくる前記第1のデータを再度
受信し、更に、該第1のデータの再受信中に、第2のデー
タを受信することを特徴とするデータ転送装置。
18. A data transfer device connected by a serial bus, comprising: communication means for transferring data to and from a host device in a predetermined size unit; Replying means for returning a retransmission request to the host device, wherein the communication means receives first data continuously transferred from the host device in units of the predetermined size, and the reply means Returning the reception result of the first data to the host device together with the retransmission request, the communication unit further receives the first data transferred from the host device based on the retransmission request again. A data transfer device for receiving the second data while re-receiving the first data.
【請求項19】 前記返信手段は、複数のデータ受信用
バッファのうち、データ受信可能な空きバッファの数に
応じて前記第1のデータの再送要求を送信することを特
徴とする請求項18記載のデータ転送装置。
19. The system according to claim 18, wherein the reply unit transmits the retransmission request for the first data in accordance with the number of empty buffers that can receive data among a plurality of data reception buffers. Data transfer device.
【請求項20】 前記返信手段は、前記空きバッファ数
に応じて前記第1のデータの再送要求を繰り返すことを
特徴とする請求項19記載のデータ転送装置。
20. The data transfer device according to claim 19, wherein the reply unit repeats a retransmission request for the first data according to the number of empty buffers.
【請求項21】 前記第1のデータは、画像データを転
送するためのコマンドを含むことを特徴とする請求項18
記載のデータ転送装置。
21. The method according to claim 18, wherein the first data includes a command for transferring image data.
A data transfer device according to claim 1.
【請求項22】 前記第2のデータは、有効なデータを
含まないダミーデータを転送するためのコマンドである
ことを特徴とする請求項18記載のデータ転送装置。
22. The data transfer device according to claim 18, wherein the second data is a command for transferring dummy data that does not include valid data.
【請求項23】 前記第3のデータは、該データ転送装
置のステイタス情報を要求するためのコマンドであるこ
とを特徴とする請求項18記載のデータ転送装置。
23. The data transfer device according to claim 18, wherein the third data is a command for requesting status information of the data transfer device.
【請求項24】 前記返信手段において、前記第1のデ
ータの1回の受信に応じてその再送要求を返信するまで
の時間は、前記第1のデータの受信結果を再送要求を伴
わずに返信する場合よりも長いことを特徴とする請求項
18記載のデータ転送装置。
24. The time until the retransmission request is returned in response to one reception of the first data in the return means, the reception result of the first data is returned without a retransmission request. Claims that are longer than
18. The data transfer device according to 18.
【請求項25】 前記通信手段は、コマンドとデータと
を同じレジスタ領域に書き込むことを特徴とする請求項
18記載のデータ転送装置。
25. The communication device according to claim 25, wherein the communication unit writes the command and the data in the same register area.
18. The data transfer device according to 18.
【請求項26】 前記返信手段は、前記レジスタ領域へ
のデータの書き込みに対する応答のみを行うことを特徴
とする請求項25記載のデータ転送装置。
26. The data transfer apparatus according to claim 25, wherein said reply means only makes a response to writing of data into said register area.
【請求項27】 シリアルバスを介してデータを転送す
るデータ転送システムであって、 所定サイズ単位によりデータの転送を行なう通信手段
と、 該データの転送結果と共に必要に応じて該データの再送
要求を返信する返信手段と、を有し、 前記通信手段は、第1のデータを前記所定サイズ単位で
連続して転送し、前記返信手段により前記第1のデータ
の所定回の転送結果と共に返信された再送要求に基づい
て該第1のデータを再度転送し、該第1のデータの再転送
中に、第2のデータを転送することを特徴とするデータ
転送システム。
27. A data transfer system for transferring data via a serial bus, comprising: a communication unit for transferring data in a predetermined size unit; and a request for retransmission of the data together with a result of the data transfer as required. A communication unit that continuously transfers the first data in units of the predetermined size, and is returned by the return unit together with a result of the first-time transfer of the first data. A data transfer system, wherein the first data is transferred again based on a retransmission request, and the second data is transferred during the retransmission of the first data.
【請求項28】 前記データ受信用バッファは、前記所
定サイズを有する複数のバッファよりなり、 前記返信手段は、該複数のバッファのうちデータ受信可
能な空きバッファの数に基づいて前記再送要求を返信す
ることを特徴とする請求項27記載のデータ転送システ
ム。
28. The data reception buffer includes a plurality of buffers having the predetermined size, and the reply unit replies the retransmission request based on the number of free buffers that can receive data among the plurality of buffers. 28. The data transfer system according to claim 27, wherein:
【請求項29】 前記返信手段は、前記空きバッファが
所定数以下である場合に前記再送要求を返信することを
特徴とする請求項28記載のデータ転送システム。
29. The data transfer system according to claim 28, wherein said reply means returns said retransmission request when said empty buffer is equal to or less than a predetermined number.
【請求項30】 前記返信手段は、前記空きバッファ数
が1個である場合に前記再送要求を返信することを特徴
とする請求項29記載のデータ転送システム。
30. The data transfer system according to claim 29, wherein said reply means returns said retransmission request when said number of empty buffers is one.
【請求項31】 前記返信手段は、前記バッファ状況に
応じて前記再送要求を繰り返すことを特徴とする請求項
27記載のデータ転送システム。
31. The method according to claim 31, wherein the reply unit repeats the retransmission request according to the buffer status.
27. The data transfer system according to item 27.
【請求項32】 前記通信手段は、前記返信手段により
前記第1のデータの再転送結果を受け取ったタイミング
で前記第2のデータを転送することを特徴とする請求項2
7記載のデータ転送システム。
32. The communication device according to claim 2, wherein the communication unit transfers the second data at a timing when a retransmission result of the first data is received by the reply unit.
7. Data transfer system according to 7.
【請求項33】 前記第1のデータは、画像データを転
送するためのコマンドを含むことを特徴とする請求項27
記載のデータ転送システム。
33. The apparatus according to claim 27, wherein the first data includes a command for transferring image data.
Data transfer system as described.
【請求項34】 前記第2のデータは、データ転送先の
ステイタス情報を取得するためのコマンドであることを
特徴とする請求項27記載のデータ転送システム。
34. The data transfer system according to claim 27, wherein the second data is a command for acquiring status information of a data transfer destination.
【請求項35】 前記返信手段は、前記第1のデータの1
回の転送に応じてその再送要求を返信するまでの時間
を、前記第1のデータの転送結果を再送要求を伴わずに
返信する場合よりも長くすることを特徴とする請求項27
記載のデータ転送システム。
35. The reply means, wherein:
28. The method according to claim 27, wherein a time period until the retransmission request is returned in response to the first transfer is longer than a case where the transfer result of the first data is returned without a retransmission request.
Data transfer system as described.
【請求項36】 前記通信手段は、コマンドとデータと
を同じレジスタ領域に書き込むことを特徴とする請求項
27記載のデータ転送システム。
36. The communication device according to claim 36, wherein the communication unit writes the command and the data in the same register area.
27. The data transfer system according to item 27.
【請求項37】 前記返信手段は、前記レジスタへのデ
ータの書き込みに対する応答のみを行うことを特徴とす
る請求項36記載のデータ転送システム。
37. The data transfer system according to claim 36, wherein said reply means performs only a response to writing of data to said register.
【請求項38】 前記シリアルバスはIEEE1394規格に適
合または準拠するバスであることを特徴とする請求項27
乃至37の何れかに記載のデータ転送システム。
38. The serial bus according to claim 27, wherein the serial bus conforms to or conforms to the IEEE1394 standard.
38. The data transfer system according to any one of items 37 to 37.
【請求項39】 前記シリアルバスはUSB規格に適合ま
たは準拠するバスであることを特徴とする請求項27乃至
37の何れかに記載のデータ転送システム。
39. The serial bus according to claim 27, wherein the serial bus conforms to or conforms to the USB standard.
38. The data transfer system according to any one of 37.
【請求項40】 シリアルバスにより接続されるホスト
デバイスとターゲットデバイスの間で利用されるデータ
転送方法のプログラムコードが格納された記録媒体であ
って、 該プログラムコードは、 第1のデータを所定サイズ単位で連続して転送するコー
ドと、 前記第1のデータの所定回の転送結果と共に必要に応じ
て該第1のデータの再送要求を返信するコードと、 前記再送要求に基づいて該第1のデータを再度転送する
コードと、 該第1のデータの再転送中に、第2のデータを転送するコ
ードと、を有することを特徴とする記録媒体。
40. A recording medium storing a program code of a data transfer method used between a host device and a target device connected by a serial bus, wherein the program code stores the first data in a predetermined size. A code for continuously transferring in units, a code for returning a retransmission request for the first data as needed together with a result of the predetermined number of transfers of the first data, and the first data based on the retransmission request. A recording medium comprising: a code for transferring data again; and a code for transferring second data during retransmission of the first data.
JP10218175A 1998-07-31 1998-07-31 Data transfer device, data transfer system, its method, image processing unit and record medium Withdrawn JP2000049833A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10218175A JP2000049833A (en) 1998-07-31 1998-07-31 Data transfer device, data transfer system, its method, image processing unit and record medium
US09/362,892 US6717694B1 (en) 1998-07-31 1999-07-29 Data transmission apparatus, system and method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10218175A JP2000049833A (en) 1998-07-31 1998-07-31 Data transfer device, data transfer system, its method, image processing unit and record medium

Publications (1)

Publication Number Publication Date
JP2000049833A true JP2000049833A (en) 2000-02-18

Family

ID=16715801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10218175A Withdrawn JP2000049833A (en) 1998-07-31 1998-07-31 Data transfer device, data transfer system, its method, image processing unit and record medium

Country Status (1)

Country Link
JP (1) JP2000049833A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337195C (en) * 2002-08-14 2007-09-12 虹光精密工业(苏州)有限公司 Typesetting work application program of image and document produced by scanning of several scanning instruments at the time and its method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337195C (en) * 2002-08-14 2007-09-12 虹光精密工业(苏州)有限公司 Typesetting work application program of image and document produced by scanning of several scanning instruments at the time and its method

Similar Documents

Publication Publication Date Title
KR100298140B1 (en) Data communication apparatus and method
US7430660B2 (en) Data transmission apparatus, system and method, and image processing apparatus
US6282597B1 (en) Information processing apparatus, control method, and transmission medium using thin protocol that responds to A/V control commands
EP1134937A1 (en) Information communication system, information communication method, information signal processing device and information signal processing method, and storage medium
US6717694B1 (en) Data transmission apparatus, system and method, and recording medium
JP3927647B2 (en) Information processing apparatus, information processing method, and information processing system
US7203787B2 (en) Information processing apparatus and method that utilizes stored information about a mountable device
EP0959590B1 (en) Data communication system operating at maximum data rate
JP3630971B2 (en) Data communication method, apparatus, system, and storage medium
JPH10229533A (en) Image forming device, image forming system and image forming method
US20060017811A1 (en) Communication system, electronic apparatus, control apparatus, and computer-readable storage medium
JP3943722B2 (en) Data transfer apparatus, data transfer system and method, image processing apparatus, and recording medium
JP2001274813A (en) Device and method for processing information signal, and storage medium
JP3501707B2 (en) Information processing apparatus, information processing system and their methods
JP2000049833A (en) Data transfer device, data transfer system, its method, image processing unit and record medium
JP3897773B2 (en) Communication method and communication apparatus
JP3495879B2 (en) Data processing method, data processing device, and computer-readable recording medium
JP3495878B2 (en) Data processing method, data processing device and printer
JP3647328B2 (en) Image processing apparatus, control method therefor, and image processing system
JP4463953B2 (en) Image processing system, digital camera and control method thereof
JP2000196873A (en) Information processor, information processing system, method for them, and storage medium
JPH10307691A (en) Method and device for data communication, printing device, and printing system including the same
JP2003051824A (en) Communication method, communication system, program and storage medium
JP3517552B2 (en) Data transfer device, data transfer system and method, image processing device, and recording medium
AU762552B2 (en) Data communication apparatus and method

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