JPH10322373A - Data transfer device, data transfer system/method, picture processor and record medium - Google Patents

Data transfer device, data transfer system/method, picture processor and record medium

Info

Publication number
JPH10322373A
JPH10322373A JP9127708A JP12770897A JPH10322373A JP H10322373 A JPH10322373 A JP H10322373A JP 9127708 A JP9127708 A JP 9127708A JP 12770897 A JP12770897 A JP 12770897A JP H10322373 A JPH10322373 A JP H10322373A
Authority
JP
Japan
Prior art keywords
data
data transfer
transfer
bus
command
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.)
Pending
Application number
JP9127708A
Other languages
Japanese (ja)
Inventor
Koji Fukunaga
耕司 福長
Makoto Kobayashi
真琴 小林
Kiyoshi Katano
清 片野
Naohisa Suzuki
尚久 鈴木
Jiro Tateyama
二郎 立山
Atsushi Nakamura
敦 中村
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 JP9127708A priority Critical patent/JPH10322373A/en
Priority to DE69836771T priority patent/DE69836771T2/en
Priority to EP98301111A priority patent/EP0859324B1/en
Priority to US09/024,185 priority patent/US6603737B1/en
Publication of JPH10322373A publication Critical patent/JPH10322373A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To transfer data by means of a 1394 serial bus by providing a transfer means transferring data of a prescribed unit with a target device based on buffer information contained in a response and retransmitting a part of data in the prescribed unit during transfer at the generation timing of bus resetting when bus resetting is generated. SOLUTION: The 1394 serial bus is constituted of layer structure. A cable 813 for the 1394 serial bus is connected to a connector port 810 and a physical layer 811 and a link layer 812, which are constituted of a hardware part 800, exist on the port. A bus reset signal is transmitted from the prescribed node, the physical layers 811 of the respective nodes receive the signal and transmit the generation of bus resetting to the link layer 812 and transmit the signal to the other node. All the nodes receive the bus resetting signal and the sequence of bus resetting is started.

Description

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

【0001】[0001]

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

【0002】[0002]

【従来の技術】プリンタは、セントロニクスや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

【0003】また、スキャナ、ディジタルスチルカメ
ラ、ディジタルビデオカメラといった画像供給デバイス
であるディジタル機器もPCに接続されている。各ディジ
タル機器により取込まれた画像データは、一旦PC上のハ
ードディスクなどに取込まれた後、PC上のアプリケーシ
ョンソフトウェアなどにより処理されてプリンタ用の印
刷データに変換され、上記のインタフェイスを経由して
プリンタに送られる。
[0003] 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.

【0004】上記のようなシステムでは、各ディジタル
機器やプリンタなどを制御するためのドライバソフトウ
ェアがそれぞれ独立にPCに存在し、ディジタル機器から
出力された画像データは、それらドライバソフトウェア
によりPC上で使い易くかつ表示し易い形式のデータとし
て保存される。保存されたデータは、入力機器の画像特
性と出力機器の画像特性とを考慮した画像処理方法によ
り印刷データに変換される。
In the above-described system, driver software for controlling each digital device, printer, and the like exists independently on the 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.

【0005】今日、IEEE1394により規定されるインタフ
ェイス(以下「1394シリアルバス」と呼ぶ)のような新
しいインタフェイスでは、画像供給デバイスとプリンタ
とを直結することも可能である。1394シリアルバスによ
り画像供給デバイスとプリンタとを直結する場合、FCP
(Function Control Protocol)のオペランドに印刷デー
タを含める方法が考えられる。また、1394シリアルバス
では、データ転送のためのレジスタ領域を設けて、その
レジスタ領域にデータを書込むことでデータ転送を行う
方法も考えられる。
[0005] 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 of including print data in the operand of (Function Control Protocol) is conceivable. 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.

【0006】また、1394シリアルバスにおいてノードが
追加されたり、削除された場合、バスの再構成を行うバ
スリセットが行われる。
When a node is added or deleted from the 1394 serial bus, a bus reset for reconfiguring the bus is performed.

【0007】[0007]

【発明が解決しようとする課題】しかし、上述した技術
においては、次のような問題点がある。前述したよう
に、画像供給デバイスから出力される画像データは、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.

【0008】1394シリアルバスにより画像供給デバイス
とプリンタを直結し、FCPのオペランドに印刷データを
含める前述した方法は、制御コマンドと印刷データとを
分離することができない問題がある上、コマンドに対し
て常にレスポンスが必要なため転送効率が低いという問
題もある。また、前述したデータ転送のためのレジスタ
領域を設ける方法は、そのレジスタ領域にデータを書込
むことが可能であるかどうかを判定するための処理がデ
ータ転送の度に必要になる。従って、この判定処理のオ
ーバヘッドが大きくなり、やはり転送効率が低下すると
いう問題が発生する。
The above-described method in which the image supply device and the printer are directly connected by the 1394 serial bus and the print data is included 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.

【0009】また、前述したバスリセットが発生した場
合、転送中のデータが失われたり、データが受信された
ことを示す情報が正しく伝えられない問題も発生する。
Further, when the above-described bus reset occurs, there arises a problem that data being transferred is lost and information indicating that the data has been received cannot be transmitted correctly.

【0010】本発明は、上述した問題を個々にまたはま
とめて解決するためのものであり、1394シリアルバスな
どによりホストデバイスとターゲットデバイスを直結
し、ホストデバイスから直接ターゲットデバイスへ送ら
れる画像データの処理をターゲットデバイスに行わせる
のに適したデータ転送装置、データ転送システムおよび
その方法、画像処理装置、並びに、記録媒体を提供する
ことを目的とする。
The present invention is to solve the above-described problems individually or collectively, and directly connects a host device and a target device by a 1394 serial bus or the like, and converts image data sent from the host device directly to the target device. An object of the present invention is to provide a data transfer device, a data transfer system and a method thereof, an image processing device, and a recording medium suitable for causing a target device to perform processing.

【0011】また、制御コマンドとデータの分離が可能
で転送効率のよいデータ転送装置、データ転送システム
およびその方法、画像処理装置、並びに、記録媒体を提
供することを他の目的とする。
Another object of the present invention is to provide a data transfer device, a data transfer system and its method, an image processing device, and a recording medium which can separate a control command and data and have high transfer efficiency.

【0012】また、バスリセットが発生しても正しいデ
ータ転送を行うことができるデータ転送装置、データ転
送システムおよびその方法、画像処理装置、並びに、記
録媒体を提供することを他の目的とする。
Another object of the present invention is to provide a data transfer device, a data transfer system and a method thereof, an image processing device, and a recording medium that can perform correct data transfer even when a bus reset occurs.

【0013】[0013]

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

【0014】本発明にかかるデータ転送装置は、シリア
ルバスに接続されるデータ転送装置であって、ターゲッ
トデバイスへコマンドを送るコマンド送信手段と、前記
ターゲットデバイスから返される前記コマンドに対する
レスポンスを受信する受信手段と、前記レスポンスに含
まれるバッファ情報に基づき、前記ターゲットデバイス
との間で所定単位のデータの転送を行う転送手段と、バ
スリセットが発生した場合、前記バスリセットの発生タ
イミングで転送中であった前記所定単位のデータの一部
を再送する再送手段とを有することを特徴とする。
[0014] A data transfer device according to the present invention is a data transfer device connected to a serial bus, wherein command transmission means for transmitting a command to a target device, and reception for receiving a response to the command returned from the target device. Means, transfer means for transferring a predetermined unit of data to and from the target device based on buffer information included in the response, and when a bus reset occurs, the data is being transferred at the bus reset occurrence timing. Retransmitting means for retransmitting a part of the data of the predetermined unit.

【0015】また、シリアルバスに接続されるデータ転
送装置であって、ホストデバイスから送られてくるコマ
ンドを受信するコマンド受信手段と、前記ホストデバイ
スへ前記コマンドに対するレスポンスを送る送信手段
と、前記レスポンスに含まれるバッファ情報に基づき、
前記ホストデバイスとの間で所定単位のデータの転送を
行う転送手段と、バスリセットが発生した場合、前記バ
スリセットの発生タイミングで転送中であった前記所定
単位のデータの一部を再受信する再受信手段とを有する
ことを特徴とする。
A data transfer device connected to a serial bus, the command receiving device receiving a command sent from a host device; a sending device sending a response to the command to the host device; Based on the buffer information contained in
A transfer unit configured to transfer a predetermined unit of data to and from the host device; and, when a bus reset occurs, re-receiving a part of the predetermined unit of data that was being transferred at the timing of the bus reset. Re-receiving means.

【0016】本発明にかかるデータ転送方法は、シリア
ルバスにより直結されるホストデバイスとターゲットデ
バイスとの間で利用されるデータ転送方法であって、前
記ホストデバイスから前記ターゲットデバイスにコマン
ドを送り、前記ターゲットデバイスから前記ホストデバ
イスへ前記コマンドに対するレスポンスを返し、前記レ
スポンスに含まれるバッファ情報に基づき、前記ホスト
デバイスから前記ターゲットデバイスへ所定単位のデー
タを送り、バスリセットが発生した場合、前記バスリセ
ットの発生タイミングで転送中であった前記所定単位の
データの一部を再送することを特徴とする。
A data transfer method according to the present invention is a data transfer method used between a host device directly connected to a serial bus and a target device, wherein a command is sent from the host device to the target device. A response to the command is returned from the target device to the host device, and a predetermined unit of data is sent from the host device to the target device based on buffer information included in the response. A part of the data of the predetermined unit which was being transferred at the generation timing is retransmitted.

【0017】本発明にかかるデータ転送システムは、シ
リアルバスを介してデータを転送するデータ転送システ
ムであって、ホストデバイスからターゲットデバイスへ
コマンドを送信させ、前記ターゲットデバイスから前記
ホストデバイスへ前記コマンドに対するレスポンスを返
信させる通信手段と、前記レスポンスに含まれるバッフ
ァ情報に基づき、前記ホストデバイスと前記ターゲット
デバイスとの間で所定単位のデータの転送を行わせる転
送手段と、バスリセットが発生した場合、前記バスリセ
ットの発生タイミングで転送中であった前記所定単位の
データの一部を再送させる再送手段とを有することを特
徴とする。
A data transfer system according to the present invention is a data transfer system for transferring data via a serial bus, in which a command is transmitted from a host device to a target device, and the target device transmits the command to the host device in response to the command. Communication means for returning a response, transfer means for performing transfer of a predetermined unit of data between the host device and the target device based on buffer information included in the response, and when a bus reset occurs, Retransmitting means for retransmitting a part of the data of the predetermined unit which was being transferred at the timing of the occurrence of the bus reset.

【0018】本発明にかかる画像処理装置は、シリアル
バスにより直結されるホストデバイスとターゲットデバ
イスとの間で利用されるデータ転送方法であって、前記
ホストデバイスから前記ターゲットデバイスにコマンド
を送り、前記ターゲットデバイスから前記ホストデバイ
スへ前記コマンドに対するレスポンスを返し、前記レス
ポンスに含まれるバッファ情報に基づき、前記ホストデ
バイスから前記ターゲットデバイスへ所定単位のデータ
を送り、バスリセットが発生した場合、前記バスリセッ
トの発生タイミングで転送中であった前記所定単位のデ
ータの一部を再送するデータ転送方法により、前記ター
ゲットデバイスへ前記所定単位の画像データを送信する
ことを特徴とする。
An image processing apparatus according to the present invention is a data transfer method used between a host device and a target device directly connected by a serial bus, wherein the host device sends a command from the host device to the target device, A response to the command is returned from the target device to the host device, and a predetermined unit of data is sent from the host device to the target device based on buffer information included in the response. The image data of the predetermined unit is transmitted to the target device by a data transfer method for retransmitting a part of the data of the predetermined unit which was being transferred at the generation timing.

【0019】また、シリアルバスにより直結されるホス
トデバイスとターゲットデバイスとの間で利用されるデ
ータ転送方法であって、前記ホストデバイスから前記タ
ーゲットデバイスにコマンドを送り、前記ターゲットデ
バイスから前記ホストデバイスへ前記コマンドに対する
レスポンスを返し、前記レスポンスに含まれるバッファ
情報に基づき、前記ホストデバイスから前記ターゲット
デバイスへ所定単位のデータを送り、バスリセットが発
生した場合、前記バスリセットの発生タイミングで転送
中であった前記所定単位のデータの一部を再送するデー
タ転送方法により、前記ホストデバイスから受信した前
記所定単位の画像データを処理することを特徴とする。
A data transfer method used between a host device and a target device directly connected by a serial bus, wherein a command is sent from the host device to the target device, and the command is transmitted from the target device to the host device. A response to the command is returned, a predetermined unit of data is sent from the host device to the target device based on the buffer information included in the response, and when a bus reset occurs, the data is being transferred at the timing of the bus reset. Processing the predetermined unit of image data received from the host device by a data transfer method of retransmitting a part of the predetermined unit of data.

【0020】[0020]

【発明の実施の形態】以下、本発明にかかる一実施形態
のデータ転送方法を図面を参照して詳細に説明する。
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.

【0021】図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.

【0022】[0022]

【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.

【0023】図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.

【0024】各機器間の接続は、ディジーチェーン方式
とノード分岐方式との混在が可能であり、自由度の高い
接続を行うことができる。また、各機器はそれぞれIDを
有し、互いにIDを認識し合うことによって、1394シリア
ルバスで接続された範囲において、一つのネットワーク
を構成している。例えば、各機器間をそれぞれ一本の13
94シリアルバス用ケーブルでディジーチェーン接続する
だけで、それぞれの機器が中継の役割を担うので、全体
として一つのネットワークを構成することができる。
The connection between the devices can be a mixture of the daisy chain system and the node branching system, 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.

【0025】また、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.

【0026】また、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.

【0027】図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.

【0028】ファームウェア部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.

【0029】また、ソフトウェア部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.

【0030】図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.

【0031】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.

【0032】それぞれの機器内で使用される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.

【0033】レジスタ空間の、最初の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.

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

【0035】以上が、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.

【0036】[0036]

【1394シリアルバスの詳細】 [1394シリアルバスの電気的仕様]図5は1394シリアル
バス用のケーブルの断面を示す図である。1394シリアル
バス用ケーブルには、二組のツイストペア信号線の他
に、電源ラインが設けられている。これによって、電源
を持たない機器や、故障などにより電圧が低下した機器
にも電力の供給が可能になる。電源線により供給される
直流電力の電圧は8〜40V、電流は最大電流1.5Aに規定さ
れている。なお、DVケーブルと呼ばれる規格では、電源
ラインを省いた四線で構成される。
[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 the DC power supplied from the power supply line is regulated to 8 to 40 V, and the current is regulated to a maximum current of 1.5 A. In the standard called DV cable, it is composed of four wires omitting a power supply line.

【0037】[DS-Link方式]図6は1394シリアルバスで
採用されている、データ転送方式のDS-Link(Data/Strob
e Link)方式を説明するための図である。
[DS-Link Method] FIG. 6 shows a data transfer method of DS-Link (Data / Strob) adopted in the 1394 serial bus.
FIG. 3 is a diagram for explaining an (e Link) method.

【0038】DS-Link方式は、高速なシリアルデータ通
信に適し、二組の信号線を必要とする。つまり、二組の
より対線のうち一組でデータ信号を送り、もう一組でス
トローブ信号を送る構成になっている。受信側では、こ
のデータ信号と、ストローブ信号との排他的論理和をと
ることによってクロックを生成することができるという
特徴がある。このため、DS-Link方式を用いると、デー
タ信号中にクロック信号を混入させる必要がないので他
のシリアルデータ転送方式に比べて転送効率が高い、ク
ロック信号を生成できるので位相ロックドループ(PLL)
回路が不要になり、その分コントローラLSIの回路規模
を小さくすることができる。さらに、転送すべきデータ
が無いときにアイドル状態であることを示す情報を送る
必要が無いので、各機器のトランシーバ回路をスリープ
状態にすることができ、消費電力の低減が図れる、など
が挙げられる。
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. .

【0039】[バスリセットのシーケンス]1394シリア
ルバスに接続されている各機器(ノード)にはノードID
が与えられ、ネットワークを構成するノードとして認識
される。例えば、ネットワーク機器の接続分離や電源の
オン/オフなどによるノード数の増減、つまりネットワ
ーク構成に変化があり、新たなネットワーク構成を認識
する必要があるとき、その変化を検知した各ノードはバ
ス上にバスリセット信号を送信して、新たなネットワー
ク構成を認識するモードに入る。このネットワーク構成
の変化の検知は、コネクタポート810においてバイアス
電圧の変化を検知することによって行われる。
[Bus Reset Sequence] Each device (node) connected to the 1394 serial bus has a node ID.
Are given, and are recognized as nodes constituting 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.

【0040】あるノードからバスリセット信号が送信さ
れると、各ノードのフィジカルレイヤ811はこのバスリ
セット信号を受けると同時にリンクレイヤ812にバスリ
セットの発生を伝達し、かつ他のノードにバスリセット
信号を伝達する。最終的にすべてのノードがバスリセッ
ト信号を受信した後、バスリセットのシーケンスが起動
される。なお、バスリセットのシーケンスは、ケーブル
が抜き挿しされた場合や、ネットワークの異常等をハー
ドウェアが 検出した場合に起動されるとともに、プロ
トコルによるホスト制御などフィジカルレイヤ811に直
接命令を与えることによっても起動される。また、バス
リセットのシーケンスが起動されると、データ転送は、
一時中断され、バスリセットの間は待たされ、バスリセ
ット終了後、新しいネットワーク構成の基で再開され
る。
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 upon 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.

【0041】[ノードID決定のシーケンス]バスリセッ
トの後、各ノードは新しいネットワーク構成を構築する
ために、各ノードにIDを与える動作に入る。このとき
の、バスリセットからノードID決定までの一般的なシー
ケンスを図7から図9に示すフローチャートを用いて説明
する。
[Node ID Determination Sequence] 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.

【0042】図7は、バスリセット信号の発生から、ノ
ードIDが決定し、データ転送が行えるようになるまでの
一連のシーケンス例を示すフローチャートである。各ノ
ードは、ステップS101でバスリセット信号の発生を常時
監視し、バスリセット信号が発生するとステップS102に
移り、ネットワーク構成がリセットされた状態において
新たなネットワーク構成を得るために、互いに直結され
ているノード間で親子関係が宣言される。そしてステッ
プS103の判定により、すべてのノード間で親子関係が決
ったと判定されるまでステップS102が繰り返される。
FIG. 7 is a flowchart showing an example of a sequence from when the bus reset signal is generated until the node ID is determined and data transfer can be performed. Each node constantly monitors the occurrence of a bus reset signal in step S101, and when a bus reset signal is generated, moves to step S102, and is directly connected to each other to obtain a new network configuration in a state where the network configuration is reset. A parent-child relationship is declared between nodes. Step S102 is repeated until it is determined in step S103 that the parent-child relationship has been determined between all nodes.

【0043】親子関係が決定するとステップS104へ進み
ルート(root)ノードが決定され、ステップS105で各ノー
ドにIDを与えるノードIDの設定作業が行われる。ルート
ノードから所定のノード順にノードIDの設定が行われ、
ステップS106の判定により、すべてのノードにIDが与え
られたと判定されるまでステップS105が繰り返される。
When the parent-child relationship is determined, the process proceeds to step S104, where a 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.

【0044】ノード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.

【0045】図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), and FIG. 9 is a flowchart showing a detailed example of the node ID setting (S105, S106).

【0046】図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.

【0047】バスリセットの直後に親子関係の宣言を行
えるのは実際のリーフノードに限られている。リーフノ
ードであるか否かはステップ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.

【0048】一方、ステップS203でポート数が「2以
上」であったノード、つまりブランチノードは、バスリ
セットの直後は「未定義ポート数>1」であるからステッ
プS206へ進み、フラグFLにブランチノードを示すデータ
をセットし、ステップS207で他ノードから親子関係が宣
言されるのを待つ。他ノードから親子関係が宣言され、
それを受けたブランチノードはステップS204に戻り、未
定義ポート数を確認するが、もし未定義ポート数が
「1」になっていれば残るポートに接続された他ノード
に対して、ステップS205で「自分は子、相手は親」の親
子関係を宣言することができる。また、未だ未定義ポー
ト数が「2以上」あるブランチノードは、ステップS207
で再び他ノードから親子関係が宣言されるのを待つこと
になる。
On the other hand, the node whose number of ports is "2 or more" in step S203, that is, the branch node, is "undefined port number>1" immediately after the bus reset, so that the process proceeds to step S206 and branches to the flag FL. 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.

【0049】何れか一つのブランチノード(または例外
的に、子宣言を行えるのにもかかわらず、すばやく動作
しなかったリーフノード)の未定義ポート数が「0」に
なると、ネットワーク全体の親子関係の宣言が終了した
ことになり、未定義ポート数が「0」になった唯一のノ
ード、つまりすべてノードの親に決まったノードは、ス
テップS208でフラグFLにルートノードを示すデータをセ
ットし、ステップS209でルートノードとして認識され
る。
When the number of undefined ports of any one of the branch nodes (or, in exceptional cases, a leaf node that has been able to declare a child but did not operate quickly) 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.

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

【0051】次に、各ノードに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).

【0052】図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.

【0053】まずリーフノードの場合は、ステップ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.

【0054】ステップ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 again in step S303. 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.

【0055】ブランチノードの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.

【0056】ステップ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 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.

【0057】ここまで終了すると、最終的に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.

【0058】以上で、すべてのノードの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.

【0059】図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 a node B which is a root, a node D is directly connected below a node C, and a node E and a node D are directly below a 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.

【0060】バスリセットが発生した後、各ノードの接
続状況を認識するために、各ノードの直結されているポ
ート間において、親子関係の宣言がなされる。ここでい
う親子とは、階層構造の上位が「親」、下位が「子」と
いう意味である。図10では、バスリセットの後、最初に
親子関係を宣言したのはノードAである。前述したよう
に、一つのポートだけが接続されたノード(リーフ)か
ら親子関係の宣言を開始することができる。これは、ポ
ート数が「1」であればネットワークツリーの末端、つ
まりリーフノードであることが認識され、それらリーフ
ノードの中で最も早く動作を行ったノードから親子関係
が決定されて行くことになる。こうして親子関係の宣言
を行ったノードのポートが、互いに接続された二つのノ
ードの「子」と設定され、相手ノードのノードが「親」
と設定される。こうして、ノードA-B間、ノードE-D間、
ノードF-D間で「子-親」の関係が設定される。
After the bus reset occurs, in order to recognize the connection status of each node, a parent-child relationship is declared between the directly connected ports 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.

【0061】さらに、階層が一つ上がって、複数のポー
トをもつノード、つまりブランチノードのうち他ノード
から親子関係の宣言を受けたノードから順次、上位のノ
ードに対して親子関係を宣言する。図10ではまずノード
D-E間、D-F間の親子関係が決定された後、ノードDがノ
ードCに対して親子関係を宣言し、その結果、ノードD-C
間で「子-親」の関係が設定される。ノードDから親子関
係の宣言を受けたノードCは、もう一つのポートに接続
されているノードBに対して親子関係を宣言し、これに
よってノードC-B間で「子-親」の関係が設定される。
Further, the hierarchy goes up by one, and the parent-child relationship is declared to the higher-order node sequentially from the node having a plurality of ports, that is, the node that has received the declaration of the parent-child relationship from another node among the branch nodes. 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.

【0062】このようにして、図10に示すような階層構
造が構成され、最終的に接続されているすべてのポート
において親となったノードBが、ルートノードと決定さ
れる。なお、ルートノードは一つのネットワーク構成中
に一つしか存在しない。また、ノードAから親子関係を
宣言されたノードBが、速やかに、他のノードに対して
親子関係を宣言した場合は、例えばノードCなどの他の
ノードがルートノードになる可能性もあり得る。すなわ
ち、親子関係の宣言が伝達されるタイミングによって
は、どのノードもルートノードになる可能性があり、ネ
ットワーク構成が同一であっても、特定のノードがルー
トノードになるとは限らない。
In this way, a hierarchical structure as shown in FIG. 10 is formed, and the parent node B 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.

【0063】ルートノードが決定されると、各ノード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.

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

【0065】すべてのリーフノードがノード番号を取得
し終わると、次はブランチノードへ移りリーフノードに
続くノード番号が割当てられる。リーフノードと同様
に、ノード番号が割当てられたブランチノードから順に
ID情報がブロードキャストされ、最後にルートノードが
自己のID情報をブロードキャストする。従って、ルート
ノードは常に最大のノード番号を所有することになる。
When all the leaf nodes have acquired 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.

【0066】以上のようにして、階層構造全体のID設定
が終わり、ネットワーク構成が構築され、バスの初期化
作業が完了する。
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.

【0067】[ノード管理のための制御情報]ノード管
理を行うためのCSRアーキテクチャの基本的な機能とし
て、図4に示したCSRコアがレジスタ上に存在する。それ
らレジスタの位置と機能を図11に示すが、図中のオフセ
ットは0xFFFFF0000000からの相対位置である。
[Control Information for Node Management] As a basic function of the CSR architecture for performing node management, a CSR core shown in FIG. 4 exists on a register. The locations and functions of these registers are shown in FIG. 11, where the offsets are relative to 0xFFFFF0000000.

【0068】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.

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

【0070】CSRアーキテクチャでは、各ノードの機能
を表すためコンフィグレーションROMをもっているが、
このROMには最小形式と一般形式があり、0xFFFFF000040
0から配置される。最小形式では図14に示すようにベン
ダIDを表すだけであり、このベンダIDは24ビットで表さ
れる全世界で固有の値である。
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.

【0071】また、一般形式は図15に示すような形式
で、ノードに関する情報をもっているが、この場合、ベ
ンダIDはルートディレクトリ(root_directory)にもつこ
とができる。また、バス情報ブロック(bus info block)
とルートリーフ(root leaf)にはベンダIDを含む64ビッ
トの全世界で固有な装置番号をもっている。この装置番
号は、バスリセットなどの再構成後に継続してノードを
認識するために使用される。
The general format has information on nodes in the format as shown in FIG. 15. 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.

【0072】[シリアルバス管理]1394シリアルバスの
プロトコルは、図3に示したように、フィジカルレイヤ8
11、リンクレイヤ812およびトランザクションレイヤ814
から構成されている。この中で、バス管理は、CSRアー
キテクチャに基づくノードの制御とバス資源管理のため
の基本的な機能を提供している。
[Serial Bus Management] The protocol of the 1394 serial bus is, as shown in FIG.
11, link layer 812 and transaction layer 814
It is composed of Among them, bus management provides basic functions for node control and bus resource management based on the CSR architecture.

【0073】バス管理を行うノード(以下「バス管理ノ
ード」と呼ぶ)は、同一バス上に唯一存在し、シリアル
バス上の他のノードに管理機能を提供するが、この管理
機能にはサイクルマスタの制御や、性能の最適化、電源
管理、伝送速度管理、構成管理などがある。
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.

【0074】バス管理機能は、バスマネージャ、同期
(アイソクロノス)リソースマネージャおよびノード制
御の三つの機能に大きく別けられる。ノード制御は、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.

【0075】また、バス上にバス管理ノードが存在しな
い構成では、電源管理やサイクルマスタの制御のような
バス管理の一部の機能を同期リソースマネージャ機能を
もつノードが行う。さらにバス管理は、アプリケーショ
ンに対してバス制御のインタフェイスを提供するサービ
スを行う管理機能であり、その制御インタフェイスには
シリアルバス制御要求(SB_CONTROL.request)、シリアル
バスイベント制御確認(SB_CONTROL.confirmation)、シ
リアルバスイベント通知(SB_EVENT.indication)があ
る。
In a configuration in which a bus management node does not exist on the bus, a node having a synchronous resource manager function performs part of the bus management such as power management and cycle master control. Further, the bus management is a management function for performing 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.confirmation). ), And serial bus event notification (SB_EVENT.indication).

【0076】シリアルバス制御要求は、バスのリセッ
ト、バスの初期化、バスの状態情報などを、アプリケー
ションからバス管理ノードに要求する場合に利用され
る。シリアルバスイベント制御確認は、シリアルバス制
御要求の結果で、バス管理ノードからアプリケーション
に確認通知される。シリアルバスイベント通知は、バス
管理ノードからアプリケーションに対して、非同期に発
生されるイベントを通知するためのものである。
The serial bus control request is used when an application requests the bus management node from the application 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.

【0077】[データ転送プロトコル]1394シリアルバ
スのデータ転送は、周期的に送信する必要のある同期デ
ータ(同期パケット)と、任意タイミングのデータ送受
信が許容される非同期データ(非同期パケット)とが同
時に存在し、なおかつ、同期データのリアルタイム性を
保証している。データ転送では、転送に先立ってバス使
用権を要求し、バスの使用許可を得るためのバスアービ
トレーションが行われる。
[Data Transfer Protocol] In the data transfer of the 1394 serial bus, synchronous data (synchronous packets) that need to be transmitted periodically and asynchronous data (asynchronous packets) for which data transmission / reception at an arbitrary timing is allowed are simultaneously performed. It exists and guarantees the real-time property of synchronous data. In data transfer, prior to the transfer, a bus use right is requested, and bus arbitration for obtaining a bus use permission is performed.

【0078】非同期転送においては、送信ノード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.

【0079】同期転送においては、送信ノードが伝送速
度とともに同期チャネルを要求し、チャネル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 as packet data together with the transfer 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.

【0080】これらのデータ転送プロトコルは、フィジ
カルレイヤ811、リンクレイヤ812およびトランザクショ
ンレイヤ814の三つのレイヤによって定義される。フィ
ジカルレイヤ811は、バスとの物理的・電気的インタフ
ェイス、ノード接続の自動認識、ノード間のバス使用権
のバスアービトレーションなどを行う。リンクレイヤ81
2は、アドレッシング、データチェック、パケット送受
信、そして同期転送のためのサイクル制御を行う。トラ
ンザクションレイヤ814は、非同期データに関する処理
を行う。以下、各レイヤにおける処理について説明す
る。
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.

【0081】[フィジカルレイヤ]次に、フィジカルレ
イヤ811におけるバスアービトレーションを説明する。
[Physical Layer] Next, bus arbitration in the physical layer 811 will be described.

【0082】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.

【0083】図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.

【0084】バスの使用権の要求を受けたルートノード
は、どのノードにバスの使用権を与えるかを決める。こ
のアービトレーション作業はルートノードのみが行える
ものであり、アービトレーションに勝ったノードにはバ
スの使用許可が与えるられる。図17は、ノードCにバス
の使用許可が与えられ、ノードFのバスの使用権の要求
は拒否された状態を示している。
The root node having 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.

【0085】ルートノードは、バスアービトレーション
に負けたノードに対してはDP(dataprefix)パケットを送
り、そのバスの使用権の要求が拒否されたことを知らせ
る。バスアービトレーションに負けたノードのバスの使
用権の要求は、次回のバスアービトレーションまで待た
されることになる。
The root node sends a DP (data prefix) 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.

【0086】以上のようにして、アービトレーションに
勝ってバス使用の許可を得たノードは、以降、データ転
送を開始することができる。ここで、バスアービトレー
ションの一連の流れを図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.

【0087】ノードがデータ転送を開始できるために
は、バスがアイドル状態であることが必要である。先に
開始されたデータ転送が終了し、現在、バスがアイドル
状態にあることを確認するためには、各転送モードで個
別に設定されている所定のアイドル時間ギャップ長(例
えば、サブアクションギャップ)の経過を検出し、所定
のギャップ長が検出された場合、各ノードはバスがアイ
ドル状態になったと判断する。各ノードは、ステップ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.

【0088】各ノードは、ステップ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.

【0089】ルートノードは、ステップS404でバスの使
用権を要求する信号を一つ以上受信したら、ステップS4
05で使用権を要求したノードの数を調べる。ステップS4
05の判定により、使用権を要求したノードが一つだった
ら、そのノードに、直後のバス使用許可が与えられるこ
とになる。また、使用権を要求したノードが複数だった
ら、ステップS406で直後のバス使用許可を与えるノード
を一つに絞るアービトレーション作業が行われる。この
アービトレーション作業は、毎回同じノードばかりにバ
スの使用許可を与えるようなことはなく、平等にバスの
使用許可を与えるようになっている(フェア・アービト
レーション)。
When the root node receives at least one signal requesting the right to use the bus in 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).

【0090】ルートノードの処理は、ステップ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.

【0091】[トランザクションレイヤ]トランザクシ
ョンの種類には、リードトランザクション、ライトトラ
ンザクションおよびロックトランザクションの三種類が
ある。
[Transaction Layer] There are three types of transactions: read transactions, write transactions, and lock transactions.

【0092】リードトランザクションでは、イニシエー
タ(要求ノード)がターゲット(レスポンスノード)の
メモリの特定アドレスからデータを読取る。ライトトラ
ンザクションでは、イニシエータがターゲットのメモリ
の特定アドレスにデータを書込む。また、ロックトラン
ザクションでは、イニシエータからターゲットに参照デ
ータと更新データを転送する。その参照データは、ター
ゲットのアドレスのデータと組み合わされて、ターゲッ
トの特定のアドレスを指示する指定アドレスになる。そ
して、この指定アドレスのデータが更新データにより更
新される。
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.

【0093】図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.

【0094】トランザクション要求(TR_DATA.request)
はレスポンスノードに対するパケットの転送、トランザ
クション通知(TR_DATA.indication)はレスポンスノード
に要求が届いたことの通知、トランザクションレスポン
ス(TR_DATA.response)はアクノリッジの送信、トランザ
クション確認(TR_DATA.confirmation)はアクノリッジの
受信である。
Transaction request (TR_DATA.request)
Is the transfer of the packet to the response node, the transaction notification (TR_DATA.indication) is the notification that the request has arrived at the response node, the transaction response (TR_DATA.response) is the transmission of the acknowledgment, and the transaction confirmation (TR_DATA.confirmation) is the reception of the acknowledgment It is.

【0095】[リンクレイヤ]図20はリンクレイヤ812
におけるサービスを示す図で、レスポンスノードに対す
るパケットの転送を要求するリンク要求(LK_DATA.reque
st)、レスポンスノードにパケット受信を通知するリン
ク通知(LK_DATA.indication)、レスポンスノードからの
アクノリッジ送信のリンクレスポンス(LK_DATA.respons
e)、要求ノードのアクノリッジ送信のリンク確認(LK_DA
TA.confirmation)のサービス単位に分けられる。一つの
パケット転送プロセスはサブアクションと呼ばれ、非同
期サブアクションと同期サブアクションの二つの種類が
ある。以下では、各サブアクションの動作について説明
する。
[Link Layer] FIG. 20 shows the link layer 812.
Is a link request (LK_DATA.requeue) requesting transfer of a packet to a response node.
st), a link notification (LK_DATA.indication) that notifies the response node of packet reception, and a link response (LK_DATA.respons) for acknowledgment transmission from the response node.
e), link confirmation of acknowledgment transmission of request node (LK_DA
TA.confirmation) is divided into service units. 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.

【0096】[非同期サブアクション]非同期サブアク
ションは非同期データ転送である。図21は非同期転送に
おける時間的な遷移を示す図である。図21に示す最初の
サブアクションギャップは、バスのアイドル状態を示す
ものである。このアイドル時間が所定値になった時点
で、データ転送を希望するノードがバス使用権を要求
し、バスアービトレーションが実行される。
[Asynchronous Subaction] The 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.

【0097】バスアービトレーションによりバスの使用
が許可されると、次に、データがパケット転送され、こ
のデータを受信したノードは、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 receiving this 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.

【0098】図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.

【0099】また、非同期転送は送信ノードから受信ノ
ードへの一対一の通信である。送信元ノードから送り出
されたパケットは、ネットワーク中の各ノードに行き渡
るが、各ノードは自分宛てのパケット以外は無視するの
で、宛先に指定されたノードだけがそのパケットを受取
ることになる。
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.

【0100】[スプリットトランザクション]トランザ
クションレイヤ814におけるサービスは、図19で示した
トランザクション要求およびトランザクションレスポン
スのセットで行われる。ここで、ターゲット(レスポン
スノード)のリンクレイヤ812およびトランザクション
レイヤ814における処理が充分高速であれば、要求とレ
スポンスをリンクレイヤ812のそれぞれ独立したサブア
クションで処理せず、一つのサブアクションで処理する
ことが可能になる。しかし、ターゲットの処理速度が遅
い場合は、要求とレスポンスを個別のトランザクション
で処理する必要がある。そして、この動作をスプリット
トランザクションと呼ぶ。
[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.

【0101】図23はスプリットトランザクションの動作
例を示す図で、イニシエータ(要求ノード)のコントロ
ーラからのライト要求に対して、ターゲットはペンディ
ングを返す。これにより、ターゲットは、コントローラ
のライト要求に対する確認情報を返すことができ、デー
タを処理するための時間を稼ぐことができる。そして、
データ処理に充分な時間が経過した後、ターゲットは、
ライトレスポンスをコントローラに通知してライトトラ
ンザクションを終了させる。なお、このときの要求とレ
スポンスのサブアクションの間には、他のノードによる
リンクレイヤ812の操作が可能である。
FIG. 23 is a diagram showing an operation example of a split transaction. In response to a write request from the controller of the initiator (request node), the target returns a pending status. 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.

【0102】図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.

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

【0104】そして、サブアクションギャップが挿入さ
れた後、サブアクション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 receiving the response returns a complete response in an acknowledgment packet, so that the target responds. The action ends.

【0105】なお、サブアクション1の終了からサブア
クション2の開始に至る時間は、最小はサブアクション
ギャップに相当する時間であり、最大はノードに設定さ
れた最大待ち時間まで伸ばすことが可能である。
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. .

【0106】[同期サブアクション]1394シリアルバス
の最大の特徴であるともいえるこの同期転送は、とくに
AVデータなどのリアルタイム転送を必要とするデータの
転送に適している。また、非同期転送が一対一の転送で
あるのに対し、この非同期転送はブロードキャスト機能
によって、一つの送信元ノードから他のすべてのノード
へ一様にデータを転送することができる。
[Synchronous Subaction] This synchronous transfer, which can be said to be the greatest feature of the 1394 serial bus, is particularly
It is suitable for transferring data such as AV data that requires real-time transfer. In contrast to the asynchronous transfer, which is a one-to-one transfer, the asynchronous transfer can uniformly transfer data from one source node to all other nodes by a broadcast function.

【0107】図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 regular 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.

【0108】また、図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.

【0109】同期転送によるパケット送信に先立ち、非
同期転送と同様に、バスアービトレーションが行われ
る。しかし、非同期転送のように一対一の通信ではない
ので、同期転送には受信確認用の返送コードの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.

【0110】また、図25に示したisoギャップ(同期ギ
ャップ)は、同期転送を行う前にバスがアイドル状態で
あることを確認するために必要なアイドル期間を表して
いる。この所定のアイドル期間を検出したノードは、バ
スがアイドル状態にあると判断し、同期転送を行いたい
場合はバス使用権を要求するのでバスアービトレーショ
ンが行われることになる。
The iso gap (synchronous gap) shown in FIG. 25 indicates 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.

【0111】図26は同期転送用のパケットフォーマット
例を示す図である。各チャネルに分けられた各種のパケ
ットには、それぞれデータ部および誤り訂正用のデータ
CRCのほかにヘッダ部があり、そのヘッダ部には図27に
示すような、転送データ長、チャネル番号、その他各種
コードおよび誤り訂正用のヘッダCRCなどが書込まれて
いる。
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.

【0112】[バス・サイクル]実際に、1394シリアル
バスにおいては、同期転送と非同期転送が混在できる。
図28は同期転送と非同期転送が混在するときの転送状態
の時間的遷移を示す図である。
[Bus Cycle] In a 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.

【0113】ここで、前述したように同期転送は非同期
転送より優先して実行される。その理由は、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.

【0114】図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.

【0115】このバスアービトレーションからパケット
転送までの動作を、与えられているチャネル分繰り返し
行った後、サイクル#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 the 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). .

【0116】図28に示すサイクル#mでは、三つのチャ
ネル分の同期転送の後、非同期転送によりACKを含む2パ
ケット(パケット1、パケット2)が転送されている。こ
の非同期パケット2の後、サイクルm+1をスタートすべき
時間(cycle synch)に至るので、サイクル#mにおける転
送はこれで終わる。ただし、非同期または同期転送中に
次のCSPを送信すべき時間(cycle synch)に至ったら、転
送を無理に中断せず、その転送が終了した後にアイドル
期間を経て次の同期サイクルのCSPを送信する。すなわ
ち、一つの同期サイクルが125μs以上続いたときは、そ
の延長分、次の同期サイクルは基準の125μsより短縮さ
れる。このように同期サイクルは125μsを基準に超過、
短縮し得るものである。
In 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.

【0117】しかし、同期転送はリアルタイム転送を維
持するために、必要であれば毎サイクル実行され、非同
期転送は同期サイクル時間が短縮されたことによって次
以降の同期サイクルに延期されることもある。サイクル
マスタは、こういった遅延情報も管理する。
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.

【0118】[FCP]AV/Cプロトコルでは、1394シリア
ルバス上の装置を制御するために機能制御プロトコルFC
P(Functional Control Protocol)が用意されている。FC
Pの制御コマンドの送信とレスポンスには、IEEE1394で
規定されている非同期パケットが用いられる。FCPにお
いては、制御側のノードをコントローラ、被制御側のノ
ードをターゲットと呼び、コントローラからターゲット
に送られるFCPパケットフレームをAV/Cコマンドフレー
ム、逆にターゲットからコントローラに返されるFCPパ
ケットフレームをAV/Cレスポンスフレームと呼ぶ。
[FCP] The AV / C protocol uses the function control protocol FC to control devices on the 1394 serial bus.
P (Functional Control Protocol) is prepared. FC
An asynchronous packet defined by IEEE1394 is used for transmission and response of the P control command. In FCP, the controlling node is called a controller, and the controlled node is called a target.An FCP packet frame sent from the controller to the target is an AV / C command frame, and an FCP packet frame returned from the target to the controller is called an AV. Called the / C response frame.

【0119】図29は、ノードAがコントローラ、ノードB
がターゲットの場合を示し、それぞれに用意されている
レジスタアドレスのうち0x0000B00番地からの512バイト
がコマンドレジスタ、0x0000D00番地からの512バイトが
レスポンスレジスタであり、それぞれ非同期転送を用い
たパケットフレームにより、指定されたアドレスのレジ
スタにデータが書込まれる。このときのコントローラに
よるAV/Cコマンドフレームの送信と、ターゲットによる
AV/Cレスポンスフレームのレスポンスの関係は、AV/Cト
ランザクションと呼ばれる。一般的なAV/Cトランザクシ
ョンでは、ターゲットはコマンドフレームを受取ってか
ら100ms以内に、コントローラに対してレスポンスフレ
ームをレスポンスする必要がある。
FIG. 29 shows that node A is a controller and node B
Indicates the target, and 512 bytes from address 0x0000B00 are the command register and 512 bytes from address 0x0000D00 are the response registers, respectively. Data is written to the register at the designated address. At this time, the controller sends the AV / C command frame and the target
The relationship between the responses of the AV / C response frame is called an AV / C transaction. In a general AV / C transaction, the target needs to respond to the controller with a response frame within 100 ms after receiving the command frame.

【0120】図30はFCPパケットフレームを含む非同期
転送のパケットフォーマットを示す図で、図22に示した
非同期データパケットのデータ領域に対して、コマンド
フレームやレスポンスフレームを挿入してAV/Cトランザ
クションが実行される。
FIG. 30 shows a packet format of an asynchronous transfer including an FCP packet frame. A command frame or a response frame is inserted into the data area of the asynchronous data packet shown in FIG. Be executed.

【0121】図31はAV/Cコマンドフレームの構造を示す
図、図32はAV/Cレスポンスフレームの構造を示す図で、
FCPパケットフレームとしてはヘッダのctype、respons
e、subunit_type、subunit_IDの後に、FCPのデータ部分
がつながった構造になっている。
FIG. 31 is a diagram showing the structure of an AV / C command frame, and FIG. 32 is a diagram showing the structure of an AV / C response frame.
Ctype and response of header as FCP packet frame
The structure is such that the data part of FCP is connected after e, subunit_type, and subunit_ID.

【0122】ctypeは、コマンドフレームにおけるコマ
ンドタイプを示し、CONTROL、STATUS、INQUIRY、NOTIFY
の各状態を示している。
Ctype indicates the command type in the command frame, and includes CONTROL, STATUS, INQUIRY, NOTIFY
Each state is shown.

【0123】responseは、レスポンスフレームにおける
レスポンスコードを示し、ACCEPTED、REJECTED、IN_TRA
NSITION、IMPLEMENTED、CHANGED、INTERIMなどの各状態
を示している。
Response indicates a response code in the response frame, and is ACCEPTED, REJECTED, IN_TRA
Each state such as NSITION, IMPLEMENTED, CHANGED, INTERIM is shown.

【0124】また、subunit_typeはデバイスの分類、su
bunit_IDはインスタンス番号を示している。
Further, subunit_type is the classification of the device, su
bunit_ID indicates an instance number.

【0125】FCPのデータ部分はオペコード+オペランド
の構成になっていて、各種のAV/Cコマンドを使ってター
ゲットの制御を行ったり、AV/Cレスポンスのレスポンス
をすることができる。
The data portion of the FCP has a structure of an operation code + operand, and can control a target using various AV / C commands and can provide an AV / C response.

【0126】コマンドフレームにおけるオペコード(opc
ode)は、図50に示すcommand列に示されたコマンド群の
一つであり、各コマンドはctypeにセットされるコマン
ドタイプに従った内容で実行される。
An operation code (opc) in the command frame
ode) is one of the command groups shown in the command column shown in FIG. 50, and each command is executed according to the command type set in ctype.

【0127】ctypeにより「CONTROL」が指定されたコマ
ンドは、制御コマンドを意味し、ターゲットの機器を制
御したり、オペランド(oprand)以降に設定された内容で
ターゲットを設定する。ctypeにより「STATUS」が指定
されたコマンドは、そのコマンドに対応するステータス
を得るためのものである。ctypeにより「INQUIRY」が指
定されたコマンドは、そのコマンドにより設定可能な内
容を問い合わせるためのものである。ctypeに「NOTIF
Y」が指定されたコマンドは、そのコマンドの確認を行
うためのものである。
A command in which "CONTROL" is designated by ctype means a control command, which controls a target device or sets a target with contents set after an operand (oprand). Commands for which “STATUS” is specified by ctype are for obtaining the status corresponding to the command. Commands for which "INQUIRY" is specified by ctype are for inquiring about the contents that can be set by the command. ctype "NOTIF
The command designated with "Y" is for confirming the command.

【0128】各コマンドは、各コマンドに必要な内容が
オペランドに設定され、コマンドフレームに書込まれ
る。
As for each command, the contents required for each command are set in the operands and written in the command frame.

【0129】レスポンスフレームにおけるオペコードに
は、図50のresponse列に示されるレスポンスコードが設
定される。各レスポンスは、各レスポンスに対応するオ
ペランドを有する。レスポンスのオペランドには、コマ
ンドの実行が正常に終了したか、エラー終了したかを示
す情報がセットされるので、このオペランドに従ってエ
ラー処理を行うことができる。
The response code shown in the response column of FIG. 50 is set as the operation code in the response frame. Each response has an operand corresponding to each response. In the response operand, information indicating whether the execution of the command has been normally completed or ended in error is set, so that error processing can be performed according to this operand.

【0130】[0130]

【LOGINプロトコル】[LOGIN protocol]

[LOGINプロトコルを用いた通信]図33は、1394シリア
ルバスのインタフェイスをLANでよく用いられるOSIモデ
ルの各層と対比させた図である。OSIモデルの物理層1と
データリンク層2が、1394シリアルバスのインタフェイ
スの下位層4であるフィジカルレイヤ811およびリンクレ
イヤ812に該当する。下位層4の上に存在する1394シリア
ルバスのインタフェイスにおけるトランスポートプロト
コル層5とプレゼンテーション層6は、OSIモデルのネッ
トワーク層、トランスポート層、セッション層およびプ
レゼンテーション層を含む上位層3に該当する。また、L
OGINプロトコル7は、1394シリアルバスのインタフェイ
スの下位層4とトランスポートプロトコル層5との間で動
作するものである。
[Communication Using LOGIN Protocol] FIG. 33 is a diagram in which the interface of the 1394 serial bus is compared with each layer of the OSI model often used in LAN. The physical layer 1 and the data link layer 2 of the OSI model correspond to a physical layer 811 and a link layer 812, which are lower layers 4 of the interface of the 1394 serial bus. The transport protocol layer 5 and the presentation layer 6 in the interface of the 1394 serial bus existing on the lower layer 4 correspond to the upper layer 3 including the network layer, the transport layer, the session layer, and the presentation layer of the OSI model. Also, L
The OGIN protocol 7 operates between the lower layer 4 of the 1394 serial bus interface and the transport protocol layer 5.

【0131】図33に示す例1では、プリンタなどの周辺
機器用のシリアルバスプロトコル(SBP-2)8に準拠したデ
バイスにLOGINプロトコル7をもたせることによって、相
手のデバイスに対してSBP-2に準拠したプロトコルを使
ってデータのやり取りを行いたいことを通知させること
ができる。
In the example 1 shown in FIG. 33, a device conforming to the serial bus protocol (SBP-2) 8 for peripheral devices such as a printer is provided with the LOGIN protocol 7 so that the device of the other party can communicate with the SBP-2. It is possible to notify that data exchange is desired using a compliant protocol.

【0132】また図33に示す例2では、1394シリアルバ
スのインタフェイス上で特化されたデバイスプロトコル
9についても、LOGINプロトコル7をもたせることで、デ
バイスが互いに、互いのプロトコルをサポートしている
かを判別させることができる。
In Example 2 shown in FIG. 33, a device protocol specialized on the interface of the 1394 serial bus is used.
Also for the device 9, by providing the LOGIN protocol 7, the devices can determine whether or not the devices support each other's protocol.

【0133】図34はLOGINプロトコル7の基本動作を示す
図で、プリンタデバイスは、ホストデバイスからの印刷
タスク(print task)10を実行する際に、まず、プリンタ
に用意されているプリンタプロトコルA、BおよびCの
内、どれを選択して印刷データをやり取りするかをLOGI
Nプロトコル7による通信に基づき決定し、その後は、決
定したプリンタプロトコルに従って印刷データのやり取
りを行う。すなわち、幾つかのプリンタプロトコルをサ
ポートしているプリンタデバイスは、ホストデバイスと
接続する際に、まずホストデバイスに用意されているト
ランスポートプロトコル5をLOGINプロトコル7によって
判別し、ホストデバイスのトランスポートプロトコル5
に合ったプリンタプロトコルを選択し、選んだプリンタ
プロトコルに従って印刷データやコマンドのやり取りを
行うことで、印刷タスク10の処理を行う。
FIG. 34 is a diagram showing the basic operation of the LOGIN protocol 7. When a printer device executes a print task 10 from a host device, first, a printer protocol A prepared for the printer, LOGI selects which of B and C to exchange print data
The print data is determined based on the communication according to the N protocol 7, and thereafter, the print data is exchanged according to the determined printer protocol. That is, when connecting to a host device, a printer device that supports several printer protocols first determines the transport protocol 5 prepared in the host device by the LOGIN protocol 7, and determines the transport protocol of the host device. Five
The print task 10 is processed by selecting a printer protocol suitable for the printer and exchanging print data and commands according to the selected printer protocol.

【0134】図35は1394シリアルバスにおける接続形態
の一例を示す図で、複数のプリンタプロトコルに対応(m
ulti-protocol support)するプリンタ11に対してLOGIN
プロトコル7を実装したデバイス(PC12、スキャナ13、D
VC14等)が接続された状態を示している。プリンタ11
は、LOGINプロトコル7により判別した、接続を要求する
相手デバイスのトランスポートプロトコル5に応じてプ
リンタプロトコルを切替えることにより、各デバイスか
らの印刷タスクを問題なく処理することが可能となる。
FIG. 35 is a diagram showing an example of a connection form in the 1394 serial bus, which supports a plurality of printer protocols (m
LOGIN for printer 11
Devices implementing protocol 7 (PC12, scanner 13, D
VC14 etc.) are connected. Printer 11
By switching the printer protocol according to the transport protocol 5 of the partner device requesting the connection determined by the LOGIN protocol 7, it is possible to process the print task from each device without any problem.

【0135】図36はログイン動作の流れを示す図であ
る。ステップ1において: ホストデバイスは、ターゲッ
トデバイス(この場合マルチプロトコルプリンタ)をロ
ックする。ターゲットデバイスは、ホストデバイスのケ
ーパビリティ(トランスポートプロトコルを含む)を調
べ、かかるケーパビリティは、後述するレジスタ503に
格納される。
FIG. 36 is a diagram showing the flow of the login operation. In step 1: The host device locks the target device (in this case, a multi-protocol printer). The target device checks the capabilities (including the transport protocol) of the host device, and the capabilities are stored in a register 503 described later.

【0136】ステップ2において: ステップ1で設定され
たプロトコルによりプリントデータの通信が行われる。
In step 2: Communication of print data is performed according to the protocol set in step 1.

【0137】ステップ3において: ホストデバイスは、
ターゲットデバイスとのコネクションを切断する。
In step 3: the host device:
Disconnect the connection with the target device.

【0138】図37はLOGINプロトコル7のためにターゲッ
トデバイスであるプリンタが備える1394シリアルバスの
CSRを示し、ロックレジスタ(lock)501、プロトコルレジ
スタ(protocol)502、ケーパビリティレジスタ(capabili
ty)503を示している。これらのレジスタは1394シリアル
バスのアドレス空間における初期ユニット空間の定めら
れたアドレスに配置される。つまり、図4を用いて説明
したように、機器に与えられたアドレス幅48bitのう
ち、最初の20ビットにおける0xFFFFFがレジスタ空間と
呼ばれ、その最初の512バイトにCSRアーキテクチャのコ
アになるレジスタ(CSRコア)が配置されている。
FIG. 37 shows a 1394 serial bus provided in a printer as a target device for LOGIN protocol 7.
Indicates CSR, lock register (lock) 501, protocol register (protocol) 502, capability register (capabili
ty) 503. These registers are arranged at predetermined addresses in the initial unit space in the address space of the 1394 serial bus. That is, as described with reference to FIG. 4, of the 48-bit address width given to the device, 0xFFFFF in the first 20 bits is called a register space, and the first 512 bytes of the register (the core of the CSR architecture) CSR core) is located.

【0139】ロックレジスタ501は、リソースのロック
状態を示し、値「0」はログイン可能な状態を表し、
「0」以外はロック状態で既にログインされていること
を表す。ケーパビリティレジスタ503は、そのビット毎
に設定可能なプロトコルを示し、値‘1’のビットに対
応するプロトコルは設定可能であることを表し、‘0’
に対応するプロトコルは設定不可能であることを表す。
プロトコルレジスタ502は、現在設定されているプロト
コルを示し、設定されたプロトコルに対応するケーパビ
リティレジスタ503のビットに相当するビットの値が
‘1’になる。図38はホストデバイスにおけるログイン
処理を示すフローチャートである。
The lock register 501 indicates a locked state of the resource, and a value “0” indicates a log-in state,
A value other than “0” indicates that the user has already logged in the locked state. The capability register 503 indicates a protocol that can be set for each bit, and indicates that the protocol corresponding to the bit of the value '1' is settable, and '0'
Indicates that the protocol corresponding to cannot be set.
The protocol register 502 indicates the currently set protocol, and the value of the bit corresponding to the bit of the capability register 503 corresponding to the set protocol becomes “1”. FIG. 38 is a flowchart showing a login process in the host device.

【0140】ログインを開始するためには、まずログイ
ンしようとするターゲットデバイス、例えばプリンタの
ロックレジスタ501、プロトコルレジスタ502およびケー
パビリティレジスタ503のデータをリードトランザクシ
ョンにより確認する。ここで、ケーパビリティレジスタ
503のデータから、ホストデバイスが通信に用いるプロ
トコルをターゲットデバイスがサポートしているかどう
か確認する(ステップS601)。
In order to start login, first, data of a lock register 501, a protocol register 502, and a capability register 503 of a target device to be logged in, for example, a printer are confirmed by a read transaction. Where the capability register
From the data of 503, it is confirmed whether or not the target device supports the protocol used by the host device for communication (step S601).

【0141】もしホストデバイスのプロトコルがターゲ
ットデバイスのサポート外ならば、次のステップS602で
ログインを中止する。また、ロックレジスタ501のデー
タが「0」以外であれば、他のデバイスがログイン中で
あるとみなしログインを中止する。ログインレジスタ50
1のデータが「0」であれば現在ログイン可能とみなす
(ステップS602)。
If the protocol of the host device is not supported by the target device, the login is stopped in the next step S602. If the data of the lock register 501 is other than “0”, it is regarded that another device is logging in and the login is stopped. Login register 50
If the data of 1 is "0", it is determined that the current login is possible (step S602).

【0142】ログイン可能の場合、リソースロック処理
に移り、プリンタのロックレジスタ501にロックトラン
ザクションを用いて例えば「1」を書き込みログインを
設定する(ステップS603)。この状態でターゲットデバ
イスはロックされたことになり、他のデバイスからの制
御は不可、またレジスタの変更も不可能となる。
If the login is possible, the process proceeds to the resource lock process, and for example, “1” is written into the lock register 501 of the printer using a lock transaction, and login is set (step S603). In this state, the target device is locked, control from other devices is not possible, and register change is also impossible.

【0143】上記のようにターゲットデバイスのリソー
スがロックされた状態で、次にプロトコルの設定を行
う。ターゲットデバイスである本実施例のプリンタは、
複数のプリンタプロトコルをサポートするため、プリン
トデータを受取る前に、ホストデバイスが使用できるプ
ロトコルを知らねばならない。本実施例においては、ホ
ストデバイスのライトトランザクションにより、プリン
タのプロトコルレジスタ502の相当するビットを設定す
ることで、これから使用するプロトコルをプリンタに通
知する(ステップS604)。
With the resources of the target device locked as described above, the protocol is set next. The printer of the present embodiment, which is the target device,
To support multiple printer protocols, the host device must know which protocols can be used before receiving print data. In this embodiment, by setting the corresponding bit of the protocol register 502 of the printer by the write transaction of the host device, the protocol to be used is notified to the printer (step S604).

【0144】この時点で、ホストデバイスが通信に用い
るプロトコルがターゲットデバイスに通知され、かつタ
ーゲットデバイスがロック状態なので、現在、ターゲッ
トデバイスにログインしているホストデバイスがデー
タ、この場合はプリントデータの送信を行う(ステップ
S605)。
At this point, the protocol used by the host device for communication is notified to the target device, and since the target device is in the locked state, the host device currently logged in to the target device transmits data, in this case, print data. Do (step
S605).

【0145】データの送信が終了したら、ホストデバイ
スはターゲットデバイスのロックレジスタ501およびプ
ロトコルレジスタ503をクリアすることにより、プリン
タからログアウトする(ステップS606)。
When the data transmission is completed, the host device logs out of the printer by clearing the lock register 501 and the protocol register 503 of the target device (step S606).

【0146】図39はターゲットデバイスであるプリンタ
のログイン処理を示すフローチャートである。プリンタ
は、通常、ホストデバイスからログインされるのを待つ
状態にある。ホストデバイスからのプリントリクエスト
は、プリンタのロックレジスタ501、プロトコルレジス
タ502およびケーパビリティレジスタ503の読取りにより
開始されるので、前記レジスタは、常に他のデバイスか
ら読み出し可能な状態にしておく必要がある。
FIG. 39 is a flowchart showing the login processing of the printer as the target device. A printer is usually in a state of waiting for a login from a host device. Since a print request from the host device is started by reading the lock register 501, the protocol register 502, and the capability register 503 of the printer, the register needs to be always readable from another device.

【0147】今、プリントアウトを実行しようとするホ
ストデバイスによりプリンタがロックされたとする(ス
テップS701)。プリンタは、次にホストデバイスから使
用プロトコルが通知されるのを待つ(ステップS702)。
プリンタが、ロック状態になってから使用プロトコルの
通知を待つのは、ログインの途中で、他のデバイスから
のリクエストにより、プロトコルレジスタ503を書き換
えられないようにするためである。
Now, it is assumed that the printer is locked by the host device that intends to execute printout (step S701). The printer waits for the next notification of the used protocol from the host device (step S702).
The reason why the printer waits for the notification of the used protocol after the printer is locked is to prevent the protocol register 503 from being rewritten by a request from another device during login.

【0148】使用プロトコルの通知があったら(ステッ
プS703)、プリンタは、通知された使用プロトコルに自
分のプロトコルをスイッチして(ステップS704、S706お
よびS708)、ホストデバイスのプロトコルに合わせて通
信を行う(ステップS705、S707またはS709)。
When the printer is notified of the used protocol (step S703), the printer switches its own protocol to the notified used protocol (steps S704, S706 and S708), and performs communication in accordance with the protocol of the host device. (Step S705, S707 or S709).

【0149】通信が終了したら、プリンタはロックレジ
スタ501およびプロトコルレジスタ503がクリアされたの
を確認し(ステップS710)、ログインを待つ状態(ステ
ップS701)に戻る。
When the communication is completed, the printer confirms that the lock register 501 and the protocol register 503 have been cleared (step S710), and returns to a state of waiting for login (step S701).

【0150】[LOGINプロトコルをもたないデバイスを
考慮した例]図40はLOGINプロトコル7を実装していない
デバイスを考慮した例を説明する図で、図34に示した第
一例と比較すると、LOGINプロトコル7をもたずプロトコ
ルDをもつデバイスについても対応している点が特徴で
ある。すなわち、LOGINプロトコル7をもつデバイスだけ
でなく、既存のプロトコルD(例えばAV/Cプロトコル)
にのみ対応しているデバイスに対しても例えば印刷動作
を保証するために、プリンタ側にLOGINプロトコル7をも
たないデバイスに対応するプリンタプロトコルを追加し
たものである。
[Example Considering Device Not Having LOGIN Protocol] FIG. 40 is a diagram for explaining an example considering a device not implementing the LOGIN protocol 7. Compared to the first example shown in FIG. The feature is that devices that do not have LOGIN protocol 7 but have protocol D are also supported. That is, not only devices with LOGIN protocol 7 but also existing protocols D (for example, AV / C protocol)
For example, in order to guarantee a printing operation for a device that supports only the printer, a printer protocol corresponding to a device that does not have the LOGIN protocol 7 is added to the printer side.

【0151】この動作について説明すると、接続の初め
に行われるプリントリクエストによってホストデバイス
がLOGINプロトコル7に対応していないことをプリンタが
認識した場合、プリンタはプロトコルDを使ってホスト
デバイスとの通信を試み、通信が成立した場合はそのプ
ロトコルDに従って印刷タスク10を実行する。
To explain this operation, when the printer recognizes that the host device does not support the LOGIN protocol 7 by a print request made at the beginning of the connection, the printer communicates with the host device using the protocol D. If the communication is established, the print task 10 is executed according to the protocol D.

【0152】図41は、図40に示した構成とOSIモデルの
各層とを対比させた図で、例3は、LOGINプロトコル7が
実装されていない現行のAV/Cプロトコルに準拠したAVデ
バイス15をモデルとしている。例4は、LOGINプロトコル
7が実装されていないスキャナ用の非標準プロトコルが
実装されているスキャナ16をモデルとしている。
FIG. 41 is a diagram comparing the configuration shown in FIG. 40 with each layer of the OSI model. Example 3 shows an AV device 15 based on the current AV / C protocol in which the LOGIN protocol 7 is not mounted. Is a model. Example 4 uses the LOGIN protocol
The model is a scanner 16 in which a non-standard protocol for a scanner in which 7 is not implemented is implemented.

【0153】すなわち、LOGINプロトコル7を実装してい
ないプロトコルをもつデバイスについても、そのデバイ
スがもつプロトコルにプリンタが対応することができれ
ば、そのプリンタを利用することができるデバイスの種
類を拡げることができる。
That is, even for a device having a protocol that does not implement the LOGIN protocol 7, if the printer can support the protocol of the device, the types of devices that can use the printer can be expanded. .

【0154】[0154]

【ダイレクトプリントプロトコル】以下では、本発明に
かかるプリンタと画像供給デバイスとの印刷手順を説明
するが、プリンタと画像供給デバイスとを直結し、画像
供給デバイスから供給される画像データに基づく画像形
成をプリンタに行わせるためのプロトコルを「ダイレク
トプリントプロトコル(DPP)」と呼ぶ。
[Direct Print Protocol] In the following, a printing procedure between the printer and the image supply device according to the present invention will be described. However, the printer and the image supply device are directly connected, and an image is formed based on image data supplied from the image supply device. The protocol for the printer to perform is called "direct print protocol (DPP)".

【0155】DPPの基本は、1394シリアルバスの初期ユ
ニット空間(図4のユニット空間で示される)内にコマ
ンド書込みのためのコマンドレジスタ(command)、コマ
ンドに対するレスポンスを書込むためのレスポンスレジ
スタ(response)、転送データを書込むためのデータレジ
スタ(data)、転送データ個別のデータフォーマットに対
応したフォーマット情報を扱うためのフォーマットレジ
スタ(format)から構成される。
The DPP is basically based on a command register (command) for writing a command in an initial unit space (shown as a unit space in FIG. 4) of the 1394 serial bus, and a response register (response) for writing a response to the command. ), A data register (data) for writing transfer data, and a format register (format) for handling format information corresponding to the data format of each transfer data.

【0156】図42はこのレジスタマップを示す図で、コ
マンドレジスタ、レスポンスレジスタは図29を用いて説
明したものと同じである。以降の説明では、画像供給デ
バイスをコントローラ、プリンタをターゲットとし、画
像供給デバイスからプリンタへ画像データを供給して画
像を印刷する例を説明する。
FIG. 42 shows this register map. The command register and the response register are the same as those described with reference to FIG. In the following description, an example will be described in which an image supply device is a controller and a printer is a target, and image data is supplied from the image supply device to the printer to print an image.

【0157】コマンドレジスタ42-1は、プリンタ側の0x
FFFFF0000B00の固定アドレスに配置され、512バイトの
メモリ空間を有し、画像供給デバイスがプリンタに対す
る各種コマンドを書込むためのものである。勿論、コマ
ンドレジスタが画像供給デバイス側にもある場合、プリ
ンタからコマンドを書込むことも可能になる。コマンド
レジスタ42-1に書込まれるコマンドをコマンドフレーム
という。
The command register 42-1 stores 0x on the printer side.
It is located at a fixed address of FFFFF0000B00, has a memory space of 512 bytes, and is used by the image supply device to write various commands to the printer. Of course, if the command register is also on the image supply device side, it is possible to write commands from the printer. The command written in the command register 42-1 is called a command frame.

【0158】レスポンスレジスタ42-2は、画像供給デバ
イス側の0xFFFFF0000D00の固定アドレスに配置され、51
2バイトのメモリ空間を有し、画像供給デバイスからプ
リンタに対して書込まれた各種コマンドに対するレスポ
ンスが書込まれるためのものである。勿論、レスポンス
レジスタがプリンタ側にもある場合、画像供給デバイス
からレスポンスを書込むことも可能になる。レスポンス
レジスタ42-2に書込まれるレスポンスをレスポンスフレ
ームという。なお、図29においてはアドレスの上位0xFF
FFが省略して記述されている。
The response register 42-2 is located at a fixed address of 0xFFFFF0000D00 on the image supply device side.
It has a 2-byte memory space, in which responses to various commands written from the image supply device to the printer are written. Of course, if a response register is also provided on the printer side, it is possible to write a response from the image supply device. The response written in the response register 42-2 is called a response frame. In FIG. 29, the upper 0xFF of the address
FF is abbreviated and described.

【0159】データレジスタ42-3は、FFFFFF0003000hを
デフォルトアドレスとし、BlockAddress, BufferConfig
コマンド(データレジスタのアドレスを定義するコマン
ド)により有効な任意のアドレスに設定される。データ
レジスタ42-3のメモリ空間は、BlockSize, BufferConfi
gコマンド(データレジスタのメモリ空間を定義するコ
マンド)で前もって決められた範囲で設定される。デー
タレジスタ42-3は、画像供給デバイスとプリンタの間で
データの転送を行うためのレジスタで、印刷を行う場合
には画像供給デバイスからプリンタに印刷データが書込
まれる。印刷データは、予め設定された画像フォーマッ
トのデータ形式に従い、データレジスタ42-3に書込まれ
るデータをデータフレームという。
The data register 42-3 uses FFFFFF0003000h as the default address, and uses the BlockAddress, BufferConfig
It is set to any valid address by a command (a command that defines the address of the data register). The memory space of the data register 42-3 is BlockSize, BufferConfi
It is set within the range determined in advance by the g command (command that defines the memory space of the data register). The data register 42-3 is a register for transferring data between the image supply device and the printer. When printing is performed, print data is written from the image supply device to the printer. In the print data, data written in the data register 42-3 according to a data format of a preset image format is called a data frame.

【0160】フォーマットレジスタ42-4は、後述する各
データフォーマットに対応したレジスタ群をまとめたも
ので、各レジスタは各データフォーマットに必要なフォ
ーマット情報を設定するためのレジスタになっている。
つまり、フォーマットレジスタ42-2は、画像供給デバイ
スからプリンタに対してフォーマット情報を書込むため
のレジスタである。フォーマットレジスタ42-2に書込ま
れるフォーマット情報をフォーマットフレームという。
The format register 42-4 is a group of registers corresponding to each data format described later. Each register is a register for setting format information necessary for each data format.
That is, the format register 42-2 is a register for writing format information from the image supply device to the printer. The format information written in the format register 42-2 is called a format frame.

【0161】図43は画像供給デバイスからプリンタへの
フレームの流れを示す図で、コマンドフレーム、レスポ
ンスフレーム、データフレーム、フォーマットフレーム
の流れを表し、画像供給デバイスから出力されたフレー
ムに従いプリンタは印刷を行う。
FIG. 43 is a diagram showing the flow of frames from the image supply device to the printer, showing the flow of command frames, response frames, data frames, and format frames. The printer performs printing in accordance with the frames output from the image supply device. Do.

【0162】画像供給デバイスからプリンタへ送られる
コマンドは、コマンドフレームとしてプリンタのコマン
ドレジスタ43-4へ書込まれる。このコマンドは、図50に
示す印刷を行わせるためのコマンドである。このコマン
ドに対するレスポンスは、プリンタにより画像供給デバ
イスのレスポンスレジスタ43-2に書込まれる。このレス
ポンスは、コマンドを正しく実行されたかどうかを示す
情報およびコマンドに対する戻り値などを含む。画像供
給デバイスからプリンタへ送られるプリントデータは、
データフレームとしてプリンタのデータレジスタ43-6へ
書込まれる。画像供給デバイスからプリンタへ送られる
フォーマット情報は、フォーマットフレームとしてプリ
ンタのフォーマットレジスタ43-7に書込まれる。
The command sent from the image supply device to the printer is written into the command register 43-4 of the printer as a command frame. This command is a command for performing the printing shown in FIG. The response to this command is written into the response register 43-2 of the image supply device by the printer. This response includes information indicating whether the command was executed correctly, a return value for the command, and the like. The print data sent from the image supply device to the printer is
The data is written to the data register 43-6 of the printer as a data frame. The format information sent from the image supply device to the printer is written into the format register 43-7 of the printer as a format frame.

【0163】図44はフォーマットレジスタ43-7の構成例
を示す図である。フォーマットレジスタ43-7は、問い合
わせのための読込専用レジスタINQUIRY 44-1と、設定お
よび情報取得のための読込/書込レジスタCONTROL/STATU
S 44-2とに区分される。INQUIRY 44-1およびCONTROL/ST
ATUS 44-2は、同じ構成のレジスタグループから構成さ
れる。つまり、レジスタグループを構成するレジスタ44
-3から44-7と、レジスタ44-9から44-13とである。
FIG. 44 is a diagram showing a configuration example of the format register 43-7. The format register 43-7 includes a read-only register INQUIRY 44-1 for inquiry and a read / write register CONTROL / STATU for setting and information acquisition.
S 44-2. INQUIRY 44-1 and CONTROL / ST
ATUS 44-2 is composed of register groups having the same configuration. That is, the registers 44 forming the register group
-3 to 44-7 and registers 44-9 to 44-13.

【0164】さらに詳しく説明すると、フォーマットレ
ジスタグループは、共通レジスタグループ(print commo
n register group)を構成するレジスタ44-3および44-4
(44-9および44-10)と、プリンタフォーマットレジス
タグループ(print format register group)を構成する
レジスタ44-5から44-7(44-11から44-13)とから構成さ
れる。
More specifically, a format register group is a common register group (print commo
n register group) registers 44-3 and 44-4
(44-9 and 44-10), and registers 44-5 to 44-7 (44-11 to 44-13) constituting a printer format register group.

【0165】共通レジスタグループは、すべてのデータ
フォーマットに共通なレジスタを集めたレジスタ群であ
り、すべてのプリンタに共通なレジスタGLOBAL 44-3(44
-9)と、個別のプリンタに固有のレジスタLOCAL 44-4(44
-10)とから構成される。
The common register group is a register group in which registers common to all data formats are collected, and registers GLOBAL 44-3 (44
-9) and registers LOCAL 44-4 (44
-10).

【0166】プリンタフォーマットレジスタグループ
は、各データフォーマットに独自の情報を集めたレジス
タ群であり、レジスタformat[1] 44-5(44-11)からforma
t[n] 44-7(44-13)までのn個のレジスタ群からなる。レ
ジスタformat[1]からformat[n]は、後述するデータフォ
ーマットに対応し、実装するデータフォーマットごとに
一つのプリンタフォーマットレジスタグループが割り当
てられる。
The printer format register group is a group of registers in which information unique to each data format is collected. The register format [1] 44-5 (44-11) to forma
t [n] Consists of n register groups up to 44-7 (44-13). The registers format [1] to format [n] correspond to a data format described later, and one printer format register group is assigned to each data format to be mounted.

【0167】なお、各フォーマットレジスタのアドレス
は、データフォーマットを設定するコマンドに対するレ
スポンスとして画像供給デバイスに与えられる。
The address of each format register is provided to the image supply device as a response to a command for setting a data format.

【0168】図45は共通レジスタグループのステータス
レジスタstatus register 44-8の詳細な構成例を示す図
である。ステータスレジスタ44-8はそれぞれ32ビット
の、各ベンダのプリンタに共通なステータスを保持する
共通ステータスレジスタ(common status register)45-1
と、各ベンダにより定義されるステータスを保持するベ
ンダ固有ステータス(vendor specific status registe
r)45-2とから構成される。また、共通ステータスレジス
タ45-1の第31ビットにあるvフラグ(vendor status avai
lable flag)により、ベンダ固有ステータスレジスタ45-
2への拡張が次のように定義される。
FIG. 45 is a diagram showing a detailed configuration example of the status register 44-8 of the common register group. The status register 44-8 is a 32-bit common status register (common status register) 45-1 that holds the status common to the printers of each vendor.
And the vendor specific status registry that holds the status defined by each vendor
r) 45-2. Also, the v flag (vendor status avai) in the 31st bit of the common status register 45-1
lable flag), the vendor-specific status register 45-
The extension to 2 is defined as follows:

【0169】また、共通ステータスレジスタ45-1に保持
される情報は次のようなものがある。 error.warning: エラー、ワーニングなどのステータス paper state: 記録紙に関するステータス print state: 印刷状況に関するステータス
The information held in the common status register 45-1 is as follows. error.warning: Status such as error and warning paper state: Status related to recording paper print state: Status related to printing status

【0170】図46は共通レジスタグループのレジスタGL
OBAL 44-3(44-9)に保持される情報の詳細例を示す図で
ある。レジスタGLOBAL 44-3(44-9)は、DPP(ダイレクト
プリントプロトコル)を搭載するプリンタすべてに共通
な情報を保持する、つまり、プリンタの種別による差異
がない情報を集めたレジスタである。図46はその一例を
示し、記録媒体の種類を示すmedia-type 46-1、記録紙
の大きさを示すpaper-size 46-2、ページのマージン値
を示すpage-margin 46-3、ページの長さを示すpage-len
gth 46-4、ページのオフセットを示すpage-offset 46-
5、プリンタのユニット情報を示すprint-unit 46-6、プ
リンタのカラータイプを示すcolor-type 46-7、データ
のビット順序を示すbit-order 46-8などを含む。
FIG. 46 shows registers GL of the common register group.
FIG. 21 is a diagram illustrating a detailed example of information held in OBAL 44-3 (44-9). The register GLOBAL 44-3 (44-9) holds information common to all printers equipped with the DPP (Direct Print Protocol), that is, registers which collect information having no difference depending on the type of the printer. FIG. 46 shows an example of such a case, in which media-type 46-1 indicates the type of recording medium, paper-size 46-2 indicates the size of the recording paper, page-margin 46-3 indicates the margin value of the page, Page-len indicating the length
gth 46-4, page-offset 46- indicating the page offset
5, print-unit 46-6 indicating the unit information of the printer, color-type 46-7 indicating the color type of the printer, bit-order 46-8 indicating the bit order of the data, and the like.

【0171】図47は共通レジスタグループのレジスタLO
CAL 44-4(44-10)に保持される情報の詳細例を示す図で
ある。レジスタLOCAL 44-4(44-10)は、DPPを搭載するプ
リンタの機種それぞれに独自な情報を保持する、つま
り、プリンタの種別により異なる情報を集めたレジスタ
である。図47はその一例を示し、プリンタ独自の記録紙
の種類を示すpaper 47-1、カラーマッチング方法を示す
CMS 47-2、例えばインクジェットプリンタのインクの種
類を示すink 47-3などを含む。
FIG. 47 shows the register LO of the common register group.
It is a figure showing the detailed example of the information held in CAL44-4 (44-10). The registers LOCAL 44-4 (44-10) hold information unique to each printer model equipped with the DPP, that is, registers that collect different information depending on the type of the printer. Fig. 47 shows an example of this, paper 47-1 indicating the type of recording paper unique to the printer, and the color matching method.
The CMS 47-2 includes, for example, ink 47-3 indicating the type of ink for an ink jet printer.

【0172】図48はレジスタformat[1] 44-5に保持され
る情報の一例を示す図で、画像データフォーマットの一
つであるEXIF(Exchangeable Image File Format)に関す
る情報が保持された例である。この場合、入力のX方向
の割合inX-rate 48-1、入力のY方向の割合inY-rate 48-
2、出力のX方向の割合outX-rate 48-3、出力のY方向の
割合outY-rate 48-4を含む。この場合、与えられたEXIF
フォーマットの画像データを各レジスタの内容に合わせ
てXY方向に変倍することにより印刷が可能になる。
FIG. 48 is a diagram showing an example of information held in the register format [1] 44-5, which is an example in which information on EXIF (Exchangeable Image File Format) which is one of image data formats is held. . In this case, the input rate in the X direction inX-rate 48-1, the input rate in the Y direction inY-rate 48-
2. Includes the output ratio in the X direction outX-rate 48-3 and the output ratio in the Y direction outY-rate 48-4. In this case, the given EXIF
Printing is possible by scaling the image data in the format in the X and Y directions according to the contents of each register.

【0173】図49はレジスタformat[2] 44-6に保持され
る情報の一例を示す図で、画像データフォーマットの一
つであるRaw RGBフォーマットに関する情報が保持され
た例である。Raw RGBフォーマットは、各ピクセルをR(r
ed), G(green), B(blue)のデータで構成する画像フォー
マットである。この場合、入力のX方向の割合inX-rate
49-1、入力のY方向の割合inY-rate 49-2、出力のX方向
の割合outX-rate 49-3、出力のY方向の割合outY-rate 4
9-4、XYの固定ピクセルサイズ示すXY-size 49-5、ピク
セル当りのビット数を示すbit-pixel 49-6、X方向のピ
クセル数を示すX-size 49-7、Y方向のピクセル数を示す
Y-size 49-8、色プレーン数を示すplane 49-9、X方向の
解像度を示すX-resolution 49-10、Y方向の解像度を示
すY-resolution 49-11、ピクセルの種類を示すpixel-fo
rmat 49-12などを含む。この場合、与えられたRaw RGB
フォーマットの画像データを各レジスタの内容に合わせ
てXY方向の変倍や解像度変換を行い、さらに画像サイズ
に関する情報などに基づいて処理することにより印刷す
ることが可能になる。
FIG. 49 is a diagram showing an example of information stored in the register format [2] 44-6, which is an example in which information on the Raw RGB format, which is one of the image data formats, is stored. Raw RGB format uses R (r
ed), G (green), and B (blue) data. In this case, the ratio of the input in the X direction inX-rate
49-1, input Y-direction rate inY-rate 49-2, output X-direction rate outX-rate 49-3, output Y-direction rate outY-rate 4
9-4, XY-size 49-5 indicating the fixed pixel size of XY, bit-pixel 49-6 indicating the number of bits per pixel, X-size 49-7 indicating the number of pixels in the X direction, number of pixels in the Y direction Show
Y-size 49-8, plane 49-9 indicating the number of color planes, X-resolution 49-10 indicating the resolution in the X direction, Y-resolution 49-11 indicating the resolution in the Y direction, pixel- indicating the pixel type fo
rmat 49-12 and others. In this case, given Raw RGB
The image data in the format is subjected to scaling in the XY direction and resolution conversion in accordance with the contents of each register, and is further processed based on information relating to the image size, thereby enabling printing.

【0174】図50はコマンドおよびコマンドに対するレ
スポンスの一覧を示す図である。コマンドは幾つかの種
類に分類される。分類としては、ステータス関係の「ス
テータス」、プリンタ制御のための「コントロール」、
データ転送の設定のための「ブロック/バッファ」、チ
ャネル設定を行う「チャネル」、転送方法に関する「転
送」、フォーマット設定に関する「フォーマット」、ロ
グインに関する「ログイン」およびデータ転送に関する
「データ」などがある。
FIG. 50 is a diagram showing a list of commands and responses to the commands. Commands are classified into several types. Classification includes "status" related to status, "control" for printer control,
"Block / Buffer" for data transfer setting, "Channel" for channel setting, "Transfer" for transfer method, "Format" for format setting, "Login" for login, "Data" for data transfer, etc. .

【0175】さらに詳しく説明すれば、「ステータス」
としてプリンタのステータスを得るためのコマンドGetS
tatusおよびそのレスポンスGetStatusresponse 50-1な
どがある。
More specifically, “Status”
GetS command to get printer status as
tatus and its response GetStatusresponse 50-1.

【0176】「コントロール」としては、プリンタのリ
セットを行うコマンドPrintResetおよびそのレスポンス
PrintResetResponse 50-2、印刷の開始を指示するPrint
StartおよびそのレスポンスPrintStartResponse 50-3、
印刷の中止を指示するPrintStopおよびそのレスポンスP
rintStopResponse 50-4、記録紙の供給を指示するInser
tPaperおよびそのレスポンスInsertPaperResponse 50-
5、記録紙の排出を指示するEjectPaperおよびそのレス
ポンスEjectPaperResponse 50-6、画像データのコピー
開始を指示するCopyStartおよびそのレスポンスCopySta
rtResponse 50-7、並びに、画像データのコピー終了を
指示するCopyEndおよびそのレスポンスCopyEndResponse
50-8などがある。
The “control” includes a command PrintReset for resetting the printer and its response.
PrintResetResponse 50-2, Print that instructs to start printing
Start and its response PrintStartResponse 50-3,
PrintStop instructing to stop printing and its response P
rintStopResponse 50-4, Inserter to instruct supply of recording paper
tPaper and its response InsertPaperResponse 50-
5. EjectPaper instructing ejection of recording paper and its response EjectPaperResponse 50-6, CopyStart instructing to start copying image data, and its response CopySta
rtResponse 50-7, CopyEnd for instructing the end of image data copy, and its response CopyEndResponse
50-8 and others.

【0177】「ブロック/バッファ」としては、ブロッ
クのサイズを指定するBlockSizeおよびそのレスポンスB
lockSizeResponse 50-9、ブロックのアドレスを指定す
るBlockAddressおよびそのレスポンスBlockAddressResp
onse 50-10、空きブロックの数を取得するFreeBlockお
よびそのレスポンスFreeBlockResponse 50-11、ブロッ
クへのデータ書き込みを指示するWriteBlocksおよびそ
のレスポンスWriteBlocksResponse 50-12、バッファの
情報を指定するBufferConfigおよびそのレスポンスBuff
erConfigResponse 50-13、並びに、バッファからのデー
タ取得の開始を指定するSetBufferおよびそのレスポン
スSetBufferResponse 50-14などがある。
As “block / buffer”, BlockSize for designating the size of a block and its response B
lockSizeResponse 50-9, BlockAddress specifying the address of the block and its response BlockAddressResp
onse 50-10, FreeBlock to get the number of free blocks and its response FreeBlockResponse 50-11, WriteBlocks to instruct data writing to the block and its response WriteBlocksResponse 50-12, BufferConfig to specify buffer information and its response Buff
erConfigResponse 50-13, SetBuffer for designating the start of data acquisition from the buffer, and its response SetBufferResponse 50-14.

【0178】「チャネル」としては、チャネルをオープ
ンするOpenChannelおよびそのレスポンスOpenChannelRe
sponse 50-15、並びに、チャネルをクローズするCloseC
hannelおよびそのレスポンスCloseChannelResponse 50-
16などがある。
The “channel” includes OpenChannel for opening a channel and its response OpenChannelRes.
sponse 50-15 and CloseC to close the channel
hannel and its response CloseChannelResponse 50-
16 and others.

【0179】「転送」としてはデータ転送方法を指定す
るTransferMethodおよびそのレスポンスTransferMethod
Response 50-17などがある。
[0179] As "Transfer", a TransferMethod for designating a data transfer method and its response TransferMethod
Response 50-17 and others.

【0180】「フォーマット」としてはフォーマットを
設定するSetFormatおよびそのレスポンスSetFormatResp
onse 50-18などがある。
As the “format”, SetFormat for setting a format and its response SetFormatResp
onse 50-18 and others.

【0181】「ログイン」としては、ログインを行うLo
ginおよびそのレスポンスLoginResponse 50-19、ログア
ウトを行うLogoutおよびそのレスポンスLogoutResponse
50-20、並びに、リコネクションを行うReconnectおよ
びそのレスポンスReonnectResponse 50-21などがある。
[0181] As "login", Lo
gin and its response LoginResponse 50-19, Logout to log out and its response LogoutResponse
50-20, Reconnect for performing reconnection and its response ReonnectResponse 50-21, and the like.

【0182】以上のコマンドはコマンドフレームに書込
まれるものである。
The above commands are written in the command frame.

【0183】さらに、「データ」として、データを書込
むためのWriteBlock 50-22、WriteBuffer 50-23、およ
び、データを読込むためのPullBuffer 50-24などかあ
る。これらのコマンドは、データフレームに対して書込
み、読込みを行うものであり、対応するレスポンスはな
い。
Further, the "data" includes a WriteBlock 50-22 for writing data, a WriteBuffer 50-23, and a PullBuffer 50-24 for reading data. These commands are for writing and reading data frames, and there is no corresponding response.

【0184】画像供給デバイスは、図31に示したコマン
ドフレームのオペコード(opcode)に、図50に示す各コマ
ンドに対応する値をセットし、プリンタのコマンドレジ
スタ43-4に書込むことにより、プリンタによってそのコ
マンドが実行される。コマンドに対するレスポンスはコ
マンドと等しい値をもつ。プリンタは、図32に示したレ
スポンスフレームのオペコードにレスポンスをセット
し、画像供給デバイスのレスポンスレジスタ43-2に書込
む。このレスポンスにより、画像供給デバイスは各コマ
ンドの実行結果を受取ることができる。
The image supply device sets the value corresponding to each command shown in FIG. 50 in the operation code (opcode) of the command frame shown in FIG. 31 and writes the value in the command register 43-4 of the printer. Executes the command. The response to the command has the same value as the command. The printer sets the response in the operation code of the response frame shown in FIG. 32 and writes the response in the response register 43-2 of the image supply device. With this response, the image supply device can receive the execution result of each command.

【0185】図51はDPPがサポートする画像データフォ
ーマット例を示す図である。プリンタはこれらのフォー
マットのうち、少なくとも一つのロー(RAW)画像データ
をサポートしなければならない。またオプションとし
て、他の複数のフォーマットをサポートすることができ
る。
FIG. 51 is a diagram showing an example of an image data format supported by DPP. The printer must support at least one of these formats. Optionally, other formats can be supported.

【0186】図52はフォーマット設定処理の流れを示す
図である。まず、画像供給デバイスは、ステップS500で
SetFormat(INQUIRY)コマンドをプリンタへ送り、プリン
タはステップS501でSetFormatレスポンスを返す。返さ
れたレスポンスにより、画像供給デバイスはプリンタの
INQUIRYレジスタのアドレスを知る。
FIG. 52 is a diagram showing the flow of the format setting process. First, in step S500, the image supply device
A SetFormat (INQUIRY) command is sent to the printer, and the printer returns a SetFormat response in step S501. Depending on the response returned, the image supply device
Know the address of the INQUIRY register.

【0187】次に、画像供給デバイスは、ステップS502
でSetFormat(CONTROL/STATUS)コマンドをプリンタへ送
り、プリンタはステップS503でSetFormatレスポンスを
返す。返されたレスポンスにより、画像供給デバイスは
プリンタのCONTROL/STATUSレジスタのアドレスを知る。
Next, the image supply device executes step S502.
Sends a SetFormat (CONTROL / STATUS) command to the printer, and the printer returns a SetFormat response in step S503. Based on the returned response, the image supply device knows the address of the CONTROL / STATUS register of the printer.

【0188】画像供給デバイスは、ステップS504-1から
S504-mでプリンタのINQUIRYレジスタを読み、プリンタ
がサポートするフォーマットおよびフォーマットの設定
項目を知る。次に、画像供給デバイスは、ステップS505
-1からS505-nでプリンタのSTATUS/CONTROLレジスタを読
み、フォーマットの設定値を知るとともに、ステップS5
06-1からS506-nでプリンタのSTATUS/CONTROLレジスタに
データを書込み、フォーマットを設定する。
The image supply device starts from step S504-1.
In S504-m, read the printer's INQUIRY register to know the formats supported by the printer and the format setting items. Next, the image supply device performs step S505
From -1 to S505-n, read the printer's STATUS / CONTROL register to know the format settings, and
From 06-1 to S506-n, write data to the STATUS / CONTROL register of the printer and set the format.

【0189】DPPにおけるデータ転送には以下の二種類
のパケットを用いる。 ・フロー制御のための制御コマンドパケット ・データ送信のためのパケット
For data transfer in DPP, the following two types of packets are used.・ Control command packet for flow control ・ Packet for data transmission

【0190】本実施形態では、フロー制御、データ送信
方法の違いにより、以下に五種類のデータ転送方式を列
挙するが、何れの方式においてもフロー制御のための制
御コマンドはFCPに準拠している。 転送方式1: レスポンスモデル(Response Model) 転送方式2: 簡易レスポンスモデル(Simplifed Response
Model) 転送方式3: プッシュラージバッファモデル(PUSH Large
Buffer Model) 転送方式4: プルバッファモデル(PULL Buffer Model) 転送方式5: 同期モデル(Isochronous Model)
In the present embodiment, five types of data transfer methods are listed below according to the difference between the flow control and the data transmission method. In any of the methods, the control commands for flow control conform to FCP. . Transfer method 1: Response model (Response Model) Transfer method 2: Simple response model (Simplifed Response
Model) Transfer Method 3: Push Large Buffer Model (PUSH Large
Buffer Model) Transfer Method 4: Pull Buffer Model Transfer Method 5: Synchronous Model

【0191】実際の転送においては上記の方式の一つを
選択し設定するが、その手順は図52に示したフォーマッ
ト設定手順と同様である。なお、図53に示すように、コ
マンドにはTransferMethodを、レスポンスにはTransfer
MethodResponseを用いる。
In the actual transfer, one of the above methods is selected and set, and the procedure is the same as the format setting procedure shown in FIG. As shown in FIG. 53, TransferMethod is used for the command, and TransferMethod is used for the response.
Use MethodResponse.

【0192】図53はデータ転送方式の設定手順の一例を
示す図である。画像供給デバイスは、コマンドタイプIN
QUIRYのTrasferMethodコマンドおよびレスポンスによ
り、現在使用可能なプリンタのデータ転送方式を取得し
(S600-1およびS600-2)、コマンドタイプCONTROL/STAT
USのTransferMethodコマンドおよびレスポンスにより、
現在、プリンタに設定されているデータ転送方式を取得
し、設定する(S600-3およびS600-4)。
FIG. 53 is a diagram showing an example of a procedure for setting the data transfer method. The image supply device has the command type IN
The currently available printer data transfer method is acquired by the QUIRY TrasferMethod command and response (S600-1 and S600-2), and the command type is CONTROL / STAT.
By US TransferMethod command and response,
The data transfer method currently set for the printer is acquired and set (S600-3 and S600-4).

【0193】ところで、上記の五種類の何れの方式にお
いても、フロー制御のための制御コマンドは、1394シリ
アルバス上の装置を制御するためのプロトコルであるFC
Pに準拠している。FCPの制御コマンドの転送は、送信-
応答とも、常に非同期のライトトランザクションにより
行われる。
By the way, in any of the above five types, the control command for the flow control is an FC which is a protocol for controlling a device on the 1394 serial bus.
P compliant. Transmission of FCP control command
The response is always performed by an asynchronous write transaction.

【0194】図54は前記転送方式1および転送方式2に必
要なレジスタの1394シリアルバスのアドレス空間におけ
るレジスタマップを示す図である。本実施形態では、制
御する側のノードを画像供給デバイス(FCPではコント
ローラに対応)に、制御される側のノードをプリンタ
(FCPではターゲットに対応)にする。
FIG. 54 is a diagram showing a register map in the address space of the 1394 serial bus of the registers required for the transfer methods 1 and 2. In the present embodiment, the controlling node is an image supply device (corresponding to a controller in FCP), and the controlled node is a printer (corresponding to a target in FCP).

【0195】画像供給デバイス、プリンタともに、レジ
スタ空間のオフセット0x0B00から512バイトのコマンド
レジスタ(601-1および601-7)、オフセット0x0D00から
512バイトのレスポンスレジスタ(601-2および601-8)
をもつ。これらレジスタはFCPプロトコルおよびAV/Cコ
マンドに準拠している。
For both the image supply device and the printer, the command register (601-1 and 601-7) of 512 bytes from offset 0x0B00 of the register space, and the offset from 0x0D00
512-byte response register (601-2 and 601-8)
With. These registers conform to the FCP protocol and AV / C commands.

【0196】フロー制御は、これらのコマンドレジスタ
(601-1および601-7)およびレスポンスレジスタ(601-
2および601-8)にコマンドフレーム601-4およびレスポ
ンスフレーム601-5を書き込むことにより行われる。ま
た、印刷データの転送については専用のデータフレーム
を定義する。つまり、レジスタ空間のオフセット0x3000
からブロックサイズ分のデータレジスタ(601-3および6
01-9)を設け、データレジスタ(601-3および601-9)に
データフレーム601-6を書き込むことで印刷データの転
送が行われる。なお、ブロックサイズは例えば512バイ
トにする。
The flow control is based on the command register (601-1 and 601-7) and the response register (601-
2 and 601-8) by writing the command frame 601-4 and the response frame 601-5. For transfer of print data, a dedicated data frame is defined. In other words, register space offset 0x3000
From the data register for the block size (601-3 and 6
01-9), and print data is transferred by writing the data frame 601-6 in the data registers (601-3 and 601-9). The block size is, for example, 512 bytes.

【0197】図55はデータパケットフレームの一例を示
す図で、データヘッダ602-1、データペイロード602-2な
どから構成される。
FIG. 55 shows an example of a data packet frame, which comprises a data header 602-1, a data payload 602-2, and the like.

【0198】図56はデータヘッダ602-1の構成例を示す
図で、上位8ビットはブロックカウント領域603-1であ
り、下位8ビットは将来のための予約領域S603-2であ
る。ブロックカウント領域603-1は、ターゲット(プリ
ンタ)により内部的に用いられるもので、一回のブロッ
ク転送により転送されるブロックの数をカウントするカ
ウンタである。なお、ブロックカウント領域603-1は8ビ
ットなので0から255の値を取り得る。
FIG. 56 is a diagram showing a configuration example of the data header 602-1. The upper 8 bits are a block count area 603-1 and the lower 8 bits are a reserved area S603-2 for the future. The block count area 603-1 is used internally by the target (printer), and is a counter that counts the number of blocks transferred by one block transfer. Since the block count area 603-1 is 8 bits, it can take a value from 0 to 255.

【0199】図57はブロック転送におけるプリンタ内の
データパケットフレーム処理を示す図である。プリンタ
に受信されたデータパケットは、まず、プリンタのデー
タレジスタ604-1に書き込まれる。プリンタはデータパ
ケットと同じサイズのバッファ(604-2から604-5)を有
し、データレジスタ604-1に書き込まれたデータパケッ
トは、順次、これらのバッファ(604-2から604-5)に移
される。なお、これらデータバッファの数は、ブロック
カウント数の最大値に等しい255個あることが望ましい
が、これ以下でもよい。ここで、各バッファはブロック
カウント値に対応し、ブロックカウントが「0」のデー
タパケットはBlock[0]のバッファに、ブロックカウント
が「1」のデータパケットはBlock[1]のバッファに、順
次、格納される。バッファ(604-2から604-5)に格納さ
れたデータパケットは、データヘッダ602-1が取除かれ
た上で、プリンタのメモリ空間604-6に展開される。
FIG. 57 is a diagram showing data packet frame processing in the printer in block transfer. The data packet received by the printer is first written into the data register 604-1 of the printer. The printer has buffers (604-2 to 604-5) of the same size as the data packets, and the data packets written to the data register 604-1 are sequentially stored in these buffers (604-2 to 604-5). Moved. The number of these data buffers is desirably 255, which is equal to the maximum value of the block count, but may be less. Here, each buffer corresponds to a block count value, and a data packet with a block count of “0” is stored in a buffer of Block [0], and a data packet with a block count of “1” is stored in a buffer of Block [1]. Is stored. The data packets stored in the buffers (604-2 to 604-5) are developed in the printer memory space 604-6 after the data header 602-1 is removed.

【0200】[転送方式1]Response Modelである転送
方式1は、データ送信のためにデータパケットフレーム
を定義し、データレジスタを設け、制御コマンドにより
フロー制御を行いつつ、印刷データをライトトランザク
ションにより転送する方式である。
[Transfer Method 1] In the transfer method 1, which is a response model, a data packet frame is defined for data transmission, a data register is provided, and print data is transferred by a write transaction while performing flow control by a control command. It is a method to do.

【0201】図58は転送方式1におけるFreeBlockコマン
ドおよびレスポンスを示す図である。転送方式1におい
ては、データの転送に先立ち、画像供給デバイスが幾つ
のデータパケットを転送するかを示す情報を取得するた
めにFreeBlockコマンドおよびレスポンスが用いられ
る。
FIG. 58 is a diagram showing a FreeBlock command and response in the transfer method 1. In the transfer method 1, prior to data transfer, a FreeBlock command and a response are used to obtain information indicating how many data packets the image supply device transfers.

【0202】画像供給デバイスはFreeBlockコマンドを
ライトトランザクションで転送し(S605-1)、プリンタ
はそのトランザクションに対する確認を示すACKパケッ
トを返す(S605-2)。プリンタは現在使用可能なFreeBl
ockCountを通知するためにFreeBlockレスポンスを返し
(S605-3)、画像供給デバイスはそのトランザクション
に対する確認を示すACKパケットを返す(S605-4)。
The image supply device transfers the FreeBlock command by a write transaction (S605-1), and the printer returns an ACK packet indicating confirmation of the transaction (S605-2). Printer is currently available FreeBl
A FreeBlock response is returned to notify the ockCount (S605-3), and the image supply device returns an ACK packet indicating confirmation of the transaction (S605-4).

【0203】図59は転送方式1におけるデータ転送フロ
ーの一例を示す図である。画像供給デバイスは、DPPのL
oginコマンドおよびレスポンスによりプリンタにログイ
ンし(S606-1およびS606-2)、前記のフォーマットレジ
スタグループを用いて、データ転送に使用するフォーマ
ットを設定する(S606-3)。その後、OpenChannelコマ
ンドおよびレスポンスにより論理チャネルを開く(S606
-4およびS606-5)。続いてデータ転送が開始されるが、
印刷データは図55に示したデータパケット形式で転送さ
れる。また、パケットの転送は、図57に符号604-2から6
04-5で示したプリンタ側のデータバッファ数に等しい数
のブロック分の転送を一周期として行われる。
FIG. 59 is a diagram showing an example of a data transfer flow in the transfer method 1. Image supply device is DPP L
The user logs in to the printer using the ogin command and response (S606-1 and S606-2), and sets the format used for data transfer using the format register group (S606-3). After that, the logical channel is opened by the OpenChannel command and response (S606
-4 and S606-5). Then the data transfer starts,
The print data is transferred in the data packet format shown in FIG. In addition, the transfer of the packet is shown in FIG.
The transfer for one block equal to the number of data buffers on the printer side shown in 04-5 is performed in one cycle.

【0204】転送方式1における印刷データの転送は次
のように行われる。画像供給デバイスは、FreeBlockコ
マンドおよびレスポンスによりプリンタのFreeBlock数
を得(S606-6およびS606-7)、そのFreeBlock数と同数
のデータパケットを、順次、WriteBlockにより転送する
(S606-8)。なお、WriteBlockは図54に示したデータレ
ジスタ601-3からデータレジスタ601-9に印刷データ用の
パケットを転送するコマンドである。ただし、WriteBlo
ckコマンドにはレスポンスはなく、データレジスタ601-
9にデータパケットを格納したことを確認するためのACK
パケットがプリンタから返される(S606-9)。
The transfer of print data in the transfer method 1 is performed as follows. The image supply device obtains the number of FreeBlocks of the printer based on the FreeBlock command and response (S606-6 and S606-7), and sequentially transfers the same number of data packets as the number of FreeBlocks using WriteBlock (S606-8). WriteBlock is a command for transferring a packet for print data from the data register 601-3 shown in FIG. 54 to the data register 601-9. However, WriteBlo
The ck command has no response and the data register 601-
ACK to confirm that data packet was stored in 9
The packet is returned from the printer (S606-9).

【0205】そして、FreeBlock数に等しい数の、Write
Blockコマンドによるパケット転送およびそれに対応す
るACKパケットの返送の繰返しからなるブロック転送
が、画像供給デバイスから一連の印刷データがすべて出
力されるまで繰返され、各ブロック転送の間には、Free
BlockコマンドおよびレスポンスによるプリンタのFreeB
lock数の取得が行われる。
Then, the number of Writes equal to the number of FreeBlocks
The block transfer consisting of the packet transfer by the Block command and the return of the corresponding ACK packet is repeated until all of the series of print data is output from the image supply device.
Printer FreeB by Block command and response
The number of locks is obtained.

【0206】印刷データの転送が終了すると、画像供給
デバイスは、CloseChannelコマンドおよびレスポンスに
より論理チャネルを閉じ(S606-10およびS606-11)、DP
PのLogoutコマンドおよびレスポンスによりプリンタか
らログアウトする(S606-12およびS606-13)。
When the transfer of the print data is completed, the image supply device closes the logical channel by the CloseChannel command and the response (S606-10 and S606-11),
The user logs out from the printer using the P Logout command and response (S606-12 and S606-13).

【0207】[転送方式2]Simplified Response Model
である転送方式2は、FreeBlock数を獲得する方法以外は
転送方式1と同じ手順でデータ転送を行う。
[Transfer Method 2] Simplified Response Model
Transfer method 2 performs data transfer in the same procedure as transfer method 1 except for the method of acquiring the number of FreeBlocks.

【0208】図60は転送方式2におけるデータ転送フロ
ーの一例を示す図である。画像供給デバイスは、DPPのL
oginコマンドおよびレスポンスによりプリンタにログイ
ンし(S607-1およびS607-2)、前記のフォーマットレジ
スタグループを用いて、データ転送に使用するフォーマ
ットを設定する(S607-3)。その後、OpenChannelコマ
ンドおよびレスポンスにより論理チャネルを開く(S607
-4およびS607-5)。続いてデータ転送が開始されるが、
印刷データは図55に示したデータパケット形式で転送さ
れる。また、パケットの転送は、図57に符号604-2から6
04-5で示したプリンタ側のデータバッファ数に等しい数
のブロック分の転送を一周期として行われる。
FIG. 60 is a diagram showing an example of a data transfer flow in the transfer method 2. Image supply device is DPP L
The user logs in to the printer using the ogin command and response (S607-1 and S607-2), and sets the format used for data transfer using the format register group (S607-3). After that, the logical channel is opened by the OpenChannel command and response (S607).
-4 and S607-5). Then the data transfer starts,
The print data is transferred in the data packet format shown in FIG. In addition, the transfer of the packet is shown in FIG.
The transfer for one block equal to the number of data buffers on the printer side shown in 04-5 is performed in one cycle.

【0209】転送方式2における印刷データの転送は次
のように行われる。画像供給デバイスは、WriteBlocks
コマンドおよびレスポンスによりプリンタのFreeBlock
数を得る(S607-6およびS607-7)。ただし、ステップS6
07-7のレスポンスは、これ以降のFreeBlock数の獲得を
プリンタ側からのレスポンスのみにより行うために、IN
TERIM(暫定)タイプである。画像供給デバイスは、得
られたFreeBlock数と同数のデータパケットを、順次、W
riteBlockにより転送し(S607-8)、プリンタからは前
述したACKパケットが返される(S607-9)。そして、Fre
eBlock数に等しい数の、WriteBlockコマンドによるパケ
ット転送およびそれに対応するACKパケットの返送の繰
返しからなるブロック転送が、画像供給デバイスから一
連の印刷データがすべて出力されるまで繰返される。た
だし、二周目以降のブロック転送におけるFreeBlock数
は、ブロック転送周期の終りごとに、プリンタから送ら
れてくるWriteBlocksレスポンスにより、画像供給デバ
イスに通知される(S607-10)。このWriteBlocksレスポ
ンスは、プリンタのレスポンスのみによるFreeBlock数
の取得を継続するためにCONTINUEタイプである。
The transfer of the print data in the transfer method 2 is performed as follows. Image supply device is WriteBlocks
FreeBlock of printer by command and response
Get the numbers (S607-6 and S607-7). However, step S6
The response of 07-7 is used to obtain the number of FreeBlocks thereafter only by the response from the printer side.
TERIM (provisional) type. The image supply device sequentially transmits the same number of data packets as the obtained number of FreeBlocks to W
The data is transferred by the riteBlock (S607-8), and the ACK packet described above is returned from the printer (S607-9). And Fre
The block transfer including the repetition of the packet transfer by the WriteBlock command and the return of the corresponding ACK packet of the number equal to the number of eBlocks is repeated until all the series of print data is output from the image supply device. However, the number of FreeBlocks in the block transfer after the second round is notified to the image supply device by a WriteBlocks response sent from the printer at the end of each block transfer cycle (S607-10). This WriteBlocks response is a CONTINUE type in order to continue obtaining the number of FreeBlocks only by the response of the printer.

【0210】印刷データの転送が終了すると、画像供給
デバイスは、CloseChannelコマンドおよびレスポンスに
より論理チャネルを閉じ(S607-11およびS607-12)、DP
PのLogoutコマンドおよびレスポンスによりプリンタか
らログアウトする(S607-13およびS607-14)。
When the transfer of the print data is completed, the image supply device closes the logical channel by the CloseChannel command and the response (S607-11 and S607-12),
Log out from the printer using the P Logout command and response (S607-13 and S607-14).

【0211】[FreeBlock数の取得方法]以下では、転
送方式1と転送方式2の違いであるFreeBlock数の取得方
法について詳細に説明する。
[Method of Obtaining Number of FreeBlocks] Hereinafter, a method of obtaining the number of FreeBlocks, which is the difference between the transfer methods 1 and 2, will be described in detail.

【0212】図61は転送方式1のステップS606-6およびS
606-7におけるFreeBlockコマンドおよびレスポンスを詳
細に示す図で、図59では省略したライトトランザクショ
ンのACKパケットを含めて示したもので、イニシエータ
デバイス(画像供給デバイス)、ターゲットデバイス
(プリンタ)とも、リンクレイヤおよびトランザクショ
ンレイヤの処理速度が比較的低速な場合を示している。
FIG. 61 shows steps S606-6 and S of the transfer method 1.
FIG. 59 is a diagram showing the details of the FreeBlock command and response in 606-7, including the ACK packet of the write transaction omitted in FIG. 59. Both the initiator device (image supply device) and the target device (printer) are linked layers. And the case where the processing speed of the transaction layer is relatively low.

【0213】ライトトランザクションにより、画像供給
デバイスがFreeBlockコマンドをコマンドレジスタに書
き込む際(S608-1)、プリンタのリンクレイヤからは前述
したpendingを示すACKパケットが返る(S608-2)。次に、
画像供給デバイスは、無データのFreeBlockコマンドを
送り(S608-3)、プリンタからcompleteを示すACKパケッ
ト(S608-4)を受取って一つのライトトランザクションが
終了する。
When the image supply device writes the FreeBlock command to the command register by the write transaction (S608-1), the ACK packet indicating the above-mentioned pending is returned from the link layer of the printer (S608-2). next,
The image supply device sends a FreeBlock command with no data (S608-3), receives an ACK packet (S608-4) indicating complete from the printer, and ends one write transaction.

【0214】続いて、プリンタは、FreeBlockレスポン
スを返すが、これもステップS608-1のFreeBlockコマン
ドと同様に、FreeBlock数を含むFreeBlockレスポンスと
してレスポンスレジスタに書き込まれる(S608-5)。画像
供給デバイスのリンク層からは、pendingを示すACKパケ
ットが返され(S608-6)、無データのFreeBlockレスポン
ス(S608-7)が送られ、completeを示すACKパケットを受
取って(S608-8)、一つのライトトランザクションが終了
する。
Subsequently, the printer returns a FreeBlock response, which is also written in the response register as a FreeBlock response including the number of FreeBlocks, similarly to the FreeBlock command in step S608-1 (S608-5). From the link layer of the image supply device, an ACK packet indicating pending is returned (S608-6), a FreeBlock response with no data is sent (S608-7), and an ACK packet indicating complete is received (S608-8) , One write transaction ends.

【0215】一方、転送方式2におけるFreeBlock数の取
得方法は、印刷データのブロック転送サイクルの二周期
目以降では、プリンタからのFreeBlockレスポンスのみ
を用いるので、ステップS608-5からS608-8だけの動作で
FreeBlock数を取得することができる。
On the other hand, the method of acquiring the number of FreeBlocks in the transfer method 2 uses only the FreeBlock response from the printer in the second and subsequent cycles of the block transfer cycle of the print data. Therefore, only the steps S608-5 to S608-8 are performed. so
You can get the number of FreeBlock.

【0216】FreeBlock数の取得は、ブロック転送の一
周期ごとに必要である。従って、転送方式1よりも転送
方式2の方がバス上を転送されるパケットの数を減らす
ことができる。
Obtaining the number of FreeBlocks is necessary for each cycle of block transfer. Therefore, the transfer method 2 can reduce the number of packets transferred on the bus than the transfer method 1.

【0217】図62は転送方式1および転送方式2のWriteB
lockを詳細に示す図である。WriteBlockはレスポンスを
必要としないので、WriteBlock(S609-1)、pendingを示
すACKパケット(S609-2)、無データのWriteBlock(S609-
3)およびcompleteを示すACKパケット(S609-4)という手
順になり、コマンドおよびレスポンスを転送する場合に
比べて半分の手順でデータを転送することができ、リン
クレイヤとトランザクションレイヤの処理が比較的低速
の場合でも比較的高速のデータ転送を実行することがで
きる。
FIG. 62 shows WriteB of transfer method 1 and transfer method 2.
It is a figure showing lock in detail. Since WriteBlock does not require a response, WriteBlock (S609-1), ACK packet indicating pending (S609-2), and WriteBlock (S609-
3) and the procedure of ACK packet (S609-4) indicating complete, data can be transferred in half the procedure compared to the case of transferring command and response, and processing of link layer and transaction layer is relatively Even at a low speed, relatively high-speed data transfer can be performed.

【0218】図63は転送方式1および転送方式2のWriteB
lockを詳細に示す図であるが、リンクレイヤとトランザ
クションレイヤの処理が充分高速な場合である。この場
合は、WriteBlock(S610-1)、completeを示すACKパケッ
ト(S610-2)という手順になり、さらに効率的なデータ転
送を実行することができる。
FIG. 63 shows WriteB of transfer method 1 and transfer method 2.
FIG. 4 is a diagram showing lock in detail, in a case where processing of a link layer and a transaction layer is sufficiently fast. In this case, the procedure is a WriteBlock (S610-1) and an ACK packet (S610-2) indicating complete, so that more efficient data transfer can be performed.

【0219】図64はバスリセットが発生した場合のWrit
eBlockのエラー処理を説明する図で、あるブロック転送
サイクルのn(=0〜255)個目のパケット転送時にバスリセ
ットが発生した場合を示している。ライトトランザクシ
ョンでは、通常のデータパケット転送の失敗はACKパケ
ットにより検知できるが、バスリセット発生時のエラー
は検知できない。そこで本実施形態においては次の手順
でエラー処理を実行する。つまり、FreeBlock数を取得
し(S611-1)、WriteBlockをn回行い(S611-2から〜S611-
6)、ここでバスリセットが発生すると(S611-7)、画像
供給デバイスは、バスリセット発生直前のWriteBlock
[n]をを再度行い(S611-8)、その後は通常の処理を続け
る(S611-9からS611-14)。
FIG. 64 shows Writ when a bus reset occurs.
FIG. 9 is a diagram for explaining error processing of an eBlock, and shows a case where a bus reset occurs at the time of transferring an n-th (= 0 to 255) packet in a certain block transfer cycle. In the write transaction, the failure of the normal data packet transfer can be detected by the ACK packet, but the error at the time of the bus reset cannot be detected. Therefore, in the present embodiment, error processing is executed in the following procedure. That is, the number of FreeBlocks is acquired (S611-1), and WriteBlock is performed n times (from S611-2 to S611-S).
6) If a bus reset occurs here (S611-7), the image supply device sends the WriteBlock immediately before the bus reset occurs.
[n] is performed again (S611-8), and thereafter the normal processing is continued (S611-9 to S611-14).

【0220】[転送方式3]図65はPUSH Large Buffer M
odelにおける画像供給デバイスおよびプリンタのコマン
ドレジスタ、レスポンスレジスタおよびデータレジスタ
の構成例を示す図である。
[Transfer Method 3] FIG. 65 shows a PUSH Large Buffer M
FIG. 3 is a diagram illustrating a configuration example of an image supply device and a command register, a response register, and a data register of a printer in odel.

【0221】FCPに準拠した画像供給デバイスおよびプ
リンタ間のコマンドおよびレスポンスは、画像供給デバ
イスのコマンドレジスタ65-1からプリンタのコマンドレ
ジスタ65-4にコマンドの要求データとしてのコマンドフ
レーム65-7を書込む動作と、プリンタのレスポンスレジ
スタ65-5から画像供給デバイスのレスポンスレジスタ65
-2にレスポンスデータとしてレスポンスフレーム65-8を
書込む動作により実行される。
The command and response between the image supply device and the printer conforming to the FCP are written in a command frame 65-7 as command request data from the command register 65-1 of the image supply device to the command register 65-4 of the printer. Operation and the response register 65-5 of the image supply device from the response register 65-5 of the printer.
This is executed by writing the response frame 65-8 as response data in -2.

【0222】また、データフレーム65-9についてはFCP
とは異なり、ライトトランザクションを用いて画像供給
デバイスのデータレジスタ65-3からプリンタのデータレ
ジスタ65-6へ画像データを書込む一方向動作に、データ
フレーム65-9が使用される。
The data frame 65-9 has the FCP
Unlike this, the data frame 65-9 is used for a one-way operation of writing image data from the data register 65-3 of the image supply device to the data register 65-6 of the printer using a write transaction.

【0223】図66は画像供給デバイスおよびプリンタ間
におけるPUSHバッファモデルの動作フローの一例を示す
図である。なお、コマンドフレーム、レスポンスフレー
ムにおける、Login、Logout、OpenChannel、CloseChann
el、フォーマット設定についての動作は、前述した転送
方式1と同様であるから詳細な説明は省略する。
FIG. 66 is a diagram showing an example of the operation flow of the push buffer model between the image supply device and the printer. Login, Logout, OpenChannel, CloseChann in command frame and response frame
The operations for el and format setting are the same as those in the above-described transfer method 1, and therefore detailed description is omitted.

【0224】図66において、画像供給デバイスは、Buff
erConfigコマンドのINQUIRYにより、プリンタのバッフ
ァ領域について問い合わせる(S701)。これに対してプリ
ンタは、BufferConfigレスポンスにより、バッファサイ
ズやバッファアドレスを返す(S702)。
In FIG. 66, the image supply device is Buff
An inquiry is made about the buffer area of the printer by the INQUIRY of the erConfig command (S701). On the other hand, the printer returns a buffer size and a buffer address in a BufferConfig response (S702).

【0225】次に、画像供給デバイスは、BufferConfig
コマンドのCONTROLにより、データを書込むプリンタの
バッファサイズおよびバッファアドレスを設定する(S70
3)。これに対してプリンタは、BufferConfigレスポンス
により、設定が完了したことを返す(S704)。
Next, the image supply device is BufferConfig
The command CONTROL sets the buffer size and buffer address of the printer to which data is written (S70
3). In response, the printer returns a completion of the setting by a BufferConfig response (S704).

【0226】続いて、画像供給デバイスは、SetBuffer
コマンドのNOTIFYにより、データの転送を開始すること
をプリンタに通知する(S705)。これに対してプリンタ
は、SetBufferレスポンスのINTERIMにより、取り敢えず
データを受信する準備ができたことを返し(S706)、デー
タの転送を開始させる。そして、プリンタは、SetBuffe
rレスポンスのCONTINUEにより、初めに設定されたバッ
ファ領域に対するデータ転送が完了したことを画像供給
デバイスに通知する(S709)。
Subsequently, the image supply device is the SetBuffer
The printer notifies the printer of the start of data transfer by the command NOTIFY (S705). On the other hand, the printer returns, by the INTERIM of the SetBuffer response, that it is ready to receive the data (S706), and starts the data transfer. And the printer is SetBuffe
The image transmission device is notified that the data transfer to the initially set buffer area is completed by the CONTINUE of the r response (S709).

【0227】ステップS707のWriteBufferは、画像供給
デバイスによるデータフレームの書込み動作を示すもの
で、プリンタに設定したバッファアドレスに対してデー
タを順次書込む動作を行うものである。
WriteBuffer in step S707 indicates a data frame writing operation by the image supply device, and performs an operation of sequentially writing data to a buffer address set in the printer.

【0228】ステップS708のWriteTransactionResponse
は、データフレームを同期転送したときのレスポンスパ
ケットを示す。前述したように、プリンタのデータ取込
み速度が充分に速ければ、一つのライトトランザクショ
ンのアクノリッジを使って処理を完了することができる
が、データの取込みに時間がかかる場合はスプリットト
ランザクションとして独立したレスポンスが発生するこ
とになる。
[0228] WriteTransactionResponse in Step S708
Indicates a response packet when a data frame is synchronously transferred. As described above, if the data capture speed of the printer is fast enough, the processing can be completed using the acknowledgment of one write transaction, but if the data capture takes a long time, an independent response as a split transaction will be sent. Will happen.

【0229】ステップS710は複数のデータフレームの転
送処理を示す。つまり、BufferConfigコマンドで設定し
たバッファサイズに対して連続するライトトランザクシ
ョンによりデータを転送する。このように連続したライ
トトランザクションを用いるデータ転送方式を「PUSH型
データ転送方式」あるいは略して「PUSH方式」と呼ぶ。
Step S710 shows a process of transferring a plurality of data frames. That is, data is transferred by a continuous write transaction for the buffer size set by the BufferConfig command. Such a data transfer method using a continuous write transaction is referred to as a “PUSH data transfer method” or “PUSH method” for short.

【0230】図67はデータフレームにおけるデータパケ
ットの構成例を示す図で、プリンタのバッファを直接ア
ドレスしてデータを書込むことができるので、データパ
ケット67-1はヘッダなどを含まない構成にすることがで
きる。
FIG. 67 is a diagram showing a configuration example of a data packet in a data frame. Since data can be written by directly addressing the buffer of the printer, the data packet 67-1 does not include a header or the like. be able to.

【0231】図68はプリンタのデータレジスタとバッフ
ァの関係例を示す図で、データレジスタ68-1に書込まれ
たデータは、オフセットDestination_Offsetにより決定
されるBufferAddressが指すプリンタのメモリ空間68-2
のアドレスに直接書込まれる。オフセット値は、データ
長Data_Length分ずつインクリメントされるので、連続
したバッファアドレスに対して繰返しデータを書込むこ
とで、バッファサイズBufferSizeで示される領域内にデ
ータが連続して書込むことができる。
FIG. 68 is a diagram showing an example of the relationship between the data register and the buffer of the printer. The data written in the data register 68-1 is stored in the memory space 68-2 of the printer indicated by the BufferAddress determined by the offset Destination_Offset.
Is written directly to the address. Since the offset value is incremented by the data length Data_Length, by repeatedly writing data to consecutive buffer addresses, data can be continuously written in the area indicated by the buffer size BufferSize.

【0232】[転送方式4]図69はPULL Buffer Modelに
おける画像供給デバイスおよびプリンタのコマンドレジ
スタ、レスポンスレジスタおよびデータレジスタの構成
例を示す図である。
[Transfer Method 4] FIG. 69 is a diagram showing a configuration example of a command register, a response register, and a data register of an image supply device and a printer in the PULL Buffer Model.

【0233】FCPに準拠した画像供給デバイスおよびプ
リンタ間のコマンドおよびレスポンスは、画像供給デバ
イスのコマンドレジスタ69-1からプリンタのコマンドレ
ジスタ69-4にコマンドの要求データとしてのコマンドフ
レーム69-7を書込む動作と、プリンタのレスポンスレジ
スタ69-5から画像供給デバイスのレスポンスレジスタ69
-2にレスポンスデータとしてレスポンスフレーム69-8を
書込む動作により実行される。
The command and response between the image supply device and the printer conforming to the FCP are written in a command frame 69-7 as command request data from the command register 69-1 of the image supply device to the command register 69-4 of the printer. And the response register 69 of the image supply device from the response register 69-5 of the printer.
This is executed by writing the response frame 69-8 as response data to -2.

【0234】また、データフレーム69-9についてはFCP
とは異なり、リードトランザクションを用いて画像供給
デバイスのデータレジスタ69-3からプリンタのデータレ
ジスタ69-6へ画像データを読取る一方向動作に、データ
フレーム69-9が使用される。
The data frame 69-9 has the FCP
Unlike this, the data frame 69-9 is used for a one-way operation of reading image data from the data register 69-3 of the image supply device to the data register 69-6 of the printer using a read transaction.

【0235】図70は画像供給デバイスおよびプリンタ間
におけるPULLバッファモデルの動作フローの一例を示す
図である。なお、コマンドフレーム、レスポンスフレー
ムにおける、Login、Logout、OpenChannel、CloseChann
el、フォーマット設定についての動作は前述した転送方
式1と同様であり、BufferConfig、SetBufferのコマンド
およびレスポンス(S711からS714)については前述した転
送方式3と同様であるから詳細な説明は省略する。
FIG. 70 is a diagram showing an example of the operation flow of the pull buffer model between the image supply device and the printer. Login, Logout, OpenChannel, CloseChann in command frame and response frame
The operations for el and format setting are the same as those in the transfer method 1 described above, and the commands and responses (S711 to S714) of BufferConfig and SetBuffer are the same as those in the transfer method 3 described above, so detailed description will be omitted.

【0236】図70において、画像供給デバイスは、SetB
ufferコマンドのNOTIFYにより、データの転送を開始で
きることをプリンタに通知する(S715)。これに対してプ
リンタは、SetBufferレスポンスのINTERIMにより、取り
敢えず受信する準備ができたことを返し(S716)、データ
の転送を開始させる。そして、プリンタは、SetBuffer
レスポンスのCONTINUEにより、初めに設定されたバッフ
ァ領域に対するデータ転送が完了したことを画像供給デ
バイスに通知する(S719)。
In FIG. 70, the image supply device is SetB
It notifies the printer that data transfer can be started by NOTIFY of the buffer command (S715). On the other hand, the printer returns, by the INTERIM of the SetBuffer response, that it is ready to receive the data (S716), and starts the data transfer. And the printer, SetBuffer
The image supply device is notified by the response CONTINUE that the data transfer to the initially set buffer area has been completed (S719).

【0237】プリンタは、PullBufferリクエストによ
り、リードトランザクションを要求する(S717)。これに
対して画像供給デバイスは、PullBufferレスポンスパケ
ットによりデータを転送し(S718)、プリンタに設定され
たバッファアドレスにデータが順次書込まれる。
The printer requests a read transaction by a PullBuffer request (S717). On the other hand, the image supply device transfers data by a PullBuffer response packet (S718), and the data is sequentially written to the buffer address set in the printer.

【0238】ステップS720は複数のデータフレームの転
送処理を示す。つまり、BufferConfigコマンドで設定し
たバッファサイズに対して連続するリードトランザクシ
ョンによりデータを転送する。このように連続したリー
ドトランザクションを用いるデータ転送方式を「PULL型
データ転送方式」あるいは略して「PULL方式」と呼ぶ。
Step S720 shows a process of transferring a plurality of data frames. That is, data is transferred by a continuous read transaction for the buffer size set by the BufferConfig command. Such a data transfer method using a continuous read transaction is referred to as a “PULL data transfer method” or abbreviated “PULL method”.

【0239】図71は画像供給デバイスのデータレジスタ
とバッファの関係例を示す図で、データレジスタ71-1に
設定されたオフセットDestination_Offsetにより決定さ
れるBufferAddressが指す画像供給デバイスのメモリ空
間72-2のアドレスのデータをリードトランザクションに
より読出す。オフセット値は、データ長Data_Length分
ずつインクリメントされるので、連続したバッファアド
レスに対して繰返しデータを読出すことで、バッファサ
イズBufferSizeで示される領域からデータを連続して読
出すことができる。
FIG. 71 is a diagram showing an example of the relationship between the data register and the buffer of the image supply device. The memory space 72-2 of the image supply device indicated by the BufferAddress determined by the offset Destination_Offset set in the data register 71-1. The data at the address is read by a read transaction. Since the offset value is incremented by the data length Data_Length, data can be read continuously from the area indicated by the buffer size BufferSize by repeatedly reading data for successive buffer addresses.

【0240】[転送方式5]Isochronous Modelである転
送方式5は、前述した転送方式1の非同期ライトトランザ
クションを用いた印刷データの転送を、同期ライトトラ
ンザクションを用いた印刷データの転送に置き換えたも
のである。なお、データパケットの構成は、図55および
図56に示した構成と同じである。また、ブロック転送に
おけるプリンタ内のデータパケットフレーム処理は、図
57に示した処理と同じである。
[Transfer Method 5] Transfer method 5, which is an isochronous model, is obtained by replacing the transfer of print data using the asynchronous write transaction of transfer method 1 described above with the transfer of print data using a synchronous write transaction. is there. The configuration of the data packet is the same as the configuration shown in FIGS. 55 and 56. The data packet frame processing in the printer in the block transfer is shown in FIG.
This is the same as the processing shown in FIG.

【0241】なお、本転送方式によれば、同期ライトト
ランザクションを用いることにより、時間を定めてデー
タ転送することができる。
According to this transfer method, data can be transferred at a fixed time by using a synchronous write transaction.

【0242】また、ブロック転送することにより、例え
ば一頁分の印刷データをまとめて転送した際にエラーが
発生すると、一頁分の印刷データを再送することになり
時間がかかる。しかし、より細かいブロック単位、例え
ばインクジェットプリンタなどにおける印刷バンド単位
で印刷データを転送すればエラー発生にともなう印刷デ
ータの再送を効率的に行うことができる。
In addition, if an error occurs when block data is transferred and, for example, one page of print data is transferred together, one page of print data is retransmitted, which takes time. However, if the print data is transferred in finer block units, for example, in print band units in an ink jet printer or the like, the print data can be retransmitted efficiently when an error occurs.

【0243】図72はフロー制御のためのコマンドフレー
ムおよびレスポンスフレームを示す図である。画像供給
デバイスは、非同期ライトトランザクションにより、プ
リンタのコマンドレジスタ75-3にコマンドフレームを書
込む。これに対してプリンタは、非同期ライトトランザ
クションにより、そのコマンドに対するレスポンスフレ
ームを画像供給デバイスのレスポンスレジスタ75-2に書
込む。
FIG. 72 is a diagram showing a command frame and a response frame for flow control. The image supply device writes a command frame to the command register 75-3 of the printer by an asynchronous write transaction. On the other hand, the printer writes a response frame for the command to the response register 75-2 of the image supply device by an asynchronous write transaction.

【0244】図73は印刷処理のフロー例を示す図であ
る。まず、前述した転送方式1と同様に、画像供給デバ
イスはLoginコマンドをプリンタへ送る(S507)。これに
対してプリンタはLoginレスポンスを返し(S508)、コネ
クションが確立される。
FIG. 73 is a diagram showing an example of the flow of the printing process. First, similarly to the transfer method 1 described above, the image supply device sends a Login command to the printer (S507). In response, the printer returns a Login response (S508), and the connection is established.

【0245】次に、前述した転送方式1と同様に、画像
供給デバイスは、フォーマット設定を行い(S509)、Open
Channelコマンドをプリンタへ送る(S510)。これに対し
てプリンタは、OpenChannelレスポンスを返し(S511)、
論理チャネルがオープンされる。
Next, similarly to the above-described transfer method 1, the image supply device performs format setting (S509), and
A Channel command is sent to the printer (S510). In response, the printer returns an OpenChannel response (S511),
The logical channel is opened.

【0246】続いて、画像供給デバイスは、FreeBlock
コマンドをプリンタに送る(S512)。これに対してプリン
タは、FreeBlockレスポンスを返す(S513)。このFreeBlo
ckレスポンスにはFreeBlock数とErrorStatusが含まれ
る。FreeBlock数は、プリンタのメモリ空間内にブロッ
ク単位で確保されたブロックバッファの数であり、Erro
rStatusは前回のブロック転送におけるエラー情報を画
像供給デバイスに知らせるためのものである。なお、プ
リンタは、論理チャネルがオープンされた後の最初のFr
eeBlockコマンドに対するErrorStatusには常に正常を返
す。
Then, the image supply device is a FreeBlock
The command is sent to the printer (S512). In response, the printer returns a FreeBlock response (S513). This FreeBlo
The ck response includes the number of FreeBlocks and ErrorStatus. The number of FreeBlocks is the number of block buffers secured in block units in the printer's memory space.
rStatus is for notifying the image supply device of error information in the previous block transfer. Note that the printer uses the first Fr after the logical channel is opened.
Normal is always returned in ErrorStatus for the eeBlock command.

【0247】続いて、画像供給デバイスは、同期トラン
ザクションにより印刷データをブロック転送する(S51
4)。このとき、画像供給デバイスは、FreeBlock数によ
り示される数分のデータパケットを送出する。
Subsequently, the image supply device performs block transfer of print data by a synchronous transaction (S51).
Four). At this time, the image supply device sends out data packets for the number indicated by the number of FreeBlocks.

【0248】次に、画像供給デバイスは、FreeBlockコ
マンドをプリンタに送る(S515)。これに対してプリンタ
は、FreeBlockレスポンスを返す(S516)。このレスポン
スのErrorStatusが異常を示す場合、つまり先のブロッ
ク転送でエラーが生じた場合、画像供給デバイスはステ
ップS514で転送したデータを再送する(S517)。この後、
データ転送が正常に終了するまで、ステップS515、S516
およびS517の処理を繰返し実行する。また、ErrorStatu
sが正常を示す場合、画像供給デバイスはFreeBlockレス
ポンスに含まれるFreeBlock数のデータパケットを送出
する(S517)。
Next, the image supply device sends a FreeBlock command to the printer (S515). In response, the printer returns a FreeBlock response (S516). If the ErrorStatus of this response indicates an error, that is, if an error has occurred in the previous block transfer, the image supply device retransmits the data transferred in step S514 (S517). After this,
Until the data transfer ends normally, steps S515 and S516
And the processing of S517 are repeatedly executed. Also, ErrorStatu
If s indicates normal, the image supply device sends out data packets of the FreeBlock number included in the FreeBlock response (S517).

【0249】なお、プリンタは、転送されるデータのヘ
ッダ部のブロックカウント(図73)を参照することによ
り、エラーが生じたか否かを認識することができる。ま
た、転送すべきデータのブロック数よりFreeBlock数の
方が大きい場合、画像供給デバイスは、その大きい分に
相当する数のダミーパケットを送出する。
The printer can recognize whether or not an error has occurred by referring to the block count (FIG. 73) of the header portion of the transferred data. When the number of FreeBlocks is larger than the number of blocks of data to be transferred, the image supply device sends out dummy packets corresponding to the larger number.

【0250】以降、画像供給デバイスから一連の印刷デ
ータがすべて出力されるまで同期トランザクションによ
るデータの転送が繰返される。
Thereafter, the data transfer by the synchronous transaction is repeated until all the series of print data is output from the image supply device.

【0251】データの転送が終わると、前述した転送方
式1と同様に、画像供給デバイスは、CloseChannelコマ
ンドおよびレスポンスにより論理チャネルを閉じ(S518
およびS519)、DPPのLogoutコマンドおよびレスポンス
によりプリンタからログアウトする(S520およびS52
1)。
When the data transfer is completed, the image supply device closes the logical channel by the CloseChannel command and the response as in the transfer method 1 described above (S518).
And S519), log out of the printer using the DPP Logout command and response (S520 and S52)
1).

【0252】以上説明したように、本実施形態によれ
ば、1394シリアルバスなどにより画像供給デバイスとプ
リンタを直結し、画像供給デバイスの画像データを直接
プリンタへ送り、その画像データに基づく画像をプリン
タに印刷させることができる。
As described above, according to the present embodiment, the image supply device is directly connected to the printer via the 1394 serial bus or the like, the image data of the image supply device is directly sent to the printer, and the image based on the image data is sent to the printer. Can be printed.

【0253】また、制御コマンドと印刷データとを分離
することができるので、1394シリアルバスなどにおいて
効率的なデータ転送方式を提供することができる。
Further, since the control command and the print data can be separated, an efficient data transfer method in a 1394 serial bus or the like can be provided.

【0254】また、1394シリアルバスにおいて転送エラ
ーを回復することが可能なデータ転送方式を提供するこ
とができる。
Further, it is possible to provide a data transfer method capable of recovering a transfer error in a 1394 serial bus.

【0255】また、データ転送用のレジスタ領域に関す
る空きブロック数を通知することにより、そのレジスタ
領域にデータを書込む際の書込みの可否の判定を不要と
し、その判定に要するオーバヘッドを削除したデータ転
送方式を提供することができる。さらに、通知された空
きブロック数分のデータをまとめて送信し受信するの
で、転送効率の良いデータ転送方式を提供することがで
きる。
Further, by notifying the number of free blocks related to the data transfer register area, it is not necessary to determine whether or not writing is possible when writing data to the register area, and the data transfer in which the overhead required for the determination is eliminated. A scheme can be provided. Furthermore, since the data for the notified number of free blocks is transmitted and received at a time, a data transfer method with high transfer efficiency can be provided.

【0256】また、複数のデータ転送方式の中から転送
先のデバイスに合ったデータ転送方式を選択することが
できるデータ転送方式を提供することができる。
Further, it is possible to provide a data transfer method capable of selecting a data transfer method suitable for a transfer destination device from a plurality of data transfer methods.

【0257】また、ホストデバイスからターゲットデバ
イスへデータを転送する際に、コマンドとそれに対する
レスポンスのやり取りを、データ転送の開始を指示する
コマンドとそのコマンドに対するレスポンスだけにし
て、つまり、データ転送の開始後はコマンドの送信を行
わないことで、コマンドの送信による転送効率の低下を
回避したデータ転送方式を提供することができる。
When data is transferred from the host device to the target device, the exchange of a command and a response to the command is limited to a command for instructing the start of data transfer and a response to the command, that is, the start of data transfer. Thereafter, by not transmitting the command, it is possible to provide a data transfer method that avoids a decrease in transfer efficiency due to the transmission of the command.

【0258】また、ホストデバイスとターゲットデバイ
ス間でデータ転送を行う際に、PUSH方式またはPULL方式
によるデータ転送方式を提供することができる。
When data is transferred between the host device and the target device, a data transfer method based on the PUSH method or the PULL method can be provided.

【0259】また、ホストデバイスとターゲットデバイ
ス間でデータ転送を行う際に、同期転送と非同期転送を
同じ転送手順で行うことができるデータ転送方式を提供
することができる。
Further, it is possible to provide a data transfer method capable of performing synchronous transfer and asynchronous transfer in the same transfer procedure when performing data transfer between a host device and a target device.

【0260】また、ホストデバイスとターゲットデバイ
ス間でデータ転送を行う際に、同期転送においてあるデ
ータ単位で転送エラーが発生した場合に、そのデータ単
位について再転送を行うことができるデータ転送方式を
提供することができる。
Further, a data transfer method is provided in which, when data transfer is performed between a host device and a target device, if a transfer error occurs in a certain data unit in synchronous transfer, the data unit can be re-transferred. can do.

【0261】また、ホストデバイスとターゲットデバイ
ス間でデータ転送を行う際に、バスリセットが発生した
場合でも正しいデータ転送が行うことができるデータ転
送方式を提供することができる。
In addition, it is possible to provide a data transfer method capable of performing correct data transfer even when a bus reset occurs when performing data transfer between the host device and the target device.

【0262】さらに、上記のデータ転送方法を利用する
プリンタなどの周辺機器を提供することができる。
Further, a peripheral device such as a printer using the above data transfer method can be provided.

【0263】[0263]

【変形例】上述した実施形態においては、FCPに基づい
たコマンドおよびコマンドに対するレスポンスを用い、
レスポンスに情報をセットしてホストデバイスに通知す
る方法を用いる例を説明したが、IEEE1394のメモリバス
モデルの特徴である、メモリ上にレジスタをマッピング
する方法も考えられる。
[Modification] In the above embodiment, a command based on the FCP and a response to the command are used.
Although an example of using the method of setting information in the response and notifying the host device has been described, a method of mapping registers on a memory, which is a feature of the IEEE1394 memory bus model, is also conceivable.

【0264】この場合、メモリの特定のアドレスに割り
当てられたコマンドレジスタにコマンドデータを書き込
むことによりコマンドを実行させる。同様に、メモリの
特定のアドレスに割り当てられたレスポンスレジスタの
データを読むことでレスポンスが示される。
In this case, a command is executed by writing command data to a command register assigned to a specific address of the memory. Similarly, a response is indicated by reading data in a response register assigned to a specific address in the memory.

【0265】従って、ターゲットデバイスは、コマンド
レジスタにコマンドが書き込まれたことを認識すると、
そのコマンドを実行し、その後、レスポンスレジスタに
その結果や情報を書き込む。ホストデバイスは、コマン
ドレジスタにコマンドを書き込んだ後、ターゲットデバ
イスのレスポンスレジスタを読むことで、コマンドの実
行結果や情報を得ることができる。
Therefore, when the target device recognizes that the command has been written in the command register,
Execute the command, and then write the result and information to the response register. After writing the command in the command register, the host device can obtain the execution result and information of the command by reading the response register of the target device.

【0266】このように、メモリバスモデルでのレジス
タを用いて本発明を実現することもできる。
As described above, the present invention can be realized by using the registers in the memory bus model.

【0267】また、上述した実施形態においてはIEEE19
34に規定されるシリアルインタフェイスを用いてネット
ワークを構成する例を説明したが、本発明はこれに限定
されるものではなく、Universal Serial Bus(USB)と呼
ばれるシリアルインタフェイスなど、任意のシリアルイ
ンタフェイスを用いて構成されるネットワークにも適用
することができる。
In the above-described embodiment, IEEE19
Although an example in which a network is configured using the serial interface specified in 34 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) may be used. The present invention can also be applied to networks configured using faces.

【0268】[0268]

【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
[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.).

【0269】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
Further, an object of the present invention is to supply a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and to provide a computer (or CPU or MPU) of the system or apparatus.
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.

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

【0271】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張カード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張カードや機能拡張ユニットに備わ
る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.

【0272】[0272]

【発明の効果】以上説明したように、本発明によれば、
1394シリアルバスなどによりホストデバイスとターゲッ
トデバイスを直結し、ホストデバイスから直接ターゲッ
トデバイスへ送られる画像データの処理をターゲットデ
バイスに行わせるのに適したデータ転送装置、データ転
送システムおよびその方法、画像処理装置、並びに、記
録媒体を提供することができる。
As described above, according to the present invention,
Data transfer device, data transfer system and method, image processing suitable for directly connecting a host device and a target device by a 1394 serial bus or the like and causing the target device to process image data sent directly from the host device to the target device An apparatus and a recording medium can be provided.

【0273】また、制御コマンドとデータの分離が可能
で転送効率のよいデータ転送装置、データ転送システム
およびその方法、画像処理装置、並びに、記録媒体を提
供することができる。
Further, it is possible to provide a data transfer device, a data transfer system and its method, an image processing device, and a recording medium which can separate control commands and data and have high transfer efficiency.

【0274】また、バスリセットが発生しても正しいデ
ータ転送を行うことができるデータ転送装置、データ転
送システムおよびその方法、画像処理装置、並びに、記
録媒体を提供することができる。
Further, it is possible to provide a data transfer device, a data transfer system and its method, an image processing device, and a recording medium that can perform correct data transfer even when a bus reset occurs.

【図面の簡単な説明】[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 the CSR architecture in the 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シリアルバスにおけるAV/Cトランザクシ
ョンの動作を示す図、
FIG. 29 is a diagram showing an operation of an AV / C transaction on the 1394 serial bus.

【図30】FCPパケットフレームを含む非同期転送のパ
ケットフォーマットを示す図、
FIG. 30 is a diagram showing a packet format of an asynchronous transfer including an FCP packet frame;

【図31】AV/Cコマンドフレームの構造を示す図、FIG. 31 is a diagram showing the structure of an AV / C command frame.

【図32】AV/Cレスポンスフレームの構造を示す図、FIG. 32 is a diagram showing a structure of an AV / C response frame.

【図33】1394シリアルバスのインタフェイスをOSIモ
デルの各層と対比させた図、
FIG. 33 is a diagram in which the interface of the 1394 serial bus is compared with each layer of the OSI model;

【図34】LOGINプロトコルの基本動作を示す図、FIG. 34 shows the basic operation of the LOGIN protocol;

【図35】1394シリアルバスにおける接続形態の一例を
示す図、
FIG. 35 is a diagram showing an example of a connection form in a 1394 serial bus.

【図36】ログイン動作の流れを示す図、FIG. 36 is a diagram showing a flow of a login operation;

【図37】LOGINプロトコルのためにターゲットデバイ
スであるプリンタが備える1394シリアルバスのCSRを示
す図、
FIG. 37 is a diagram showing a CSR of a 1394 serial bus provided in a printer which is a target device for a LOGIN protocol;

【図38】ホストデバイスにおけるログイン処理を示す
フローチャート、
FIG. 38 is a flowchart showing a login process in the host device;

【図39】ターゲットデバイスであるプリンタのログイ
ン処理を示すフローチャート、
FIG. 39 is a flowchart showing a login process of a printer as a target device;

【図40】LOGINプロトコルを実装していないデバイス
を考慮した例を説明する図、
FIG. 40 is a view for explaining an example in which a device not implementing the LOGIN protocol is considered;

【図41】図40に示した構成とOSIモデルの各層とを対
比させた図、
41 is a diagram comparing the configuration shown in FIG. 40 with each layer of the OSI model,

【図42】レジスタマップを示す図、FIG. 42 is a view showing a register map;

【図43】画像供給デバイスからプリンタへのフレーム
の流れを示す図、
FIG. 43 is a diagram showing a flow of frames from the image supply device to the printer.

【図44】フォーマットレジスタの構成例を示す図、FIG. 44 is a diagram showing a configuration example of a format register.

【図45】共通レジスタグループのステータスレジスタ
status registerの詳細な構成例を示す図、
FIG. 45 shows a status register of a common register group.
Diagram showing a detailed configuration example of status register,

【図46】共通レジスタグループのレジスタGLOBALに保
持される情報の詳細例を示す図、
FIG. 46 is a diagram showing a detailed example of information held in a register GLOBAL of a common register group;

【図47】共通レジスタグループのレジスタLOCALに保
持される情報の詳細例を示す図、
FIG. 47 is a diagram showing a detailed example of information held in a register LOCAL of a common register group;

【図48】レジスタformat[1]に保持される情報の一例
を示す図、
FIG. 48 is a view showing an example of information held in a register format [1];

【図49】レジスタformat[2]に保持される情報の一例
を示す図、
FIG. 49 is a diagram showing an example of information held in a register format [2];

【図50】コマンドおよびコマンドに対するレスポンス
の一覧を示す図、
FIG. 50 is a view showing a list of commands and responses to the commands;

【図51】DPPがサポートする画像データフォーマット
例を示す図、
FIG. 51 is a diagram showing an example of an image data format supported by DPP;

【図52】フォーマット設定処理の流れを示す図、FIG. 52 is a view showing a flow of a format setting process;

【図53】データ転送方式の設定手順の一例を示す図、FIG. 53 is a diagram showing an example of a data transfer method setting procedure;

【図54】転送方式1および転送方式2に必要なレジスタ
の1394シリアルバスのアドレス空間におけるレジスタマ
ップを示す図、
FIG. 54 is a view showing a register map in a 1394 serial bus address space of registers necessary for the transfer method 1 and the transfer method 2;

【図55】データパケットフレームの一例を示す図、FIG. 55 is a view showing an example of a data packet frame;

【図56】データヘッダの構成例を示す図、FIG. 56 is a view showing a configuration example of a data header;

【図57】ブロック転送におけるプリンタ内のデータパ
ケットフレーム処理を示す図、
FIG. 57 is a view showing data packet frame processing in the printer in block transfer.

【図58】転送方式1におけるFreeBlockコマンドおよび
レスポンスを示す図、
FIG. 58 is a diagram showing a FreeBlock command and a response in the transfer method 1,

【図59】転送方式1におけるデータ転送フローの一例
を示す図、
FIG. 59 is a diagram showing an example of a data transfer flow in the transfer method 1;

【図60】転送方式2におけるデータ転送フローの一例
を示す図、
FIG. 60 is a view showing an example of a data transfer flow in the transfer method 2;

【図61】転送方式1におけるFreeBlockコマンドおよび
レスポンスを詳細に示す図、
FIG. 61 is a diagram showing in detail a FreeBlock command and a response in the transfer method 1,

【図62】転送方式1および転送方式2のWriteBlockを詳
細に示す図、
FIG. 62 is a diagram showing in detail WriteBlocks of the transfer method 1 and the transfer method 2,

【図63】転送方式1および転送方式2のWriteBlockを詳
細に示す図、
FIG. 63 is a diagram showing WriteBlocks of the transfer method 1 and the transfer method 2 in detail;

【図64】バスリセットが発生した場合のWriteBlockの
エラー処理を説明する図、
FIG. 64 is a view for explaining error processing of WriteBlock when a bus reset occurs;

【図65】PUSH Large Buffer Modelにおける画像供給
デバイスおよびプリンタのコマンドレジスタ、レスポン
スレジスタおよびデータレジスタの構成例を示す図、
FIG. 65 is a diagram illustrating a configuration example of a command register, a response register, and a data register of an image supply device and a printer in a PUSH Large Buffer Model;

【図66】画像供給デバイスおよびプリンタ間における
PUSHバッファモデルの動作フローの一例を示す図、
FIG. 66 shows a state between an image supply device and a printer.
A diagram showing an example of the operation flow of the PUSH buffer model,

【図67】データフレームにおけるデータパケットの構
成例を示す図、
FIG. 67 is a view showing a configuration example of a data packet in a data frame;

【図68】プリンタのデータレジスタとバッファの関係
例を示す図、
FIG. 68 is a view showing an example of the relationship between a data register and a buffer of the printer.

【図69】PULL Buffer Modelにおける画像供給デバイ
スおよびプリンタのコマンドレジスタ、レスポンスレジ
スタおよびデータレジスタの構成例を示す図、
FIG. 69 is a diagram showing a configuration example of a command register, a response register, and a data register of an image supply device and a printer in a PULL Buffer Model;

【図70】画像供給デバイスおよびプリンタ間における
PULLバッファモデルの動作フローの一例を示す図、
FIG. 70 shows the operation between an image supply device and a printer.
A diagram showing an example of an operation flow of a PULL buffer model,

【図71】画像供給デバイスのデータレジスタとバッフ
ァの関係例を示す図、
FIG. 71 is a view showing a relationship example between a data register and a buffer of the image supply device;

【図72】フロー制御のためのコマンドフレームおよび
レスポンスフレームを示す図、
FIG. 72 is a view showing a command frame and a response frame for flow control;

【図73】印刷処理のフロー例を示す図である。FIG. 73 is a diagram illustrating an example of the flow of a printing process.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 尚久 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 立山 二郎 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 中村 敦 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Naohisa Suzuki 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc. (72) Inventor Jiro Tateyama 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon (72) Inventor Atsushi Nakamura 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc.

Claims (37)

【特許請求の範囲】[Claims] 【請求項1】 シリアルバスにより直結されるホストデ
バイスとターゲットデバイスとの間で利用されるデータ
転送方法であって、 前記ホストデバイスから前記ターゲットデバイスにコマ
ンドを送り、 前記ターゲットデバイスから前記ホストデバイスへ前記
コマンドに対するレスポンスを返し、 前記レスポンスに含まれるバッファ情報に基づき、前記
ホストデバイスから前記ターゲットデバイスへ所定単位
のデータを送り、 バスリセットが発生した場合、前記バスリセットの発生
タイミングで転送中であった前記所定単位のデータの一
部を再送することを特徴とするデータ転送方法。
1. A data transfer method used between a host device directly connected to a serial bus and a target device, wherein a command is sent from the host device to the target device, and the command is transmitted from the target device to the host device. A response to the command is returned, and a predetermined unit of data is transmitted from the host device to the target device based on the buffer information included in the response.If a bus reset occurs, the data is being transferred at the timing of the bus reset. And retransmitting a part of the data of the predetermined unit.
【請求項2】 前記バスリセットは、前記シリアルバス
を用いて構成される通信システムの初期設定を行うこと
を示す処理であり、前記ホストデバイスは、前記初期設
定の終了後に前記所定単位のデータの一部を再送するこ
とを特徴とする請求項1に記載されたデータ転送方法。
2. The bus reset is a process for performing initialization of a communication system configured using the serial bus, and the host device transmits the data of the predetermined unit after the completion of the initialization. 2. The data transfer method according to claim 1, wherein a part of the data is retransmitted.
【請求項3】 前記初期設定は、前記シリアルバスに接
続されたデバイスの接続構成を認識する処理であること
を特徴とする請求項2に記載されたデータ転送方法。
3. The data transfer method according to claim 2, wherein the initial setting is a process of recognizing a connection configuration of a device connected to the serial bus.
【請求項4】 前記所定単位のデータは、一つ以上の所
定ブロック単位のデータにより構成されることを特徴と
する請求項1から請求項3の何れかに記載されたデータ転
送方法。
4. The data transfer method according to claim 1, wherein the predetermined unit of data is constituted by one or more predetermined block units of data.
【請求項5】 前記ホストデバイスは、前記バスリセッ
トが発生した場合に、その発生タイミングの直前に転送
された、または、転送中であった前記所定ブロック単位
のデータを再送することを特徴とする請求項4に記載さ
れたデータ転送方法。
5. The host device according to claim 1, wherein, when the bus reset occurs, the host device retransmits the data of the predetermined block unit transferred or transferred immediately before the occurrence timing. 5. The data transfer method according to claim 4.
【請求項6】 前記ターゲットデバイスは、前記ホスト
デバイスより転送される前記所定単位のデータを前記所
定ブロック単位に保持可能なバッファを有することを特
徴とする請求項4または請求項5に記載されたデータ転送
方法。
6. The target device according to claim 4, wherein the target device has a buffer capable of holding the data in the predetermined unit transferred from the host device in the predetermined block unit. Data transfer method.
【請求項7】 前記バッファ情報は、前記ターゲットデ
バイスが備えるバッファにより受信可能な所定ブロック
単位のデータのブロック数を示す情報であることを特徴
とする請求項6に記載されたデータ転送方法。
7. The data transfer method according to claim 6, wherein the buffer information is information indicating the number of data blocks in a predetermined block unit that can be received by a buffer included in the target device.
【請求項8】 前記ホストデバイスは、画像データを生
成することが可能なデバイスであり、生成した画像デー
タを所定単位のデータに分割して転送することを特徴と
する請求項1から請求項7の何れかに記載されたデータ転
送方法。
8. The apparatus according to claim 1, wherein the host device is a device capable of generating image data, and transfers the generated image data by dividing the generated image data into data of a predetermined unit. The data transfer method described in any one of the above.
【請求項9】 前記ターゲットデバイスは、前記ホスト
デバイスから転送される画像データに基づいて可視像を
形成することができるデバイスであることを特徴とする
請求項1から請求項8の何れかに記載されたデータ転送方
法。
9. The device according to claim 1, wherein the target device is a device capable of forming a visible image based on image data transferred from the host device. Data transfer method described.
【請求項10】 前記シリアルバスは、所定の通信サイ
クルごとに所定単位のデータを同期転送する第一の転送
方法と、必要に応じて所定単位のデータを非同期転送す
る第二の転送方法とに対応する転送が可能であることを
特徴とする請求項1から請求項9の何れかに記載されたデ
ータ転送方法。
10. The serial bus has a first transfer method for synchronously transferring a predetermined unit of data every predetermined communication cycle, and a second transfer method for asynchronously transferring a predetermined unit of data as needed. 10. The data transfer method according to claim 1, wherein a corresponding transfer is possible.
【請求項11】 前記ホストデバイスは、前記所定単位
のデータを必要に応じて非同期転送することを特徴とす
る請求項10に記載されたデータ転送方法。
11. The data transfer method according to claim 10, wherein the host device asynchronously transfers the predetermined unit of data as needed.
【請求項12】 前記シリアルバスは、IEEE1394-1995
規格またはUSB規格に適合または準拠するバスであるこ
とを特徴とする請求項10に記載されたデータ転送方法。
12. The serial bus is an IEEE1394-1995
11. The data transfer method according to claim 10, wherein the bus conforms to or conforms to a standard or a USB standard.
【請求項13】 請求項1から請求項12の何れかに記載
されたデータ転送方法により、前記ターゲットデバイス
へ前記所定単位の画像データを送信することを特徴とす
る画像処理装置。
13. An image processing apparatus according to claim 1, wherein said predetermined unit of image data is transmitted to said target device by the data transfer method according to any one of claims 1 to 12.
【請求項14】 請求項1から請求項12の何れかに記載
されたデータ転送方法により、前記ホストデバイスから
受信した前記所定単位の画像データを処理することを特
徴とする画像処理装置。
14. An image processing apparatus, wherein the predetermined unit of image data received from the host device is processed by the data transfer method according to any one of claims 1 to 12.
【請求項15】 シリアルバスに接続されるデータ転送
装置であって、 ターゲットデバイスへコマンドを送るコマンド送信手段
と、 前記ターゲットデバイスから返される前記コマンドに対
するレスポンスを受信する受信手段と、 前記レスポンスに含まれるバッファ情報に基づき、前記
ターゲットデバイスとの間で所定単位のデータの転送を
行う転送手段と、 バスリセットが発生した場合、前記バスリセットの発生
タイミングで転送中であった前記所定単位のデータの一
部を再送する再送手段とを有することを特徴とするデー
タ転送装置。
15. A data transfer device connected to a serial bus, comprising: a command transmitting unit for transmitting a command to a target device; a receiving unit for receiving a response to the command returned from the target device; Transfer means for transferring a predetermined unit of data to and from the target device based on the buffer information to be transferred, and when a bus reset occurs, the transfer of the predetermined unit of data being transferred at the bus reset occurrence timing. A data transfer device comprising: retransmission means for retransmitting a part.
【請求項16】 前記バスリセットは、前記シリアルバ
スを用いて構成される通信システムの初期設定を行うこ
とを示す処理であり、前記データ転送装置は、前記初期
設定の終了後に前記所定単位のデータの一部を再送する
ことを特徴とする請求項15に記載されたデータ転送装
置。
16. The bus reset is a process indicating that initialization of a communication system configured by using the serial bus is performed, and the data transfer device performs the predetermined unit of data after the completion of the initialization. 16. The data transfer device according to claim 15, wherein a part of the data transfer is retransmitted.
【請求項17】 前記初期設定は、前記シリアルバスに
接続されたデバイスの接続構成を認識する処理であるこ
とを特徴とする請求項16に記載されたデータ転送装置。
17. The data transfer device according to claim 16, wherein the initial setting is a process of recognizing a connection configuration of a device connected to the serial bus.
【請求項18】 前記所定単位のデータは、一つ以上の
所定ブロック単位のデータにより構成されることを特徴
とする請求項15から請求項17の何れかに記載されたデー
タ転送装置。
18. The data transfer device according to claim 15, wherein said predetermined unit of data is constituted by one or more predetermined block units of data.
【請求項19】 前記バスリセットが発生した場合に、
その発生タイミングの直前に転送された、または、転送
中であった前記所定ブロック単位のデータを再送するこ
とを特徴とする請求項18に記載されたデータ転送装置。
19. When the bus reset occurs,
19. The data transfer device according to claim 18, wherein the data of the predetermined block unit transferred immediately before the occurrence timing or being transferred is retransmitted.
【請求項20】 前記ターゲットデバイスは、前記ホス
トデバイスより転送される前記所定単位のデータを前記
所定ブロック単位に保持可能なバッファを有することを
特徴とする請求項18または請求項19に記載されたデータ
転送装置。
20. The target device according to claim 18, wherein the target device has a buffer capable of holding the data of the predetermined unit transferred from the host device in the predetermined block unit. Data transfer device.
【請求項21】 前記バッファ情報は、前記ターゲット
デバイスが備えるバッファにより受信可能な所定ブロッ
ク単位のデータのブロック数を示す情報であることを特
徴とする請求項20に記載されたデータ転送装置。
21. The data transfer device according to claim 20, wherein the buffer information is information indicating the number of data blocks in a predetermined block unit that can be received by a buffer provided in the target device.
【請求項22】 前記データ転送装置は、画像データを
生成することが可能なデバイスであり、生成した画像デ
ータを所定単位のデータに分割して転送することを特徴
とする請求項15から請求項21の何れかに記載されたデー
タ転送装置。
22. The data transfer device according to claim 15, wherein the data transfer device is a device capable of generating image data, and transfers the generated image data by dividing the generated image data into data of a predetermined unit. 22. The data transfer device according to any one of 21.
【請求項23】 前記シリアルバスは、所定の通信サイ
クルごとに所定単位のデータを同期転送する第一の転送
方法と、必要に応じて所定単位のデータを非同期転送す
る第二の転送方法とに対応する転送が可能であることを
特徴とする請求項15から請求項22の何れかに記載された
データ転送装置。
23. The serial bus has a first transfer method for synchronously transferring a predetermined unit of data every predetermined communication cycle, and a second transfer method for asynchronously transferring a predetermined unit of data as needed. 23. The data transfer device according to claim 15, wherein a corresponding transfer is possible.
【請求項24】 前記所定単位のデータを必要に応じて
非同期転送することを特徴とする請求項23に記載された
データ転送装置。
24. The data transfer device according to claim 23, wherein the predetermined unit of data is asynchronously transferred as needed.
【請求項25】 前記シリアルバスは、IEEE1394-1995
規格またはUSB規格に適合または準拠するバスであるこ
とを特徴とする請求項23に記載されたデータ転送装置。
25. The serial bus is an IEEE1394-1995
24. The data transfer device according to claim 23, wherein the data transfer device is a bus that conforms to or conforms to a USB standard or a USB standard.
【請求項26】 シリアルバスに接続されるデータ転送
装置であって、 ホストデバイスから送られてくるコマンドを受信するコ
マンド受信手段と、 前記ホストデバイスへ前記コマンドに対するレスポンス
を送る送信手段と、 前記レスポンスに含まれるバッファ情報に基づき、前記
ホストデバイスとの間で所定単位のデータの転送を行う
転送手段と、 バスリセットが発生した場合、前記バスリセットの発生
タイミングで転送中であった前記所定単位のデータの一
部を再受信する再受信手段とを有することを特徴とする
データ転送装置。
26. A data transfer device connected to a serial bus, comprising: command receiving means for receiving a command sent from a host device; transmitting means for sending a response to the command to the host device; A transfer unit for transferring data in a predetermined unit with the host device based on the buffer information included in the predetermined unit; and when a bus reset occurs, the transfer of the predetermined unit being performed at the timing of the occurrence of the bus reset. A data transfer device, comprising: re-receiving means for re-receiving a part of data.
【請求項27】 前記バスリセットは、前記シリアルバ
スを用いて構成される通信システムの初期設定を行うこ
とを示す処理であり、前記データ転送装置は、前記初期
設定の終了後に前記所定単位のデータの一部を再送する
ことを特徴とする請求項26に記載されたデータ転送装
置。
27. The bus reset is a process indicating that initialization of a communication system configured by using the serial bus is performed, and the data transfer device performs the initialization of the predetermined unit of data after the initialization. 27. The data transfer device according to claim 26, wherein a part of the data is retransmitted.
【請求項28】 前記初期設定は、前記シリアルバスに
接続されたデバイスの接続構成を認識する処理であるこ
とを特徴とする請求項27に記載されたデータ転送装置。
28. The data transfer apparatus according to claim 27, wherein said initial setting is a process of recognizing a connection configuration of a device connected to said serial bus.
【請求項29】 前記所定単位のデータは、一つ以上の
所定ブロック単位のデータにより構成されることを特徴
とする請求項26から請求項28の何れかに記載されたデー
タ転送装置。
29. The data transfer apparatus according to claim 26, wherein the data of the predetermined unit is constituted by data of one or more predetermined blocks.
【請求項30】 前記バスリセットが発生した場合に、
その発生タイミングの直前に転送された、または、転送
中であった前記所定ブロック単位のデータを再送するこ
とを特徴とする請求項29に記載されたデータ転送装置。
30. When the bus reset occurs,
30. The data transfer device according to claim 29, wherein the data transferred in a predetermined block unit immediately before or before the occurrence timing is retransmitted.
【請求項31】 前記バッファ情報は、前記データ転送
装置が備えるバッファにより受信可能な所定ブロック単
位のデータのブロック数を示す情報であることを特徴と
する請求項30に記載されたデータ転送装置。
31. The data transfer device according to claim 30, wherein the buffer information is information indicating the number of data blocks in a predetermined block unit that can be received by a buffer provided in the data transfer device.
【請求項32】 前記データ転送装置は、前記ホストデ
バイスから転送される画像データに基づいて可視像を形
成することができるデバイスであることを特徴とする請
求項26から請求項31の何れかに記載されたデータ転送装
置。
32. The data transfer device according to claim 26, wherein the data transfer device is a device capable of forming a visible image based on image data transferred from the host device. A data transfer device according to claim 1.
【請求項33】 前記シリアルバスは、所定の通信サイ
クルごとに所定単位のデータを同期転送する第一の転送
方法と、必要に応じて所定単位のデータを非同期転送す
る第二の転送方法とに対応する転送が可能であることを
特徴とする請求項26から請求項32の何れかに記載された
データ転送装置。
33. The serial bus has a first transfer method for synchronously transferring a predetermined unit of data every predetermined communication cycle, and a second transfer method for asynchronously transferring a predetermined unit of data when necessary. 33. The data transfer device according to claim 26, wherein corresponding transfer is possible.
【請求項34】 前記ホストデバイスは、前記所定単位
のデータを必要に応じて非同期転送することを特徴とす
る請求項33に記載されたデータ転送装置。
34. The data transfer apparatus according to claim 33, wherein the host device asynchronously transfers the predetermined unit of data as needed.
【請求項35】 前記シリアルバスは、IEEE1394-1995
規格またはUSB規格に適合または準拠するバスであるこ
とを特徴とする請求項33に記載されたデータ転送装置。
35. The serial bus is an IEEE1394-1995
34. The data transfer device according to claim 33, wherein the data transfer device is a bus conforming to or conforming to a USB standard or a USB standard.
【請求項36】 シリアルバスを介してデータを転送す
るデータ転送システムであって、 ホストデバイスからターゲットデバイスへコマンドを送
信させ、前記ターゲットデバイスから前記ホストデバイ
スへ前記コマンドに対するレスポンスを返信させる通信
手段と、 前記レスポンスに含まれるバッファ情報に基づき、前記
ホストデバイスと前記ターゲットデバイスとの間で所定
単位のデータの転送を行わせる転送手段と、 バスリセットが発生した場合、前記バスリセットの発生
タイミングで転送中であった前記所定単位のデータの一
部を再送させる再送手段とを有することを特徴とするデ
ータ転送システム。
36. A data transfer system for transferring data via a serial bus, comprising: communication means for transmitting a command from a host device to a target device, and returning a response to the command from the target device to the host device. A transfer unit configured to transfer a predetermined unit of data between the host device and the target device based on buffer information included in the response; and when a bus reset occurs, transfer is performed at a timing when the bus reset occurs. Retransmitting means for retransmitting a part of the predetermined unit of data in the data transfer system.
【請求項37】 シリアルバスにより直結されるホスト
デバイスとターゲットデバイスとの間で利用されるデー
タ転送方法のプログラムコードが格納された記録媒体で
あって、 ホストデバイスからターゲットデバイスへコマンドを送
信させ、前記ターゲットデバイスから前記ホストデバイ
スへ前記コマンドに対するレスポンスを返信させるため
の通信ステップのコードと、 前記レスポンスに含まれるバッファ情報に基づき、前記
ホストデバイスと前記ターゲットデバイスとの間で所定
単位のデータの転送を行わせるための転送ステップのコ
ードと、 バスリセットが発生した場合、前記バスリセットの発生
タイミングで転送中であった前記所定単位のデータの一
部を再送させるための再送ステップのコードとを有する
ことを特徴とする記録媒体。
37. A recording medium storing a program code of a data transfer method used between a host device and a target device directly connected by a serial bus, wherein the command code is transmitted from the host device to the target device, A code of a communication step for returning a response to the command from the target device to the host device, and transfer of data in a predetermined unit between the host device and the target device based on buffer information included in the response. And a code of a retransmission step for retransmitting a part of the data of the predetermined unit which has been transferred at the timing of the occurrence of the bus reset when a bus reset occurs. Recording medium characterized by the following: .
JP9127708A 1997-02-14 1997-05-16 Data transfer device, data transfer system/method, picture processor and record medium Pending JPH10322373A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9127708A JPH10322373A (en) 1997-05-16 1997-05-16 Data transfer device, data transfer system/method, picture processor and record medium
DE69836771T DE69836771T2 (en) 1997-02-14 1998-02-16 Apparatus, system and method for data transmission and apparatus for image processing
EP98301111A EP0859324B1 (en) 1997-02-14 1998-02-16 Data transmission apparatus, system and method, and image processing apparatus
US09/024,185 US6603737B1 (en) 1997-02-14 1998-02-17 Data transmission apparatus, system and method, and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9127708A JPH10322373A (en) 1997-05-16 1997-05-16 Data transfer device, data transfer system/method, picture processor and record medium

Publications (1)

Publication Number Publication Date
JPH10322373A true JPH10322373A (en) 1998-12-04

Family

ID=14966752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9127708A Pending JPH10322373A (en) 1997-02-14 1997-05-16 Data transfer device, data transfer system/method, picture processor and record medium

Country Status (1)

Country Link
JP (1) JPH10322373A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041431A1 (en) * 1999-12-03 2001-06-07 Sony Corporation Method for transferring printing data and image data
WO2001047195A1 (en) * 1999-12-20 2001-06-28 Seiko Epson Corporation Data transfer controller, information storage medium, and electronic apparatus
US6721895B1 (en) 1999-04-01 2004-04-13 Nec Corporation Data communications system and data communications method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721895B1 (en) 1999-04-01 2004-04-13 Nec Corporation Data communications system and data communications method
WO2001041431A1 (en) * 1999-12-03 2001-06-07 Sony Corporation Method for transferring printing data and image data
US6698948B2 (en) 1999-12-03 2004-03-02 Sony Corporation Printing data and picture data transferring method
WO2001047195A1 (en) * 1999-12-20 2001-06-28 Seiko Epson Corporation Data transfer controller, information storage medium, and electronic apparatus
KR100431009B1 (en) * 1999-12-20 2004-05-12 세이코 엡슨 가부시키가이샤 Data transfer controller, information storage medium, and electronic apparatus

Similar Documents

Publication Publication Date Title
EP0859323B1 (en) Data transmission apparatus, system and method, and image processing apparatus
EP0859327B1 (en) Data transmission apparatus, system and method, and image processing apparatus
EP0859324B1 (en) Data transmission apparatus, system and method, and image processing apparatus
EP0859326A2 (en) Data transmission apparatus, system and method, and image processing apparatus
KR100298140B1 (en) Data communication apparatus and method
JPH11316657A (en) Data transfer device, method thereof, data transfer system and medium
JP3630971B2 (en) Data communication method, apparatus, system, and storage medium
JP3566495B2 (en) Data transfer device, data transfer system and method, image processing device, and recording medium
JPH1115771A (en) Data transfer device, data transfer system, its method, image processor and recording medium
JP3535694B2 (en) Data transfer device and method, and image processing device
JP3768644B2 (en) Data transfer apparatus and method
JPH10322373A (en) Data transfer device, data transfer system/method, picture processor and record medium
JP3517552B2 (en) Data transfer device, data transfer system and method, image processing device, and recording medium
JPH10322414A (en) Data transfer device, data transfer system and its method, image processing unit and recording medium
JPH10322372A (en) Data transfer device, data transfer system, its method, image processing unit and recording medium
JP4463952B2 (en) Image processing system, digital camera, printing apparatus, control method thereof, and recording medium
JP3501707B2 (en) Information processing apparatus, information processing system and their methods
JP3897773B2 (en) Communication method and communication apparatus
JP3943722B2 (en) Data transfer apparatus, data transfer system and method, image processing apparatus, and recording medium
JP3862349B2 (en) Information processing system, image processing system and method thereof, information processing apparatus, and computer-readable memory
JPH11355587A (en) Device and method for processing image
JP4463953B2 (en) Image processing system, digital camera and control method thereof
JP4058156B2 (en) Data processing method, data processing apparatus, printer, and storage medium
JPH10307691A (en) Method and device for data communication, printing device, and printing system including the same
JPH11282641A (en) Electronic instrument, its controlling method and multi-function system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040517

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040517

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070518