[go: up one dir, main page]

JP3535694B2 - Data transfer device and method, and image processing device - Google Patents

Data transfer device and method, and image processing device

Info

Publication number
JP3535694B2
JP3535694B2 JP12763197A JP12763197A JP3535694B2 JP 3535694 B2 JP3535694 B2 JP 3535694B2 JP 12763197 A JP12763197 A JP 12763197A JP 12763197 A JP12763197 A JP 12763197A JP 3535694 B2 JP3535694 B2 JP 3535694B2
Authority
JP
Japan
Prior art keywords
data
node
data transfer
response
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.)
Expired - Fee Related
Application number
JP12763197A
Other languages
Japanese (ja)
Other versions
JPH10322413A (en
Inventor
耕司 福長
真琴 小林
清 片野
尚久 鈴木
二郎 立山
敦 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP12763197A priority Critical patent/JP3535694B2/en
Priority to EP98301121A priority patent/EP0859326A3/en
Priority to US09/025,129 priority patent/US7062579B2/en
Publication of JPH10322413A publication Critical patent/JPH10322413A/en
Application granted granted Critical
Publication of JP3535694B2 publication Critical patent/JP3535694B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明はデータ転送装置およ
びその方法、並びに、画像処理装置に関し、例えば、IE
EE1394などにより規定されるシリアルインタフェイスを
介して、ディジタルカメラなどの画像供給デバイスとプ
リンタなどの画像処理デバイスとを直結する場合のデー
タ転送に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer device and method, and an image processing device.
The present invention relates to data transfer when an image supply device such as a digital camera and an image processing device such as a printer are directly connected via a serial interface defined by EE1394.

【0002】[0002]

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

【0003】また、スキャナ、ディジタルスチルカメ
ラ、ディジタルビデオカメラといった画像供給デバイス
であるディジタル機器もPCに接続されている。各ディジ
タル機器により取込まれた画像データは、一旦PC上のハ
ードディスクなどに取込まれた後、PC上のアプリケーシ
ョンソフトウェアなどにより処理されてプリンタ用の印
刷データに変換され、上記のインタフェイスを経由して
プリンタに送られる。
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 taken in by each digital device is once taken in the hard disk etc. on the PC, then processed by the application software etc. on the PC and converted into the print data for the printer, and passed through the above interface. Then sent to the printer.

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

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

【0006】また、1394シリアルバスには、データ転送
用の制御手順として複数の方法があり、それぞれの機器
に適した方式によるデータ転送を行うことができる。
Further, the 1394 serial bus has a plurality of control procedures for data transfer, and data transfer can be performed by a method suitable for each device.

【0007】[0007]

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

【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 FCP operand has a problem that the control command and the print data cannot be separated. There is also a problem that transfer efficiency is low because a response is always required. Further, the above-described method of providing a register area for data transfer requires a process for determining whether data can be written in the register area each time data is transferred. Therefore, there is a problem that the overhead of this determination processing becomes large, and the transfer efficiency also decreases.

【0009】本発明は、上述した問題を個々にまたはま
とめて解決するためのもので、1394シリアルバスなどに
よりホストデバイスとターゲットデバイスが通信し、ホ
ストデバイスから直接ターゲットデバイスへ送られる画
像データの処理をターゲットデバイスに行わせるのに適
したデータ転送を行うことを目的とする。
The present invention is to solve the above-mentioned problems individually or collectively, and processes image data transmitted from the host device directly to the target device through communication between the host device and the target device via a 1394 serial bus or the like. The purpose is to perform data transfer suitable for causing the target device to perform.

【0010】また、制御コマンドとデータの分離が可能
で転送効率のよいデータ転送を実行することを他の目的
とする。
Another object of the present invention is to execute data transfer with high transfer efficiency, which enables separation of control commands and data.

【0011】また、データ転送領域にデータを書き込む
際に、データ書き込み可否の判定に要するオーバヘッド
を低減することを他の目的とする。
Another object of the present invention is to reduce the overhead required to determine whether data can be written when writing data in the data transfer area.

【0012】また、データ転送用領域の空きブロック数
に対応する分のデータをまとめて送受信することができ
るデータ転送にすることを他の目的とする。
Another object of the present invention is to make data transfer in which data corresponding to the number of empty blocks in the data transfer area can be collectively transmitted / received.

【0013】[0013]

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

【0014】本発明にかかるデータ転送方法は、ホスト
デバイスとターゲットデバイスの間で利用されるデータ
転送方法であって、前記ホストデバイスと前記ターゲッ
トデバイスの間のロックトランザクションによる通信に
よって前記ターゲットデバイスをロックし、前記ホスト
デバイスと、ロックされた前記ターゲットデバイスとの
間で、受信バッファに関連するバッファ情報を通信し、
通信された前記バッファ情報に基づき、前記ホストデバ
イスから前記ターゲットデバイスへデータを送ることを
特徴とする。
A data transfer method according to the present invention is a data transfer method used between a host device and a target device, wherein the target device is locked by communication by a lock transaction between the host device and the target device. And communicating buffer information related to a receive buffer between the host device and the locked target device,
Data is transmitted from the host device to the target device based on the communicated buffer information.

【0015】また、ホストデバイスとターゲットデバイ
スの間で利用されるデータ転送方法であって、前記ホス
トデバイスと前記ターゲットデバイスの間のロックトラ
ンザクションによる通信によって前記ターゲットデバイ
スをロックし、前記ホストデバイスから、ロックされた
前記ターゲットデバイスにコマンドを送り、前記ターゲ
ットデバイスから前記ホストデバイスへ前記コマンドに
対するレスポンスを発生し、前記レスポンスに含まれる
受信バッファに関連するバッファ情報に基づき、前記ホ
ストデバイスから前記ターゲットデバイスへデータを送
ることを特徴とする。
A data transfer method used between a host device and a target device, wherein the target device is locked by communication by a lock transaction between the host device and the target device, Send a command to the locked target device, generate a response to the command from the target device to the host device, and from the host device to the target device based on buffer information associated with a receive buffer included in the response. Characterized by sending data.

【0016】本発明にかかるデータ転送装置は、ターゲ
ットデバイスとの間のロックトランザクションによる通
信によって前記ターゲットデバイスをロックするロック
手段と、前記ロック手段によりロックされた前記ターゲ
ットデバイスとの間で、受信バッファに関連するバッフ
ァ情報を通信する通信手段と、前記通信手段によって通
信されたバッファ情報に基づき、前記ターゲットデバイ
スへデータを送るデータ送信手段とを有することを特徴
とする。
A data transfer apparatus according to the present invention includes a reception buffer between a lock unit that locks the target device through communication by a lock transaction with the target device and the target device locked by the lock unit. And a data transmitting means for transmitting data to the target device based on the buffer information communicated by the communication means.

【0017】また、ホストデバイスとの間のロックトラ
ンザクションによる通信によって前記データ転送装置を
ロックするロック手段と、前記ロック手段により前記デ
ータ転送装置がロックされた後、前記ホストデバイスと
の間で、受信バッファに関連するバッファ情報を通信す
る通信手段と、前記通信手段により通信されたバッファ
情報に基づき前記ホストデバイスから送られてくるデー
タを受信する受信手段とを有することを特徴とする。
Further, a lock means for locking the data transfer apparatus by communication by a lock transaction with the host device, and a reception with the host device after the data transfer apparatus is locked by the lock means. It is characterized by having a communication means for communicating buffer information related to the buffer, and a receiving means for receiving data sent from the host device based on the buffer information communicated by the communication means.

【0018】また、ターゲットデバイスとの間のロック
トランザクションによる通信によって前記ターゲットデ
バイスをロックするロック手段と、前記ロック手段によ
りロックされた前記ターゲットデバイスへコマンドを送
るコマンド送信手段と、前記ターゲットデバイスから得
られる前記コマンドに対するレスポンスを受信する受信
手段と、前記レスポンスに含まれる受信バッファに関連
するバッファ情報に基づき、前記ターゲットデバイスへ
データを送るデータ送信手段とを有することを特徴とす
る。
Further, lock means for locking the target device by communication by a lock transaction with the target device, command transmission means for sending a command to the target device locked by the lock means, and And a data transmitting unit for transmitting data to the target device based on buffer information related to a reception buffer included in the response.

【0019】また、ホストデバイスとの間のロックトラ
ンザクションによる通信によって前記データ転送装置を
ロックするロック手段と、前記ロック手段により前記デ
ータ転送装置がロックされた後、前記ホストデバイスか
ら送られてくるコマンドを受信するコマンド受信手段
と、前記ホストデバイスへ前記コマンドに対するレスポ
ンス情報を発生する発生手段と、前記レスポンス情報に
含まれる受信バッファに関連するバッファ情報に基づき
前記ホストデバイスから送られてくるデータを受信する
データ受信手段とを有することを特徴とする。
Further, a lock means for locking the data transfer apparatus by communication by a lock transaction with the host device, and a command sent from the host device after the data transfer apparatus is locked by the lock means. Command receiving means for receiving the data, the generating means for generating response information to the host device in response to the command, and the data transmitted from the host device based on the buffer information related to the receiving buffer included in the response information. And a data receiving unit for performing the same.

【0020】[0020]

【発明の実施の形態】以下、本発明にかかる一実施形態
のデータ転送方法を図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE INVENTION A data transfer method according to an embodiment of the present invention will be described in detail below 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シリアルバスである。
[Outline of IEEE1394] With the advent of home digital VTRs and digital video discs (DVDs), video data and audio data (collectively referred to as "AV data")
For example, it is necessary to transfer real-time and information-rich data. To transfer AV data in real time to a PC or other digital device, an interface with high-speed data transfer capability is required. The interface developed from that perspective is 13
94 It is a 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 by using a 1394 serial bus. This system is equipped with equipment A to H, between AB, between AC, between BD, between DE, CF
, CG, and CH are connected with a twisted pair cable for 1394 serial bus. Examples of these devices A to H are host computer devices such as personal computers and computer peripheral devices. Computer peripherals include digital VCRs, DVD players, digital still cameras, storage devices that use media such as hard disks and optical disks, CRT and LCD monitors, tuners, image scanners, film scanners,
All computer peripherals such as printers, MODEMs, and terminal adapters (TAs) are covered. 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, a thermal transfer method of an ink melting type or a sublimation type, or a thermal recording method.

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

【0025】また、1394シリアルバスはPlug and Play
機能に対応し、1394シリアルバス用ケーブルを機器に接
続するだけで自動的に機器を認識し、接続状況を認識す
る機能を有している。また、図2に示すようなシステム
において、ネットワークからある機器が外されたり、ま
たは新たに加えられたときなど、自動的にバスをリセッ
ト(それまでのネットワークの構成情報をリセット)し
て、新たなネットワークを再構築する。この機能によっ
て、その時々のネットワークの構成を常時設定、認識す
ることができる。
The 1394 serial bus is Plug and Play.
Corresponding to the function, it has the function of automatically recognizing the device by simply connecting the 1394 serial bus cable to the device and recognizing the connection status. In addition, 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 A good network. With this function, it is possible to constantly set and recognize the network configuration at any given time.

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

【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 a 1394 serial bus. The 1394 serial bus has a layered structure. As shown in FIG. 3, a connector at the tip of a cable 813 for a 1394 serial bus is connected to the connector port 810. The hardware part 8 is located above the connector port 810.
Physical layer 811 and link layer 812 composed of 00
There is. The hardware unit 800 is composed of an interface chip, of which the physical layer 811 performs encoding and connection-related control, and the like, and the link layer 812 performs packet transfer, 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 (transaction) 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 actual configuration of the 1394 serial bus.

【0029】また、ソフトウェア部802のアプリケーシ
ョンレイヤ816は、利用されるソフトによって異なり、
インタフェイス上でどのようにしてデータを転送するか
は、プリンタやAV/Cプロトコルなどのプロトコルによっ
て定義される。
The application layer 816 of the software section 802 differs depending on the software used,
How to transfer data on the interface is defined by a protocol such as a printer or 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 64-bit address unique to the node. This address is stored in the memory of the device, and by always recognizing the node address of itself or the partner, data communication can be performed by designating the partner of communication.

【0031】1394シリアルバスのアドレッシングは、IE
EE1212規格に準じた方式であり、アドレス設定は、最初
の10ビットがバスの番号の指定用に、次の6ビットがノ
ードIDの指定用に使われる。
The addressing of the 1394 serial bus is IE
This is a method based on the EE1212 standard. In address setting, the first 10 bits are used to specify the bus number, and the next 6 bits are used to specify the 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-bit and 28-bit,
It is used with a structure of 256 MB unit. Of the first 20-bit address space, 0-0xFFFFD is the memory space, 0x
FFFFE is called private space and 0xFFFFF is called register space. The private space is an address that can be used freely within the device, and the register space holds common information between the 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 is CSR
The register (CSR core), which is the core of the architecture,
The serial bus registers are placed in the next 512 bytes, the configuration ROM is placed in the next 1024 bytes, and device-specific registers are placed in the remaining unit space.

【0034】一般的には異種バスシステムの設計の簡略
化のため、ノードは初期ユニット空間の最初の2048バイ
トだけを使うべきであり、この結果としてCSRコア、シ
リアルバスのレジスタ、コンフィグレーションROMおよ
びユニット空間の最初の2048バイトを合わせて4096バイ
トで構成することが望ましい。
Generally, 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 are combined to form 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 view showing a cross section of a cable for the 1394 serial bus. The 1394 serial bus cable is provided with a power supply line in addition to the two twisted pair signal lines. As a result, it becomes possible to supply power to a device that does not have a power source or a device whose voltage has dropped due to a failure or the like. The voltage of the DC power supplied by the power line is 8 to 40V, and the current is specified to the maximum current of 1.5A. The standard called the DV cable is composed of four wires without the power supply line.

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

【0038】DS-Link方式は、高速なシリアルデータ通
信に適し、二組の信号線を必要とする。つまり、二組の
より対線のうち一組でデータ信号を送り、もう一組でス
トローブ信号を送る構成になっている。受信側では、こ
のデータ信号と、ストローブ信号との排他的論理和をと
ることによってクロックを生成することができるという
特徴がある。このため、DS-Link方式を用いると、デー
タ信号中にクロック信号を混入させる必要がないので他
のシリアルデータ転送方式に比べて転送効率が高い、ク
ロック信号を生成できるので位相ロックドループ(PLL)
回路が不要になり、その分コントローラLSIの回路規模
を小さくすることができる。さらに、転送すべきデータ
が無いときにアイドル状態であることを示す情報を送る
必要が無いので、各機器のトランシーバ回路をスリープ
状態にすることができ、消費電力の低減が図れる、など
が挙げられる。
The DS-Link method is suitable for high-speed serial data communication and requires two sets of signal lines. That is, one of the two twisted pair wires sends a data signal and the other sends a strobe signal. The receiving side is characterized in that the clock can be generated by taking the exclusive OR of this data signal and the strobe signal. For this reason, when using the DS-Link method, it is not necessary to mix the clock signal into the data signal, so the transfer efficiency is higher than other serial data transfer methods, and the clock signal can be generated, so the phase-locked loop (PLL)
The circuit becomes unnecessary and the circuit scale of the controller LSI can be reduced accordingly. Furthermore, since it is not necessary to send information indicating that the device is in the idle state when there is no data to be transferred, it is possible to put the transceiver circuit of each device into the sleep state and reduce power consumption. .

【0039】[バスリセットのシーケンス]1394シリア
ルバスに接続されている各機器(ノード)にはノードID
が与えられ、ネットワークを構成するノードとして認識
される。例えば、ネットワーク機器の接続分離や電源の
オン/オフなどによるノード数の増減、つまりネットワ
ーク構成に変化があり、新たなネットワーク構成を認識
する必要があるとき、その変化を検知した各ノードはバ
ス上にバスリセット信号を送信して、新たなネットワー
ク構成を認識するモードに入る。このネットワーク構成
の変化の検知は、コネクタポート810においてバイアス
電圧の変化を検知することによって行われる。
[Bus Reset Sequence] A node ID is assigned to each device (node) connected to the 1394 serial bus.
Is given and is recognized as a node that constitutes the network. For example, when there is a change in the number of nodes due to disconnection of network devices or power on / off, that is, when there is a change in the network configuration and it is necessary to recognize the new network configuration, each node that detects the change is on the bus. It sends a bus reset signal to and enters a mode for recognizing a new network configuration. The change in the network configuration is detected by detecting the 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 receives the bus reset signal and at the same time transmits the occurrence of the bus reset to the link layer 812, and transmits the bus reset signal to other nodes. To convey. After all the nodes finally receive the bus reset signal, the bus reset sequence is activated. Note that the bus reset sequence is activated when a cable is plugged or unplugged, or when the hardware detects a network error, etc., and it is also possible to give a command directly to the physical layer 811 such as host control by a protocol. Is activated. When the bus reset sequence is activated, the data transfer
It is temporarily suspended, waits for a bus reset, and resumes under the new network configuration after the bus reset ends.

【0041】[ノードID決定のシーケンス]バスリセッ
トの後、各ノードは新しいネットワーク構成を構築する
ために、各ノードにIDを与える動作に入る。このとき
の、バスリセットからノードID決定までの一般的なシー
ケンスを図7から図9に示すフローチャートを用いて説明
する。
[Sequence of Node ID Determination] After the bus reset, each node starts an operation of giving an ID to each node in order to construct a new network configuration. A general sequence from the bus reset to the node ID determination at this time will be described with reference to the flowcharts shown in FIGS. 7 to 9.

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

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

【0044】ノードIDの設定が終了すると、新しいネッ
トワーク構成がすべてのノードにおいて認識されたこと
になるのでノード間のデータ転送が行える状態になり、
ステップS107でデータ転送が開始されるとともに、シー
ケンスはステップS101へ戻り、再びバスリセット信号の
発生が監視される。
When the setting of the node ID is completed, the new network configuration is recognized by all the nodes, and the data transfer between the nodes becomes possible.
The data transfer is started in step S107, and the sequence returns to step S101 to monitor the generation of the bus reset signal 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 the bus reset signal is monitored in step S201, and when the bus reset signal is generated, the network configuration is temporarily reset. Next, in step S202, as a first step of re-recognizing the reset network configuration, each device resets the flag FL with data indicating that it is 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,
According to the result of step S203, the number of undefined ports (whose parent-child relationship is not determined) is checked in order to start the declaration of the parent-child relationship. Here, the number of undefined ports is
Immediately after the bus reset, the number is equal to the number of ports, but 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 or not it is a leaf node can be known from the confirmation result of the number of ports in step S203, that is, if the number of ports is "1", it is a leaf node. The leaf node is step S205.
Then, the parent-child relationship is declared to the node of the connection partner, "I am a child, the partner is a parent", and the operation is completed.

【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 "the number of undefined ports>1" immediately after the bus reset. Therefore, the process proceeds to step S206, and a branch is made to the flag FL. Data indicating a node is set, and in step S207, the node waits for another node to declare a parent-child relationship. A parent-child relationship is declared from another node,
The branch node which received it returns to step S204 and confirms the number of undefined ports. 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 the other is a parent". If the branch node has an undefined port number of “2 or more”, the step S207 is performed.
Will wait for another node to declare a parent-child relationship again.

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

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

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

【0052】図9のステップS301で、フラグFLに設定さ
れたデータを基にノードの種類、つまりリーフ、ブラン
チおよびルートに応じた処理に分岐する。
In step S301 of FIG. 9, the process branches 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 of leaf nodes (natural number) existing in the network in the variable N, each leaf node requests the node number from the root node in step S303.
If there are multiple requests, the root node determines in step S304.
Arbitration is performed in step S305, the node number is given to one node, and the other nodes are notified of the result indicating the failure to acquire the node number.

【0054】ステップS306の判断により、ノード番号を
取得できなかったリーフノードは、再びステップS303で
ノード番号の要求を繰り返す。一方、ノード番号を取得
できたリーフノードは、ステップS307で、取得したノー
ド番号を含むID情報をブロードキャストすることで全ノ
ードに通知する。ID情報のブロードキャストが終わると
ステップS308で、リーフ数を表す変数Nがデクリメント
される。そして、ステップS309の判定により変数Nが
「0」になるまでステップS303からS308の手順が繰り返
され、すべてのリーフノードのID情報がブロードキャス
トされた後、ステップS310へ進んで、ブランチノードの
ID設定に移る。
The leaf node which could not acquire the node number by the determination in step S306 repeats the node number request in step S303. On the other hand, the leaf node that has acquired the node number notifies all the nodes by broadcasting the ID information including the acquired node number in step S307. When the broadcast of the ID information is finished, the variable N representing the number of leaves is decremented in step S308. 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 is broadcast, the process proceeds to step S310,
Move on to ID setting.

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

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

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

【0058】以上で、すべてのノードのIDが設定される
までの手順が終了する。次に、図10に示すネットワーク
例を用いてノードID決定のシーケンスの具体的な手順を
説明する。
This is the end of the procedure until the IDs of all nodes are set. Next, a specific procedure of the node ID determination sequence 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, nodes A and C are directly connected under the root node B, nodes D are directly connected under the node C, and nodes E and nodes are under the node D. It has a hierarchical structure in which F is directly connected. 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 ports directly connected to each node. The parent and child here mean that the upper layer of the hierarchical structure is “parent” and the lower layer is “child”. In FIG. 10, it is the node A that first declares the parent-child relationship after the bus reset. As described above, the declaration of the parent-child relationship can be started from the node (leaf) to which only one port is connected. This means that if the number of ports is "1", it is recognized as the end of the network tree, that is, the leaf node, 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 declares the parent-child relationship is set as the "child" of the two nodes connected to each other, and the node of the other node is the "parent".
Is set. Thus, between nodes AB, between nodes ED,
A "child-parent" relationship is set between the node FDs.

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

【0062】このようにして、図10に示すような階層構
造が構成され、最終的に接続されているすべてのポート
において親となったノードBが、ルートノードと決定さ
れる。なお、ルートノードは一つのネットワーク構成中
に一つしか存在しない。また、ノードAから親子関係を
宣言されたノードBが、速やかに、他のノードに対して
親子関係を宣言した場合は、例えばノードCなどの他の
ノードがルートノードになる可能性もあり得る。すなわ
ち、親子関係の宣言が伝達されるタイミングによって
は、どのノードもルートノードになる可能性があり、ネ
ットワーク構成が同一であっても、特定のノードがルー
トノードになるとは限らない。
In this way, the hierarchical structure as shown in FIG. 10 is constructed, and the node B which has become the parent at all the finally connected ports is determined as the root node. There is only one root node in one network configuration. Further, when the node B declared the parent-child relationship from the node A promptly declares the parent-child relationship to another node, another node such as the node C may become the root node. . That is, any node may become the root node depending on the timing at which the declaration of the parent-child relationship is transmitted, 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 of. All nodes have a broadcast function that notifies all other nodes of the determined own ID information. The ID information is broadcast as ID information including a node number, information on a connected position, the number of ports it has, the number of connected ports, and parent-child relationship information of each port.

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

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

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

【0068】CSRアーキテクチャでは、0xFFFFF0000200
からシリアルバスに関するレジスタが配置されている。
それらのレジスタの位置と機能を図12に示す。
In the CSR architecture, 0xFFFFF0000200
Registers related to the serial bus are arranged.
The location and function of these registers are shown in Figure 12.

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

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

【0071】また、一般形式は図15に示すような形式
で、ノードに関する情報をもっているが、この場合、ベ
ンダIDはルートディレクトリ(root_directory)にもつこ
とができる。また、バス情報ブロック(bus info block)
とルートリーフ(root leaf)にはベンダIDを含む64ビッ
トの全世界で固有な装置番号をもっている。この装置番
号は、バスリセットなどの再構成後に継続してノードを
認識するために使用される。
Further, the general format is as shown in FIG. 15 and has information about the node. In this case, the vendor ID can be held in the root directory (root_directory). Also, a bus info block
And the root leaf has a 64-bit globally unique device number including the vendor ID. This device number is used to continuously recognize the node after reconfiguration such as 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 consists 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 "bus management node") exists only on the same bus and provides a management function to other nodes on the serial bus. Control, performance optimization, power management, transmission rate 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 function. Node control is CS
It is a management function that enables inter-node communication in the physical layer 811, link layer 812, transaction layer 814, and application by R. 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 allocation of channel numbers. To perform this management, the bus management node is dynamically selected from the nodes having the synchronous resource manager function after the initialization of the bus.

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

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

【0078】非同期転送においては、送信ノードIDおよ
び受信ノードIDが転送データと一緒にパケットデータと
して送られる。受信ノードは、自分のノードIDを確認し
てパケットを受取るとアクノリッジ信号を送信ノードに
返すことで、一つのトランザクショが完了する。
In the asynchronous transfer, the sending node ID and the receiving node ID are sent 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, thus completing one transaction.

【0079】同期転送においては、送信ノードが伝送速
度とともに同期チャネルを要求し、チャネルIDが転送デ
ータと一緒にパケットデータとして送られる。受信ノー
ドは、所望するチャネルIDを確認してデータパケットを
受取る。必要になるチャネル数と伝送速度はアプリケー
ションレイヤ816で決定される。
In the synchronous transfer, the transmitting node requests the 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 number of channels required and the transmission rate 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 physical / electrical interface with a bus, automatic recognition of node connection, bus arbitration of bus usage 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. The processing in each layer will be described below.

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

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

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

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

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

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

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

【0088】各ノードは、ステップS401で所定のギャッ
プ長が検出されると、ステップS402で転送すべきデータ
があるか判断し、ある場合はステップS403でバスの使用
権を要求する信号をルートに対して発信する。このバス
の使用権の要求を表す信号は、図16に示すように、ネッ
トワーク内の各機器に中継されながら、最終的にルート
ノードに届けられる。ステップS402で転送するデータが
ないと判断した場合は、ステップS401に戻る。
When the predetermined gap length is detected in step S401, each node determines in step S402 whether there is data to be transferred, and if there is, the signal requesting the right to use the bus is routed in step S403. Make a call. As shown in FIG. 16, 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. 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 one or more signals 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
According to the judgment of 05, if there is only one node requesting the use right, the bus use right after that is given to that node. If there are a plurality of nodes that have requested the right to use, arbitration work is performed in step S406 to narrow down the number of nodes to which the bus use permission is given immediately after. This arbitration work does not give permission to use the bus only to the same node every time, but gives permission to use the bus equally (fair arbitration).

【0090】ルートノードの処理は、ステップS407で、
ステップS406のアービトレーションに勝った一つのノー
ドと、敗れたその他のノードとに応じて分岐する。アー
ビトレーションに勝った一つのノード、またはバスの使
用権を要求したノードが一つの場合は、ステップS408で
そのノードに対してバスの使用許可を示す許可号が送ら
れる。この許可信号を受信したノードは、直後に転送す
べきデータ(パケット)の転送を開始する(ステップS41
0)。また、アービトレーションに敗れたノードにはステ
ップS409で、バス使用権の要求が拒否されたことを示す
DP(data prefix)パケットが送られる。DPパケットを受
取ったノードの処理は、再度、バスの使用権を要求する
ためにステップS401まで戻る。ステップS410におけるデ
ータの転送が完了したノードの処理もステップS401へ戻
る。
The process of the root node is step S407.
The process branches according to one node that has won the arbitration in step S406 and the other nodes that have lost the arbitration. If there is one node that has won the arbitration or one that has requested the bus use right, a permission number indicating the bus use permission is sent to the node in step S408. The node receiving this permission signal starts the transfer of the data (packet) to be transferred immediately after that (step S41).
0). In addition, the node that has lost the arbitration indicates in step S409 that the request for the bus right is rejected.
DP (data prefix) packet is sent. The process of the node that received the DP packet returns to step S401 to request the right to use the bus again. The process of the node for which the data transfer is completed in step S410 also returns to step S401.

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

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

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

【0094】トランザクション要求(TR_DATA.request)
はレスポンスノードに対するパケットの転送、トランザ
クション通知(TR_DATA.indication)はレスポンスノード
に要求が届いたことの通知、トランザクションレスポン
ス(TR_DATA.response)はアクノリッジの送信、トランザ
クション確認(TR_DATA.confirmation)はアクノリッジの
受信である。
Transaction request (TR_DATA.request)
Is a packet transfer to the response node, transaction notification (TR_DATA.indication) is a notification that the request has arrived at the response node, transaction response (TR_DATA.response) is an acknowledgment transmission, and transaction confirmation (TR_DATA.confirmation) is an acknowledgment reception. 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.
In the figure showing the service in, the link request (LK_DATA.reque
st), a link notification (LK_DATA.indication) for notifying the response node of packet reception, and a link response (LK_DATA.respons) for sending an acknowledge from the response node.
e), link confirmation of acknowledge transmission of requesting node (LK_DA
It is divided into service units (TA.confirmation). One packet transfer process is called a sub-action, and there are two types: an asynchronous sub-action and a synchronous sub-action. The operation of each sub-action will be described below.

【0096】[非同期サブアクション]非同期サブアク
ションは非同期データ転送である。図21は非同期転送に
おける時間的な遷移を示す図である。図21に示す最初の
サブアクションギャップは、バスのアイドル状態を示す
ものである。このアイドル時間が所定値になった時点
で、データ転送を希望するノードがバス使用権を要求
し、バスアービトレーションが実行される。
[Asynchronous Sub-Action] An asynchronous sub-action 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 shows the idle state of the bus. When this 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 packet-transferred, and the node that receives this data returns a reception confirmation return code ACK after a short gap of ACK gap and returns a response. Data transfer is completed or the response packet is returned. The ACK consists of 4-bit information and 4-bit checksum, and contains information indicating success, busy status, or pending status, and is immediately returned to the node that sent the data.

【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, source node ID, transfer data length, various codes, etc. are written in the header part.

【0099】また、非同期転送は送信ノードから受信ノ
ードへの一対一の通信である。送信元ノードから送り出
されたパケットは、ネットワーク中の各ノードに行き渡
るが、各ノードは自分宛てのパケット以外は無視するの
で、宛先に指定されたノードだけがそのパケットを受取
ることになる。
Asynchronous transfer is one-to-one communication from the sending node to the receiving node. The packet sent from the source node is distributed to each node in the network, but each node ignores the packets other than the packet addressed to itself, 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 transaction request and 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 sub-actions of the link layer 812 but are processed by one sub-action. It will be 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 the split transaction. In response to a write request from the controller of the initiator (request node), the target returns pending. As a result, the target can return confirmation information for the write request of the controller, and can gain time for processing the data. And
After enough time to process the data, the target
Notify the controller of the write response and terminate the write transaction. Note that the link layer 812 can be operated by another node between the request and response subactions at this time.

【0102】図24はスプリットトランザクションを行う
場合の転送状態の時間的遷移例を示す図で、サブアクシ
ョン1は要求サブアクションを、サブアクション2はレス
ポンスサブアクションをそれぞれ表している。
FIG. 24 is a diagram showing an example of a temporal transition of a 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 receiving the response ends the request sub-action by returning a pending indicating the above confirmation information by an acknowledge packet.

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

【0105】なお、サブアクション1の終了からサブア
クション2の開始に至る時間は、最小はサブアクション
ギャップに相当する時間であり、最大はノードに設定さ
れた最大待ち時間まで伸ばすことが可能である。
The time from the end of subaction 1 to the start of subaction 2 is the minimum time corresponding to the subaction gap, and the maximum time can be extended to the maximum waiting time set in the node. .

【0106】[同期サブアクション]1394シリアルバス
の最大の特徴であるともいえるこの同期転送は、とくに
AVデータなどのリアルタイム転送を必要とするデータの
転送に適している。また、非同期転送が一対一の転送で
あるのに対し、この非同期転送はブロードキャスト機能
によって、一つの送信元ノードから他のすべてのノード
へ一様にデータを転送することができる。
[Synchronous sub-action] This synchronous transfer, which can be said to be the greatest feature of the 1394 serial bus,
It is suitable for transferring data that requires real-time transfer such as AV data. Further, while asynchronous transfer is one-to-one transfer, this asynchronous transfer can uniformly transfer data from one source node to all other nodes by the 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 on the bus at regular time intervals, and this time interval is called a synchronous cycle. Sync cycle time is
125 μs. The cycle start packet (CSP) 2000 indicates the start of this synchronization cycle and has a role of synchronizing the operation of each node. The CSP2000 is sent by the node called the cycle master, and after the transfer in the previous cycle is completed and the specified idle period (sub-action gap 2001) has passed, the CSP2000 that signals the start of this cycle is sent. To do. In other words, the time interval for transmitting this CSP2000 is 125 μS.

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

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

【0111】図26は同期転送用のパケットフォーマット
例を示す図である。各チャネルに分けられた各種のパケ
ットには、それぞれデータ部および誤り訂正用のデータ
CRCのほかにヘッダ部があり、そのヘッダ部には図27に
示すような、転送データ長、チャネル番号、その他各種
コードおよび誤り訂正用のヘッダCRCなどが書込まれて
いる。
FIG. 26 is a diagram showing an example of a packet format for synchronous transfer. The data part and error correction data are included in the various packets divided into each channel.
In addition to the CRC, there is a header part, and the transfer data length, the channel number, other various codes, and the header CRC for error correction are written in the header part as shown in FIG.

【0112】[バス・サイクル]実際に、1394シリアル
バスにおいては、同期転送と非同期転送が混在できる。
図28は同期転送と非同期転送が混在するときの転送状態
の時間的遷移を示す図である。
[Bus Cycle] Actually, in the 1394 serial bus, synchronous transfer and asynchronous transfer can coexist.
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, the synchronous transfer is executed prior to the asynchronous transfer. The reason is that after CSP,
This is because synchronous transfer can be activated with a gap (isochronous gap) shorter than the idle period gap (subaction gap) required to activate asynchronous transfer. Therefore, the synchronous transfer has priority over the asynchronous transfer.

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

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

【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, two packets (packet 1 and packet 2) including ACK are transferred by asynchronous transfer after the synchronous transfer of three channels. After this asynchronous packet 2, since the time (cycle synch) at which the cycle m + 1 should be started is reached, the transfer in the cycle #m is finished. However, when the time to send the next CSP (cycle synch) is reached during an asynchronous or synchronous transfer, the transfer is not forcibly interrupted, and after the transfer ends, the CSP of the next synchronous cycle is sent after an idle period. To do. That is, when one synchronization cycle continues for 125 μs or more, the extension of the next synchronization cycle is shortened from the reference 125 μs. In this way, the synchronization cycle exceeds 125 μs
It can be shortened.

【0117】しかし、同期転送はリアルタイム転送を維
持するために、必要であれば毎サイクル実行され、非同
期転送は同期サイクル時間が短縮されたことによって次
以降の同期サイクルに延期されることもある。サイクル
マスタは、こういった遅延情報も管理する。
However, in order to maintain the real-time transfer, the synchronous transfer is executed every cycle if necessary, and the asynchronous transfer may be postponed to the subsequent synchronous cycle 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 is a function control protocol FC for controlling devices on the 1394 serial bus.
P (Functional Control Protocol) is prepared. FC
Asynchronous packets specified by IEEE1394 are used for the transmission and response of P control commands. In FCP, the node on the control side is called the controller and the node on the controlled side is called the target.The FCP packet frame sent from the controller to the target is the AV / C command frame, and conversely the FCP packet frame returned from the target to the controller is the AV. / C Call it a response frame.

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

【0120】図30はFCPパケットフレームを含む非同期
転送のパケットフォーマットを示す図で、図22に示した
非同期データパケットのデータ領域に対して、コマンド
フレームやレスポンスフレームを挿入してAV/Cトランザ
クションが実行される。
FIG. 30 is a diagram showing a packet format of an asynchronous transfer including an FCP packet frame. An AV / C transaction is performed by inserting a command frame or a response frame into the data area of the asynchronous data packet shown in FIG. To 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 the AV / C command frame, and FIG. 32 is a diagram showing the structure of the AV / C response frame.
For FCP packet frames, the header ctype and responds
After the e, subunit_type, subunit_ID, the data part of FCP is connected.

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

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

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

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

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

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

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

【0129】レスポンスフレームにおけるオペコードに
は、図50のresponse列に示されるレスポンスコードが設
定される。各レスポンスは、各レスポンスに対応するオ
ペランドを有する。レスポンスのオペランドには、コマ
ンドの実行が正常に終了したか、エラー終了したかを示
す情報がセットされるので、このオペランドに従ってエ
ラー処理を行うことができる。
As the operation code in the response frame, the response code shown in the response column of FIG. 50 is set. Each response has an operand corresponding to each response. In the operand of the response, information indicating whether the command has been normally executed 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 comparing the interface of the 1394 serial bus 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 the physical layer 811 and the link layer 812 which are the 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 interface of the 1394 serial bus and the transport protocol layer 5.

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

【0132】また図33に示す例2では、1394シリアルバ
スのインタフェイス上で特化されたデバイスプロトコル
9についても、LOGINプロトコル7をもたせることで、デ
バイスが互いに、互いのプロトコルをサポートしている
かを判別させることができる。
In the example 2 shown in FIG. 33, the device protocol specialized on the interface of the 1394 serial bus is used.
As for 9 as well, by providing the LOGIN protocol 7, it is possible to 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 the printer device executes the print task 10 from the host device, first, the printer protocol A prepared by the printer, Select which of B and C to select for print data exchange.
It is determined based on the communication according to the N protocol 7, and then the print data is exchanged according to the determined printer protocol. That is, when a printer device that supports several printer protocols is connected to the host device, the transport protocol 5 prepared for the host device is first determined by the LOGIN protocol 7, and the transport protocol of the host device is determined. Five
The print task 10 is processed by selecting a printer protocol suitable for the above 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 the printer 11 that provides ulti-protocol support)
Devices that implement Protocol 7 (PC12, Scanner 13, D
VC14 etc.) is connected. Printer 11
By switching the printer protocol according to the transport protocol 5 of the partner device requesting the connection, which is determined by the LOGIN protocol 7, it becomes 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 capability (including the transport protocol) of the host device, and the capability is stored in the register 503 described later.

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

【0137】ステップ3において: ホストデバイスは、
ターゲットデバイスとのコネクションを切断する。
In Step 3: The host device
Disconnect from 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 the 1394 serial bus of the printer which is the target device for the LOGIN protocol 7.
Indicates CSR, lock register (lock) 501, protocol register (protocol) 502, capability register (capabili
ty) 503 is shown. These registers are located at defined addresses in the initial unit space of the 1394 serial bus address space. In other words, as explained using Fig. 4, 0xFFFFF in the first 20 bits of the address width of 48 bits given to the device is called the register space, and the first 512 bytes of that register are 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 the lock state of the resource, the value "0" indicates the log-in possible state,
A value other than "0" indicates that you are already logged in 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" can be set, "0".
Indicates that the protocol corresponding to is not configurable.
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 the login processing in the host device.

【0140】ログインを開始するためには、まずログイ
ンしようとするターゲットデバイス、例えばプリンタの
ロックレジスタ501、プロトコルレジスタ502およびケー
パビリティレジスタ503のデータをリードトランザクシ
ョンにより確認する。ここで、ケーパビリティレジスタ
503のデータから、ホストデバイスが通信に用いるプロ
トコルをターゲットデバイスがサポートしているかどう
か確認する(ステップS601)。
In order to start the login, first, the data of the lock register 501, the protocol register 502 and the capability register 503 of the target device to be logged in, for example, the printer, is confirmed by a read transaction. Where the capability register
From the data of 503, it is confirmed whether 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 canceled in the next step S602. If the data in the lock register 501 is other than “0”, it is considered that another device is currently logged in and the login is stopped. Login register 50
If the data of 1 is "0", it is considered that login is currently possible (step S602).

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

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

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

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

【0146】図39はターゲットデバイスであるプリンタ
のログイン処理を示すフローチャートである。プリンタ
は、通常、ホストデバイスからログインされるのを待つ
状態にある。ホストデバイスからのプリントリクエスト
は、プリンタのロックレジスタ501、プロトコルレジス
タ502およびケーパビリティレジスタ503の読取りにより
開始されるので、前記レジスタは、常に他のデバイスか
ら読み出し可能な状態にしておく必要がある。
FIG. 39 is a flow chart showing the login processing of the printer which is the target device. The printer is usually waiting to be logged in from the host device. Since the 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, it is necessary to keep the register readable by another device.

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

【0148】使用プロトコルの通知があったら(ステッ
プS703)、プリンタは、通知された使用プロトコルに自
分のプロトコルをスイッチして(ステップS704、S706お
よびS708)、ホストデバイスのプロトコルに合わせて通
信を行う(ステップS705、S707またはS709)。
When the use protocol is notified (step S703), the printer switches its protocol to the notified use protocol (steps S704, S706 and S708) and performs communication in accordance with the protocol of the host device. (Steps 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 are cleared (step S710), and returns to the 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 without LOGIN Protocol] FIG. 40 is a diagram for explaining an example considering a device not implementing LOGIN protocol 7. Compared with the first example shown in FIG. 34, The feature is that it also supports devices that do not have LOGIN protocol 7 but have protocol D. That is, not only devices with LOGIN protocol 7 but also existing protocol D (eg AV / C protocol)
The printer protocol is added to the device that does not have the LOGIN protocol 7 on the printer side in order to guarantee the printing operation even for the device that supports only the.

【0151】この動作について説明すると、接続の初め
に行われるプリントリクエストによってホストデバイス
がLOGINプロトコル7に対応していないことをプリンタが
認識した場合、プリンタはプロトコルDを使ってホスト
デバイスとの通信を試み、通信が成立した場合はそのプ
ロトコルDに従って印刷タスク10を実行する。
Explaining this operation, when the printer recognizes that the host device does not support the LOGIN protocol 7 by the print request made at the beginning of the connection, the printer uses the protocol D to communicate with the host device. If the communication is tried and 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. In Example 3, an AV device 15 conforming to the current AV / C protocol in which the LOGIN protocol 7 is not implemented is shown. Is used as a model. Example 4 is the LOGIN protocol
It is modeled on a scanner 16 that implements a non-standard protocol for scanners that do not implement 7.

【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] The printing procedure of the printer and the image supply device according to the present invention will be described below. However, the printer and the image supply device are directly connected to each other to form an image based on the image data supplied from the image supply device. The protocol used by the printer is called "Direct Print Protocol (DPP)".

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

【0156】図42はこのレジスタマップを示す図で、コ
マンドレジスタ、レスポンスレジスタは図29を用いて説
明したものと同じである。以降の説明では、画像供給デ
バイスをコントローラ、プリンタをターゲットとし、画
像供給デバイスからプリンタへ画像データを供給して画
像を印刷する例を説明する。
FIG. 42 is a diagram showing this register map, and the command register and 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 is 0x on the printer side.
It is located at a fixed address of FFFFF0000B00, has a memory space of 512 bytes, and is for the image supply device to write various commands to the printer. Of course, when the command register is also provided on the image supply device side, the command can be written 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 arranged at a fixed address of 0xFFFFF0000D00 on the image supply device side, and
It has a 2-byte memory space, and is for writing the responses to various commands written to the printer from the image supply device. Of course, when the response register is also provided on the printer side, the response can be written from the image supply device. The response written in the response register 42-2 is called a response frame. In Fig. 29, the upper address 0xFF
FF is omitted in the description.

【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, BlockAddress, BufferConfig
It is set to any valid address by the command (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, and print data is written from the image supply device to the printer when printing is performed. In the print data, the data written in the data register 42-3 according to the data format of the 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, and each register serves as 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 prints according to the frames output from the image supply device. To do.

【0162】画像供給デバイスからプリンタへ送られる
コマンドは、コマンドフレームとしてプリンタのコマン
ドレジスタ43-4へ書込まれる。このコマンドは、図50に
示す印刷を行わせるためのコマンドである。このコマン
ドに対するレスポンスは、プリンタにより画像供給デバ
イスのレスポンスレジスタ43-2に書込まれる。このレス
ポンスは、コマンドを正しく実行されたかどうかを示す
情報およびコマンドに対する戻り値などを含む。画像供
給デバイスからプリンタへ送られるプリントデータは、
データフレームとしてプリンタのデータレジスタ43-6へ
書込まれる。画像供給デバイスからプリンタへ送られる
フォーマット情報は、フォーマットフレームとしてプリ
ンタのフォーマットレジスタ43-7に書込まれる。
The command sent from the image supply device to the printer is written in 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 by the printer in the response register 43-2 of the image supply device. This response includes information indicating whether the command was executed correctly and the return value for the command. The print data sent from the image supply device to the printer is
The data frame is written in the data register 43-6 of the printer. The format information sent from the image supply device to the printer is written in 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. Format register 43-7 includes read-only register INQUIRY 44-1 for inquiry and read / write register CONTROL / STATU for setting and information acquisition.
It is classified into S 44-2. INQUIRY 44-1 and CONTROL / ST
ATUS 44-2 is composed of register groups with the same configuration. That is, the registers 44 that make up 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, the format register group is a common register group (print com
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) which form a printer format register group.

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

【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 register group in which unique information is collected for each data format, and registers format [1] 44-5 (44-11) to forma
t [n] consists of n registers up to 44-7 (44-13). The registers format [1] to format [n] correspond to the data format described later, and one printer format register group is allocated for each data format to be mounted.

【0167】なお、各フォーマットレジスタのアドレス
は、データフォーマットを設定するコマンドに対するレ
スポンスとして画像供給デバイスに与えられる。
The address of each format register is given to the image supply device as a response to the command for setting the 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 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 a status common to printers of each vendor.
And a vendor specific status (vendor specific status registe) that holds the status defined by each vendor.
r) 45-2 and In addition, the v flag (vendor status avai
lable flag) enables 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 the register GL of the common register group.
It is a figure which shows the detailed example of the information hold | maintained at OBAL 44-3 (44-9). Register GLOBAL 44-3 (44-9) is a register that holds information common to all printers equipped with DPP (Direct Print Protocol), that is, information that does not differ by printer type. FIG. 46 shows an example of this, and shows media-type 46-1 indicating the type of recording medium, paper-size 46-2 indicating the size of recording paper, page-margin 46-3 indicating the margin value of the page, Page-len indicating the length
gth 46-4, indicating page offset page-offset 46-
5, a print-unit 46-6 indicating the printer unit information, a color-type 46-7 indicating the color type of the printer, a bit-order 46-8 indicating the bit order of data, etc. are included.

【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 which shows the detailed example of the information hold | maintained at CAL 44-4 (44-10). The register LOCAL 44-4 (44-10) is a register that holds information unique to each printer model equipped with DPP, that is, a collection of information that differs depending on the printer type. Fig. 47 shows an example of this, showing the type of recording paper unique to the printer, paper 47-1, and the color matching method.
It includes CMS 47-2, such as ink 47-3, which indicates the type of ink in an inkjet 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 the image data formats is held. . In this case, the ratio of the input X direction inX-rate 48-1, the ratio of the input Y direction inY-rate 48-
2. Includes output X-direction ratio outX-rate 48-3 and output Y-direction ratio outY-rate 48-4. In this case given EXIF
Printing is possible by scaling the format image data in the XY direction 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 held 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 held. The Raw RGB format uses R (r
It is an image format composed of ed), G (green), and B (blue) data. In this case, the rate of the input in the X direction inX-rate
49-1, Input Y-direction ratio inY-rate 49-2, Output X-direction ratio outX-rate 49-3, Output Y-direction ratio outY-rate 4
9-4, XY-size 49-5 showing fixed pixel size of XY, bit-pixel 49-6 showing number of bits per pixel, X-size 49-7 showing number of pixels in X direction, number of pixels in Y direction Indicates
Y-size 49-8, plane 49-9 indicating the number of color planes, X-resolution 49-10 indicating resolution in the X direction, Y-resolution 49-11 indicating resolution in the Y direction, pixel- indicating the type of pixel fo
Including rmat 49-12 etc. In this case, the given Raw RGB
The image data of the format can be printed by performing scaling in the XY directions and conversion of the resolution according to the contents of each register, and further processing based on information regarding the image size.

【0174】図50はコマンドおよびコマンドに対するレ
スポンスの一覧を示す図である。コマンドは幾つかの種
類に分類される。分類としては、ステータス関係の「ス
テータス」、プリンタ制御のための「コントロール」、
データ転送の設定のための「ブロック/バッファ」、チ
ャネル設定を行う「チャネル」、転送方法に関する「転
送」、フォーマット設定に関する「フォーマット」、ロ
グインに関する「ログイン」およびデータ転送に関する
「データ」などがある。
FIG. 50 is a diagram showing a list of commands and responses to the commands. Commands are classified into several types. As for the classification, "status" related to status, "control" for printer control,
"Block / buffer" for setting data transfer, "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
There is 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などがある。
"Control" includes a command PrintReset for resetting the printer and its response.
PrintResetResponse 50-2, Print instructing to start printing
Start and its response PrintStartResponse 50-3,
PrintStop and its response P to stop printing
rintStopResponse 50-4, Insert to instruct the supply of recording paper
tPaper and its response InsertPaperResponse 50-
5, EjectPaper to instruct to eject recording paper and its response EjectPaperResponse 50-6, CopyStart to instruct 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
There are 50-8 etc.

【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などがある。
[0177] As "block / buffer", BlockSize that specifies 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 and its response to write data to the block WriteBlocksResponse 50-12, BufferConfig to specify buffer information and its response Buff
erConfigResponse 50-13, and SetBuffer and its response SetBufferResponse 50-14 that specify the start of data acquisition from the buffer.

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

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

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

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

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

【0183】さらに、「データ」として、データを書込
むためのWriteBlock 50-22、WriteBuffer 50-23、およ
び、データを読込むためのPullBuffer 50-24などかあ
る。これらのコマンドは、データフレームに対して書込
み、読込みを行うものであり、対応するレスポンスはな
い。
Further, as "data", there are WriteBlock 50-22, WriteBuffer 50-23 for writing data, and PullBuffer 50-24 for reading data. These commands write and read data frames, and have 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 to 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 to print. Will execute 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 it in the response register 43-2 of the image supply device. By 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, raw image data. It can also optionally support multiple other formats.

【0186】図52はフォーマット設定処理の流れを示す
図である。まず、画像供給デバイスは、ステップS500で
SetFormat(INQUIRY)コマンドをプリンタへ送り、プリン
タはステップS501でSetFormatレスポンスを返す。返さ
れたレスポンスにより、画像供給デバイスはプリンタの
INQUIRYレジスタのアドレスを知る。
FIG. 52 is a diagram showing the flow of the format setting process. First, the image supply device, in step S500
The SetFormat (INQUIRY) command is sent to the printer, and the printer returns a SetFormat response in step S501. Based 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 operates in step S502.
Sends a SetFormat (CONTROL / STATUS) command to the printer, and the printer returns a SetFormat response in step S503. From the returned response, the image supply device knows the address of the printer's CONTROL / STATUS register.

【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.
Read the INQUIRY register of the printer with S504-m to know the format supported by the printer and the format setting items. Next, the image supply device performs step S505.
-1 to S505-n read the printer's STATUS / CONTROL register to know the format setting value, and step S5
From 06-1 to S506-n, write data to the STATUS / CONTROL register of the printer and set the format.

【0189】DPPにおけるデータ転送には以下の二種類
のパケットを用いる。 ・フロー制御のための制御コマンドパケット ・データ送信のためのパケット
The following two types of packets are used for data transfer in DPP. -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 this embodiment, five types of data transfer methods are listed below depending on the difference between the flow control method and the data transmission method. In any method, the control command for flow control conforms to FCP. . Transfer method 1: Response model Transfer method 2: Simple response model
Model) Transfer method 3: Push large buffer model (PUSH Large
Buffer Model) Transfer method 4: Pull buffer model (PULL Buffer Model) Transfer method 5: Synchronous model (Isochronous 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 commands and TransferMethod is used for responses.
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. Image supply device is command type IN
QUIRY Trasfer Method command and response are used to acquire the currently available printer data transfer method (S600-1 and S600-2), and command type CONTROL / STAT
By US Transfer Method command and response,
Get and set the data transfer method currently set for the printer (S600-3 and S600-4).

【0193】ところで、上記の五種類の何れの方式にお
いても、フロー制御のための制御コマンドは、1394シリ
アルバス上の装置を制御するためのプロトコルであるFC
Pに準拠している。FCPの制御コマンドの転送は、送信-
応答とも、常に非同期のライトトランザクションにより
行われる。
By the way, in any of the above-mentioned five methods, the control command for flow control is FC which is a protocol for controlling the device on the 1394 serial bus.
Complies with P. FCP control command transfer, send-
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 necessary for the transfer method 1 and the transfer method 2. In this embodiment, the node on the controlling side is the image supply device (corresponding to the controller in FCP) and the node on the controlling side is the printer (corresponding to the target in FCP).

【0195】画像供給デバイス、プリンタともに、レジ
スタ空間のオフセット0x0B00から512バイトのコマンド
レジスタ(601-1および601-7)、オフセット0x0D00から
512バイトのレスポンスレジスタ(601-2および601-8)
をもつ。これらレジスタはFCPプロトコルおよびAV/Cコ
マンドに準拠している。
From the offset 0x0B00 of the register space to the 512-byte command register (601-1 and 601-7), from the offset 0x0D00 for both the image supply device and the printer
512-byte response register (601-2 and 601-8)
With. These registers comply with 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 performed by these command registers (601-1 and 601-7) and response register (601-
2 and 601-8) to write a command frame 601-4 and a response frame 601-5. A dedicated data frame is defined for transfer of print data. That is, register space offset 0x3000
To the block size data register (601-3 and 6
01-9) is provided and the print data is transferred by writing the data frame 601-6 to the data registers (601-3 and 601-9). The block size is 512 bytes, for example.

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

【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 for counting the number of blocks transferred by one block transfer. Since the block count area 603-1 has 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 6045) of the same size as the data packets, and the data packets written in the data register 604-1 are sequentially stored in these buffers (604-2 to 6045). Be transferred. The number of these data buffers is preferably 255, which is equal to the maximum value of the block count number, but may be less than this. Here, each buffer corresponds to the block count value. A data packet with a block count of “0” is stored in the buffer of Block [0], a data packet with a block count of “1” is stored in the buffer of Block [1], and so on. , Stored. The data packets stored in the buffers (604-2 to 604-5) are expanded in the printer memory space 604-6 after the data header 602-1 is removed.

【0200】[転送方式1]Response Modelである転送
方式1は、データ送信のためにデータパケットフレーム
を定義し、データレジスタを設け、制御コマンドにより
フロー制御を行いつつ、印刷データをライトトランザク
ションにより転送する方式である。
[Transfer method 1] Transfer method 1, which is a Response Model, defines a data packet frame for data transmission, provides a data register, and transfers print data 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 FreeBlock commands and responses in the transfer method 1. In the transfer method 1, prior to the transfer of data, the FreeBlock command and response are used to acquire 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 ogin command and response are used to log in to the printer (S606-1 and S606-2), and the format used for data transfer is set using the format register group (S606-3). Then, open the logical channel using 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. Further, the packet transfer is performed by the reference numerals 604-2 to 6 in FIG.
Transfer of a number of blocks equal to the number of data buffers on the printer side shown in 04-5 is performed as 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)。
Transfer of print data in transfer method 1 is performed as follows. The image supply device obtains the number of FreeBlocks of the printer by the FreeBlock command and response (S606-6 and S606-7), and sequentially transfers the same number of data packets as the number of FreeBlocks by WriteBlock (S606-8). Note that 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 is stored in 9
The packet is returned from the printer (S606-9).

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

【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 response (S606-10 and S606-11), and the DP
Log 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
The transfer method 2 is the same as the transfer method 1 except that the number of Free Blocks is acquired.

【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 ogin command and response are used to log in to the printer (S607-1 and S607-2), and the format used for data transfer is set using the format register group (S607-3). Then, open the logical channel using 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. Further, the packet transfer is performed by the reference numerals 604-2 to 6 in FIG.
Transfer of a number of blocks equal to the number of data buffers on the printer side shown in 04-5 is performed as 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 print data in 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 07-7 response is IN because the number of Free Blocks after that is acquired only by the response from the printer side.
It is a TERIM (provisional) type. The image supply device sequentially sends the same number of data packets as the number of obtained FreeBlocks to the W
Transfer by riteBlock (S607-8), and the above-mentioned ACK packet is returned from the printer (S607-9). And Fre
The block transfer consisting of the packet transfer by the WriteBlock command and the corresponding return of the ACK packet corresponding to the number of eBlocks is repeated until a series of print data is output from the image supply device. However, the FreeBlock number in the block transfer after the second round is notified to the image supply device by the WriteBlocks response sent from the printer at each end of the block transfer cycle (S607-10). This WriteBlocks response is of CONTINUE type in order to continue acquisition of 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 response (S607-11 and S607-12), and the DP
Log out from the printer by the P Logout command and response (S607-13 and S607-14).

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

【0212】図61は転送方式1のステップS606-6およびS
606-7におけるFreeBlockコマンドおよびレスポンスを詳
細に示す図で、図59では省略したライトトランザクショ
ンのACKパケットを含めて示したもので、イニシエータ
デバイス(画像供給デバイス)、ターゲットデバイス
(プリンタ)とも、リンクレイヤおよびトランザクショ
ンレイヤの処理速度が比較的低速な場合を示している。
FIG. 61 shows steps S606-6 and S of transfer method 1.
FIG. 59 is a diagram showing the FreeBlock command and response in 606-7 in detail, 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 layer 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 in the command register by the write transaction (S608-1), the above-mentioned ACK packet indicating 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 (S608-7) is sent, 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, in the method of acquiring the number of FreeBlocks in the transfer method 2, since only the FreeBlock response from the printer is used in the second and subsequent cycles of the block transfer cycle of the print data, only the operations of steps S608-5 to S608-8 are performed. so
You can get the number of FreeBlock.

【0216】FreeBlock数の取得は、ブロック転送の一
周期ごとに必要である。従って、転送方式1よりも転送
方式2の方がバス上を転送されるパケットの数を減らす
ことができる。
The acquisition of the number of Free Blocks is necessary for each cycle of block transfer. Therefore, the transfer method 2 can reduce the number of packets transferred on the bus more 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 which shows lock in detail. WriteBlock does not require a response, so WriteBlock (S609-1), ACK packet indicating pending (S609-2), WriteBlock with no data (S609-
3) and ACK packet (S609-4) indicating complete, data can be transferred in half the procedure compared to command and response transfer, and the processing of the link layer and transaction layer is relatively A relatively high speed data transfer can be executed even at a low speed.

【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.
It is a figure which shows lock in detail, when the processing of a link layer and a transaction layer is fast enough. In this case, the procedure is WriteBlock (S610-1) and ACK packet (S610-2) indicating complete, and more efficient data transfer can be executed.

【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.
It is a figure explaining the error process of eBlock, and has shown the case where a bus reset generate | occur | produced at the time of n (= 0-255) packet transfer of a certain block transfer cycle. In a write transaction, a normal data packet transfer failure can be detected by an ACK packet, but an error when a bus reset occurs cannot be detected. Therefore, in the present embodiment, error processing is executed according to the following procedure. That is, the number of FreeBlocks is acquired (S611-1), and WriteBlock is performed n times (from S611-2 to S611-
6) When a bus reset occurs here (S611-7), the image supply device determines that the WriteBlock immediately before the bus reset occurs.
Perform [n] again (S611-8), and then continue normal processing (S611-9 to S611-14).

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

【0221】FCPに準拠した画像供給デバイスおよびプ
リンタ間のコマンドおよびレスポンスは、画像供給デバ
イスのコマンドレジスタ65-1からプリンタのコマンドレ
ジスタ65-4にコマンドの要求データとしてのコマンドフ
レーム65-7を書込む動作と、プリンタのレスポンスレジ
スタ65-5から画像供給デバイスのレスポンスレジスタ65
-2にレスポンスデータとしてレスポンスフレーム65-8を
書込む動作により実行される。
For commands and responses between the FCP-compliant image supply device and the printer, write 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. And the response register 65-5 of the printer to the response register 65 of the image supply device.
It is executed by writing response frame 65-8 as response data to -2.

【0222】また、データフレーム65-9についてはFCP
とは異なり、ライトトランザクションを用いて画像供給
デバイスのデータレジスタ65-3からプリンタのデータレ
ジスタ65-6へ画像データを書込む一方向動作に、データ
フレーム65-9が使用される。
For the data frame 65-9, the FCP
Unlike, 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
Since the operation of el and format setting is the same as that of the transfer method 1 described above, detailed description will be omitted.

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

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

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

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

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

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

【0230】図67はデータフレームにおけるデータパケ
ットの構成例を示す図で、プリンタのバッファを直接ア
ドレスしてデータを書込むことができるので、データパ
ケット67-1はヘッダなどを含まない構成にすることがで
きる。
FIG. 67 is a diagram showing an example of the structure of the data packet in the data frame. Since the data can be written by directly addressing the buffer of the printer, the data packet 67-1 has a structure that 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 the memory space 68-2 of the printer indicated by the BufferAddress determined by the offset Destination_Offset.
Will be written directly to the address. Since the offset value is incremented by the data length Data_Length, the data can be continuously written in the area indicated by the buffer size BufferSize by repeatedly writing the data to consecutive buffer addresses.

【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 the image supply device and the printer in the PULL Buffer Model.

【0233】FCPに準拠した画像供給デバイスおよびプ
リンタ間のコマンドおよびレスポンスは、画像供給デバ
イスのコマンドレジスタ69-1からプリンタのコマンドレ
ジスタ69-4にコマンドの要求データとしてのコマンドフ
レーム69-7を書込む動作と、プリンタのレスポンスレジ
スタ69-5から画像供給デバイスのレスポンスレジスタ69
-2にレスポンスデータとしてレスポンスフレーム69-8を
書込む動作により実行される。
For commands and responses between the FCP-compliant image supply device and the printer, write 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-5 of the printer to the response register 69 of the image supply device.
It is executed by the operation of writing the response frame 69-8 as the response data in -2.

【0234】また、データフレーム69-9についてはFCP
とは異なり、リードトランザクションを用いて画像供給
デバイスのデータレジスタ69-3からプリンタのデータレ
ジスタ69-6へ画像データを読取る一方向動作に、データ
フレーム69-9が使用される。
For the data frame 69-9, the FCP
Unlike, the data frame 69-9 is used for a one-way operation of reading image data from the image supply device data register 69-3 to the printer data register 69-6 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 operation of el and format setting is the same as that of the transfer method 1 described above, and the commands and responses (S711 to S714) of BufferConfig and SetBuffer are the same as those of the transfer method 3 described above, and thus detailed description thereof is omitted.

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

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

【0238】ステップS720は複数のデータフレームの転
送処理を示す。つまり、BufferConfigコマンドで設定し
たバッファサイズに対して連続するリードトランザクシ
ョンによりデータを転送する。このように連続したリー
ドトランザクションを用いるデータ転送方式を「PULL型
データ転送方式」あるいは略して「PULL方式」と呼ぶ。
Step S720 shows a transfer process of a plurality of data frames. That is, data is transferred by continuous read transactions for the buffer size set by the BufferConfig command. Such a data transfer method using continuous read transactions is called a "PULL type data transfer method" or abbreviated as "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. In the memory space 72-2 of the image supply device indicated by BufferAddress determined by the offset Destination_Offset set in the data register 71-1. The address data is read by a read transaction. Since the offset value is incremented by the data length Data_Length, the data can be continuously read from the area indicated by the buffer size BufferSize by repeatedly reading the data for consecutive buffer addresses.

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

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

【0242】また、ブロック転送することにより、例え
ば一頁分の印刷データをまとめて転送した際にエラーが
発生すると、一頁分の印刷データを再送することになり
時間がかかる。しかし、より細かいブロック単位、例え
ばインクジェットプリンタなどにおける印刷バンド単位
で印刷データを転送すればエラー発生にともなう印刷デ
ータの再送を効率的に行うことができる。
In addition, by performing block transfer, if an error occurs when the print data for one page is collectively transferred, the print data for one page is retransmitted, which takes time. However, if print data is transferred in smaller block units, for example, in print band units in an inkjet printer or the like, it is possible to efficiently retransmit print data 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 the command frame in the command register 75-3 of the printer by the asynchronous write transaction. On the other hand, the printer writes the response frame for the command in the response register 75-2 of the image supply device by the asynchronous write transaction.

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

【0245】次に、前述した転送方式1と同様に、画像
供給デバイスは、フォーマット設定を行い(S509)、Open
Channelコマンドをプリンタへ送る(S510)。これに対し
てプリンタは、OpenChannelレスポンスを返し(S511)、
論理チャネルがオープンされる。
Next, similarly to the transfer method 1 described above, the image supply device performs format setting (S509) and opens.
Send the Channel command 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には常に正常を返
す。
[0246] Next, the image supply device is FreeBlock.
Send the command to the printer (S512). In response to this, the printer returns a FreeBlock response (S513). This FreeBlo
The ck response includes the number of Free Blocks and Error Status. The FreeBlock number 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 is 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 block-transfers the print data by the synchronous transaction (S51
Four). At this time, the image supply device transmits the 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 to this, the printer returns a FreeBlock response (S516). If the ErrorStatus of this response indicates abnormality, 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 data transfer ends normally, steps S515, S516
And the processing of S517 is repeatedly executed. Also, ErrorStatu
If s indicates normal, the image supply device sends the number of FreeBlock data packets 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) in 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 dummy packets of a number corresponding to the larger number.

【0250】以降、画像供給デバイスから一連の印刷デ
ータがすべて出力されるまで同期トランザクションによ
るデータの転送が繰返される。
Thereafter, the transfer of data by the synchronous transaction is repeated until the series of print data are all 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 (S518) as in the transfer method 1 described above.
And S519), logout from the printer using the DPP Logout command and response (S520 and S52).
1).

【0252】以上説明したように、本実施形態によれ
ば、1394シリアルバスなどにより画像供給デバイスとプ
リンタを直結し、画像供給デバイスの画像データを直接
プリンタへ送り、その画像データに基づく画像をプリン
タに印刷させることができる。
As described above, according to this embodiment, the image supply device and the printer are directly connected by 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 printed by the printer. Can be printed on.

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

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

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

【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 command and the response thereto are exchanged only with the command instructing the start of the data transfer and the response to the command, that is, the start of the data transfer. After that, by not transmitting the command, it is possible to provide a data transfer method that avoids a decrease in transfer efficiency due to the command transmission.

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

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

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

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

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

【0263】[0263]

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

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

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

【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)と呼
ばれるシリアルインタフェイスなど、任意のシリアルイ
ンタフェイスを用いて構成されるネットワークにも適用
することができる。
Further, in the above-mentioned embodiment, the IEEE19
Although an example of configuring a network using the serial interface defined in 34 has been described, the present invention is not limited to this, and any serial interface such as a serial interface called Universal Serial Bus (USB) is used. It can also be applied to a network configured using faces.

【0268】[0268]

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

【0269】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
Further, the object of the present invention is to supply a storage medium having a program code of software for realizing the functions of the above-described embodiment to a system or apparatus, and to supply the computer (or CPU or M or M of the system or apparatus).
Needless to say, this is also 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 realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, 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(オペレー
ティングシステム)などが実際の処理の一部または全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
Further, not only the functions of the above-described embodiments are realized by executing the program code read by the computer, but also the OS (operating system) operating on the computer based on the instructions of the program code. It is needless to say that this also includes a case where the above) performs a part or all of the actual processing and the processing realizes the functions of the above-described embodiments.

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

【0272】[0272]

【発明の効果】以上説明したように、本発明によれば、
1394シリアルバスなどによりホストデバイスとターゲッ
トデバイスが通信し、ホストデバイスから直接ターゲッ
トデバイスへ送られる画像データの処理をターゲットデ
バイスに行わせるのに適したデータ転送を行うことがで
きる。
As described above, according to the present invention,
The host device and the target device communicate with each other via a 1394 serial bus or the like, and data transfer suitable for causing the target device to process the image data directly sent from the host device to the target device can be performed.

【0273】また、制御コマンドとデータの分離が可能
で転送効率のよいデータ転送を行うことができる。
Further, the control command and the data can be separated, and the data transfer can be performed with high transfer efficiency.

【0274】また、データ転送領域にデータを書込む際
に、データ書込み可否の判定に要するオーバヘッドを低
減することができる。
In addition, when writing data in the data transfer area, it is possible to reduce the overhead required for determining whether data can be written.

【0275】また、データ転送用領域の空きブロック数
に対応する分のデータをまとめて送受信することができ
るデータ転送にすることができる。
Further, it is possible to perform data transfer in which data corresponding to the number of empty blocks in the data transfer area can be collectively transmitted / received.

【図面の簡単な説明】[Brief description of 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 the DS-Link system of the data transfer system adopted in the 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 enabling data transfer,

【図8】バスリセット信号の監視からルートノードの決
定までの詳細例を示すフローチャート、
FIG. 8 is a flowchart showing a detailed example from monitoring a bus reset signal to determining 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 an example of network operation of a 1394 serial bus;

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

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

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

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

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

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

【図17】バス使用の許可を説明する図、FIG. 17 is a diagram for explaining 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 for read, write, and lock commands based on the CSR architecture in the transaction layer,

【図20】リンクレイヤにおけるサービスを示す図、FIG. 20 is a diagram showing services 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 a packet for asynchronous transfer,

【図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 fields of a packet format for synchronous transfer on a 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 AV / C transaction operation on a 1394 serial bus;

【図30】FCPパケットフレームを含む非同期転送のパ
ケットフォーマットを示す図、
FIG. 30 is a diagram showing a packet format of 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 the structure of an AV / C response frame;

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

【図34】LOGINプロトコルの基本動作を示す図、FIG. 34 is a diagram showing 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 CSR of a 1394 serial bus provided in a printer which is a target device for the LOGIN protocol;

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

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

【図40】LOGINプロトコルを実装していないデバイス
を考慮した例を説明する図、
FIG. 40 is a diagram illustrating an example in which a device that does not implement 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 diagram showing a register map,

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

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

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

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

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

【図48】レジスタformat[1]に保持される情報の一例
を示す図、
FIG. 48 is a diagram 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 diagram showing a list of commands and responses to the commands;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【図65】PUSH Large Buffer Modelにおける画像供給
デバイスおよびプリンタのコマンドレジスタ、レスポン
スレジスタおよびデータレジスタの構成例を示す図、
FIG. 65 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 PUSH Large Buffer Model,

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

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

【図68】プリンタのデータレジスタとバッファの関係
例を示す図、
FIG. 68 is a diagram showing an example of the relationship between the data register and the 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 the image supply device and the printer in the PULL Buffer Model,

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

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

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

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

───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 尚久 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 立山 二郎 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 中村 敦 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平6−216970(JP,A) 特開 平5−276344(JP,A) 特開 平6−197133(JP,A) 特開 平7−46294(JP,A) 特開 平8−340338(JP,A) 特開 平8−70486(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 29/10 G06F 13/00 351 G06F 13/38 350 H04L 13/08 ─────────────────────────────────────────────────── ─── Continued 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 Incorporated (72) Inventor Atsushi Nakamura 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc. (56) Reference JP-A-6-216970 (JP, A) JP-A-5-276344 (JP , A) JP-A-6-197133 (JP, A) JP-A-7-46294 (JP, A) JP-A-8-340338 (JP, A) JP-A-8-70486 (JP, A) (58) Fields surveyed (Int.Cl. 7 , DB name) H04L 29/10 G06F 13/00 351 G06F 13/38 350 H04L 13/08

Claims (18)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ホストデバイスとターゲットデバイスの
間で利用されるデータ転送方法であって、 前記ホストデバイスと前記ターゲットデバイスの間のロ
ックトランザクションによる通信によって前記ターゲッ
トデバイスをロックし、 前記ホストデバイスと、ロックされた前記ターゲットデ
バイスの間で、受信バッファに関連するバッファ情報
を通信し、 通信された前記バッファ情報に基づき、前記ホストデバ
イスから前記ターゲットデバイスへデータを送ることを
特徴とするデータ転送方法。
1. A data transfer method used between a host device and a target device, wherein the target device is locked by communication by a lock transaction between the host device and the target device , A data transfer method, comprising: communicating buffer information related to a reception buffer with the locked target device, and transmitting data from the host device to the target device based on the communicated buffer information. .
【請求項2】 前記バッファ情報には、少なくとも、前
記ターゲットデバイスが有するデータ受信用のバッファ
のサイズ、および、利用可能な前記バッファの数を示す
情報の何れかが含まれることを特徴とする請求項1に記
載されたデータ転送方法。
2. The buffer information includes at least one of a size of a buffer for receiving data included in the target device and information indicating the number of available buffers. The data transfer method described in item 1.
【請求項3】 前記ホストデバイスは前記バッファ情報
に基づくデータ量単位でデータを送信し、前記ターゲッ
トデバイスは前記バッファ情報に基づくデータ量単位に
送られてくるデータを受信することを特徴とする請求項
1または請求項2に記載されたデータ転送方法。
3. The host device transmits data in data amount units based on the buffer information, and the target device receives data transmitted in data amount units based on the buffer information. Term
The data transfer method according to claim 1 or claim 2.
【請求項4】 前記ホストデバイスと前記ターゲットデ
バイスは、IEEE1394規格に適合または準拠するバス、ま
たは、USB規格に適合または準拠するバスで接続される
ことを特徴とする請求項1から請求項3の何れかに記載さ
れたデータ転送方法。
Wherein wherein said host device the target device, the bus to fit or conform to the IEEE1394 standard, or of claims 1 to 3, characterized in that it is connected via a bus to meet or comply with the USB standard The data transfer method described in any one.
【請求項5】 請求項1から請求項4の何れかに記載され
たデータ転送方法により、前記ターゲットデバイスへ画
像データを送信することを特徴とする画像処理装置。
5. An image processing apparatus, wherein image data is transmitted to the target device by the data transfer method according to any one of claims 1 to 4.
【請求項6】 請求項1から請求項4の何れかに記載され
たデータ転送方法により、前記ホストデバイスから受信
した画像データを処理することを特徴とする画像処理装
置。
6. An image processing apparatus, which processes image data received from the host device by the data transfer method according to claim 1. Description:
【請求項7】 ターゲットデバイスとの間のロックトラ
ンザクションによる通信によって前記ターゲットデバイ
スをロックするロック手段と、前記ロック手段によりロックされた前記 ターゲットデバ
イスとの間で、受信バッファに関連するバッファ情報を
通信する通信手段と、 前記通信手段によって通信されたバッファ情報に基づ
き、前記ターゲットデバイスへデータを送るデータ送信
手段とを有することを特徴とするデータ転送装置。
And locking means for the communication by the lock transaction between 7. Target device for locking the target device, between a locked the target device by the locking means, the communication buffer information associated with the received buffer And a data transmission unit that transmits data to the target device based on the buffer information communicated by the communication unit.
【請求項8】 前記バッファ情報には、少なくとも、前
記ターゲットデバイスが有するデータ受信用のバッファ
のサイズ、および、利用可能な前記バッファの数を示す
情報の何れかが含まれることを特徴とする請求項7に記
載されたデータ転送装置。
8. The buffer information includes at least one of a size of a buffer for receiving data included in the target device and information indicating the number of available buffers. The data transfer device according to item 7.
【請求項9】 前記データ送信手段によるデータ送信
は、前記バッファ情報に基づくデータ量単位で行われる
ことを特徴とする請求項7または請求項8に記載されたデ
ータ転送装置。
9. The data transfer device according to claim 7, wherein the data transmission by the data transmission unit is performed in a data amount unit based on the buffer information.
【請求項10】 データ転送装置であって、 ホストデバイスとの間のロックトランザクションによる
通信によって前記データ転送装置をロックするロック手
段と、前記ロック手段により前記データ転送装置がロックされ
た後、 前記ホストデバイスとの間で、受信バッファに関
連するバッファ情報を通信する通信手段と、 前記通信手段により通信されたバッファ情報に基づき前
記ホストデバイスから送られてくるデータを受信する受
信手段とを有することを特徴とするデータ転送装置。
10. A data transfer apparatus, and locking means for locking said data transfer apparatus by the communication by the lock transaction between a host device, the data transfer device by the locking means is locked
And then, the to and from the host device, and a communication means for communicating the buffer information associated with the receiving buffer, receiving means for receiving data sent from said host device based on the buffer information communicated by said communication means A data transfer device comprising:
【請求項11】 前記バッファ情報には、少なくとも、
データ受信用のバッファのサイズ、および、利用可能な
前記バッファの数を示す情報の何れかが含まれることを
特徴とする請求項10に記載されたデータ転送装置。
11. The buffer information includes at least:
11. The data transfer device according to claim 10, wherein the data transfer device includes one of a size of a buffer for receiving data and information indicating the number of available buffers.
【請求項12】 前記受信手段は、前記バッファ情報に
基づくデータ量単位で送られてくるデータを受信するこ
とを特徴とする請求項10または請求項11に記載されたデ
ータ転送装置。
12. The data transfer device according to claim 10, wherein the receiving unit receives data sent in a data amount unit based on the buffer information.
【請求項13】 ホストデバイスとターゲットデバイス
の間で利用されるデータ転送方法であって、前記ホスト
デバイスと前記ターゲットデバイスの間のロックトラン
ザクションによる通信によって前記ターゲットデバイス
をロックし、 前記ホストデバイスから、ロックされた前記ターゲット
デバイスにコマンドを送り、 前記ターゲットデバイスから前記ホストデバイスへ前記
コマンドに対するレスポンスを発生し、 前記レスポンスに含まれる受信バッファに関連するバッ
ファ情報に基づき、前記ホストデバイスから前記ターゲ
ットデバイスへデータを送ることを特徴とするデータ転
送方法。
13. A data transfer method used between a host device and a target device, wherein the target device is locked by communication by a lock transaction between the host device and the target device , Send a command to the locked target device, generate a response to the command from the target device to the host device, and from the host device to the target device based on buffer information associated with a receive buffer included in the response A data transfer method characterized by transmitting data.
【請求項14】 前記バッファ情報には、少なくとも、
前記ターゲットデバイスが有するデータ受信用のバッフ
ァのサイズ、および、利用可能な前記バッファの数を示
す情報に何れかが含まれることを特徴とする請求項13に
記載されたデータ転送方法。
14. The buffer information includes at least:
14. The data transfer method according to claim 13, wherein one of the size of a buffer for receiving data included in the target device and the information indicating the number of available buffers is included.
【請求項15】 前記ホストデバイスは前記バッファ情
報に基づくデータ量単位でデータを送信し、前記ターゲ
ットデバイスは前記バッファ情報に基づくデータ量単位
に送られてくるデータを受信することを特徴とする請求
項13または請求項14に記載されたデータ転送方法。
15. The host device transmits data in a data amount unit based on the buffer information, and the target device receives data transmitted in a data amount unit based on the buffer information. The data transfer method according to claim 13 or claim 14.
【請求項16】 前記ホストデバイスと前記ターゲット
デバイスは、IEEE1394規格に適合または準拠するバス、
または、USB規格に適合または準拠するバスで接続され
ることを特徴とする請求項13から請求項15の何れかに記
載されたデータ転送方法。
16. The host device and the target device are buses conforming to or conforming to the IEEE1394 standard,
Alternatively, the data transfer method according to any one of claims 13 to 15, wherein the data transfer is performed by a bus conforming to or conforming to the USB standard.
【請求項17】 ターゲットデバイスとの間のロックト
ランザクションによる通信によって前記ターゲットデバ
イスをロックするロック手段と、前記ロック手段によりロックされた 前記ターゲットデバ
イスへコマンドを送るコマンド送信手段と、 前記ターゲットデバイスから得られる前記コマンドに対
するレスポンスを受信する受信手段と、 前記レスポンスに含まれる受信バッファに関連するバッ
ファ情報に基づき、前記ターゲットデバイスへデータを
送るデータ送信手段とを有することを特徴とするデータ
転送装置。
17. Locking means for locking the target device through communication by a lock transaction with the target device, command transmitting means for sending a command to the target device locked by the locking means, and obtaining from the target device. A data transfer device comprising: a receiving unit that receives a response to the command, and a data transmitting unit that sends data to the target device based on buffer information related to a receiving buffer included in the response.
【請求項18】 データ転送装置であって、 ホストデバイスとの間のロックトランザクションによる
通信によって前記データ転送装置をロックするロック手
段と、前記ロック手段により前記データ転送装置がロックされ
た後、 前記ホストデバイスから送られてくるコマンドを
受信するコマンド受信手段と、 前記ホストデバイスへ前記コマンドに対するレスポンス
情報を発生する発生手段と、 前記レスポンス情報に含まれる受信バッファに関連する
バッファ情報に基づき前記ホストデバイスから送られて
くるデータを受信するデータ受信手段とを有することを
特徴とするデータ転送装置。
18. A data transfer apparatus, and locking means for locking said data transfer apparatus by the communication by the lock transaction between a host device, the data transfer device by the locking means is locked
And then, a command receiving means for receiving a command sent from said host device, and generating means for generating a response information to the command to the host device, the buffer information associated with the receiving buffer included in the response information And a data receiving unit that receives data sent from the host device based on the data transfer apparatus.
JP12763197A 1997-02-14 1997-05-16 Data transfer device and method, and image processing device Expired - Fee Related JP3535694B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP12763197A JP3535694B2 (en) 1997-05-16 1997-05-16 Data transfer device and method, and image processing device
EP98301121A EP0859326A3 (en) 1997-02-14 1998-02-16 Data transmission apparatus, system and method, and image processing apparatus
US09/025,129 US7062579B2 (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
JP12763197A JP3535694B2 (en) 1997-05-16 1997-05-16 Data transfer device and method, and image processing device

Publications (2)

Publication Number Publication Date
JPH10322413A JPH10322413A (en) 1998-12-04
JP3535694B2 true JP3535694B2 (en) 2004-06-07

Family

ID=14964878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12763197A Expired - Fee Related JP3535694B2 (en) 1997-02-14 1997-05-16 Data transfer device and method, and image processing device

Country Status (1)

Country Link
JP (1) JP3535694B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345384A3 (en) 2002-03-13 2004-09-22 Matsushita Electric Industrial Co., Ltd. Data communication method
JP5541446B2 (en) * 2010-02-03 2014-07-09 日本電気株式会社 Information processing system and information setting method for the information processing system

Also Published As

Publication number Publication date
JPH10322413A (en) 1998-12-04

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
KR100298140B1 (en) Data communication apparatus and method
EP0859326A2 (en) Data transmission apparatus, system and method, and image processing apparatus
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
JP3535694B2 (en) Data transfer device and method, and image processing device
JPH1115771A (en) Data transfer device, data transfer system, its method, image processor and recording medium
JP3768644B2 (en) Data transfer apparatus and method
JP3517552B2 (en) Data transfer device, data transfer system and method, image processing device, and recording medium
JPH10322373A (en) Data transfer device, data transfer system/method, picture processor and record 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
JPH10322372A (en) Data transfer device, data transfer system, its method, image processing unit and recording medium
JPH10322414A (en) Data transfer device, data transfer system and its method, image processing unit and recording medium
JP3943722B2 (en) Data transfer apparatus, data transfer system and method, image processing apparatus, and recording medium
JP3897773B2 (en) Communication method and communication apparatus
JP3862349B2 (en) Information processing system, image processing system and method thereof, information processing apparatus, and computer-readable memory
JP4058156B2 (en) Data processing method, data processing apparatus, printer, and storage medium
JP4463953B2 (en) Image processing system, digital camera and control method thereof
JPH11355587A (en) Device and method for processing image
JPH10307691A (en) Method and device for data communication, printing device, and printing system including the same
JPH11252138A (en) Data communication system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040218

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees