JP2001186146A - Data transfer controller and electronic device - Google Patents

Data transfer controller and electronic device

Info

Publication number
JP2001186146A
JP2001186146A JP37050199A JP37050199A JP2001186146A JP 2001186146 A JP2001186146 A JP 2001186146A JP 37050199 A JP37050199 A JP 37050199A JP 37050199 A JP37050199 A JP 37050199A JP 2001186146 A JP2001186146 A JP 2001186146A
Authority
JP
Japan
Prior art keywords
packet
queue
reset
received
data transfer
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.)
Granted
Application number
JP37050199A
Other languages
Japanese (ja)
Other versions
JP3606145B2 (en
Inventor
Kosuke Matsunaga
浩輔 松永
Hiroyuki Kanai
裕之 金井
Shinichiro Fujita
信一郎 藤田
Akemi Hake
朱美 吐合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP37050199A priority Critical patent/JP3606145B2/en
Publication of JP2001186146A publication Critical patent/JP2001186146A/en
Application granted granted Critical
Publication of JP3606145B2 publication Critical patent/JP3606145B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a data transfer controller having reduced time required for reset processing and the relieved processing load, and to provide an electronic device. SOLUTION: The data transfer controller, which is in compliance with the IEEE 1394 standards analyzes a received packet, stores the packet into a queue without processing it immediately and starts processing of the received packet, when a received packet on a data buffer is not in existence. The controller aborts the received packet which is not needed by resetting, when the received packet is a reset packet. When a plurality of queues is in existence, the queue of the received packet which is not needed by reset is cleared. The queue for a management agent MNG is processed with priority and in the case of resetting an MNG, and not only the MNG queue but also fetching agent FCH queue is cleared. The queue for command control fetching agent FCH1 is processed with priority. When bus reset occurs, by clearing the queue of the received packet, the received packet prior to the occurrence of the bus reset is aborted.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データ転送制御装
置及び電子機器に関し、特に、バスに接続される複数の
ノード間でIEEE1394などの規格に準じたデータ
転送を行うためのデータ転送制御装置及び電子機器に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control device and an electronic apparatus, and more particularly, to a data transfer control device and a data transfer control device for performing data transfer in accordance with a standard such as IEEE1394 between a plurality of nodes connected to a bus. Related to electronic equipment.

【0002】[0002]

【背景技術及び発明が解決しようとする課題】近年、I
EEE1394と呼ばれるインターフェース規格が脚光
を浴びている。このIEEE1394は、次世代のマル
チメディアにも対応可能な高速シリアルバスインターフ
ェースを規格化したものである。このIEEE1394
によれば、動画像などのリアルタイム性が要求されるデ
ータも扱うことができる。また、IEEE1394のバ
スには、プリンタ、スキャナ、CD−RWドライブ、ハ
ードディスクドライブなどのコンピュータの周辺機器の
みならず、ビデオカメラ、VTR、TVなどの家庭用電
化製品も接続できる。このため、電子機器のデジタル化
を飛躍的に促進できるものとして期待されている。
BACKGROUND OF THE INVENTION In recent years, I
An interface standard called EEE1394 has been spotlighted. This IEEE 1394 standardizes a high-speed serial bus interface that can support next-generation multimedia. This IEEE 1394
According to this, data requiring real-time properties such as moving images can be handled. In addition, not only computer peripherals such as printers, scanners, CD-RW drives, and hard disk drives, but also home appliances such as video cameras, VTRs, and TVs can be connected to the IEEE 1394 bus. For this reason, it is expected that digitalization of electronic devices can be drastically promoted.

【0003】さて、IEEE1394の上位プロトコル
として規格化されているSBP-2(Serial Bus Protoco
l-2)では、エージェントリセット、ターゲットリセッ
ト、リセットスタートなどのリセットが定義されてい
る。即ち、ターゲット(プリンタ、スキャナ、CD−R
W等)に何らかのエラーが発生し、データ転送処理を継
続できないと判断した場合に、イニシエータ(パーソナ
ルコンピュータ等)は、上記のリセットを要求する。そ
して、このようなリセットが要求された場合、リセット
により不要になる受信パケットについては破棄する必要
がある。
[0003] SBP-2 (Serial Bus Protocol) standardized as an upper protocol of IEEE 1394 is now known.
In l-2), resets such as agent reset, target reset, and reset start are defined. That is, the target (printer, scanner, CD-R
W, etc.), when it is determined that the data transfer process cannot be continued, the initiator (such as a personal computer) requests the above reset. When such a reset is requested, it is necessary to discard a received packet that becomes unnecessary due to the reset.

【0004】また、IEEE1394においては、バス
に電子機器が新たに接続されたり、バスから電子機器が
取り外されたりして、バスに接続されるノードが増減す
ると、いわゆるバスリセットが発生する。そして、バス
リセットが発生するとノードのトポロジ情報がクリアさ
れ、未完了のトランザクションは全てキャンセルされる
ため、バスリセット発生前に受信したパケットは全て無
効になる。
In addition, in IEEE1394, when an electronic device is newly connected to a bus or an electronic device is removed from the bus, and the number of nodes connected to the bus increases or decreases, a so-called bus reset occurs. Then, when a bus reset occurs, the topology information of the node is cleared, and all incomplete transactions are canceled, so that all packets received before the occurrence of the bus reset become invalid.

【0005】しかしながら、パケットを処理するファー
ムウェアは、一般的に、処理速度の低いCPU上で動作
している場合が多い。従って、受信パケットに対する処
理は、そのパケットの受信後、所与の時間が経過してか
ら行われるようになる。このため、多数の未処理のパケ
ットが常にターゲットのデータバッファ上に存在するこ
とになる。従って、データバッファ上に存在する多数の
受信パケットの中から、リセット(エージェントリセッ
ト、バスリセット等)により不要になる受信パケットを
探し出す処理に多くの時間を要してしまう。このため、
リセット処理に長時間を要してしまいシステム全体の処
理がストールしてしまったり、ファームウェアの処理負
担が過大になるなどの問題が生じる。
[0005] However, firmware for processing packets generally operates on a CPU having a low processing speed in many cases. Therefore, processing on a received packet is performed after a given time has elapsed after the reception of the packet. For this reason, a large number of unprocessed packets always exist on the target data buffer. Therefore, it takes a lot of time to search for a received packet that becomes unnecessary due to a reset (agent reset, bus reset, etc.) from a large number of received packets existing in the data buffer. For this reason,
The resetting process takes a long time, causing problems such as stall of the entire system process and an excessive processing load of the firmware.

【0006】本発明は、以上のような技術的課題に鑑み
てなされたものであり、その目的とするところは、リセ
ット処理に要する時間の短縮化と処理負担の軽減化を図
れるデータ転送制御装置及び電子機器を提供することに
ある。
The present invention has been made in view of the above technical problems, and an object of the present invention is to provide a data transfer control device capable of shortening the time required for reset processing and reducing the processing load. And electronic equipment.

【0007】[0007]

【課題を解決するための手段】上記課題を解決するため
に本発明は、バスに接続される複数のノード間でのデー
タ転送のためのデータ転送制御装置であって、自ノード
のデータバッファに書き込まれた受信パケットを解析
し、解析した受信パケットをキューに格納し、データバ
ッファ上の受信パケットが無くなるまで受信パケットの
解析及びキューへの格納を繰り返すパケット解析手段
と、データバッファ上の受信パケットが無くなったとこ
ろで、キューに格納された受信パケットを処理するパケ
ット処理手段と、処理した受信パケットがリセットを指
示するパケットであった場合には、キューに格納された
受信パケットのうち前記リセットにより不要になる受信
パケットを破棄するパケット破棄手段とを含むことを特
徴とする。
According to the present invention, there is provided a data transfer control device for transferring data between a plurality of nodes connected to a bus. Packet analysis means for analyzing the written received packet, storing the analyzed received packet in a queue, and repeatedly analyzing the received packet and storing it in the queue until there are no more received packets in the data buffer; and a received packet in the data buffer. When there is no packet, packet processing means for processing the received packet stored in the queue, and when the processed received packet is a packet instructing a reset, the packet is unnecessary due to the reset among the received packets stored in the queue. And a packet discarding means for discarding the received packet.

【0008】本発明によれば、解析した受信パケットが
直ぐには処理されずに、キューに格納される。そして、
データバッファ上の受信パケットが無くなったところ
で、キューに格納された受信パケットの処理が開始され
る。そして、受信パケットがリセットを指示するパケッ
トであった場合には、リセットにより不要になる受信パ
ケットが破棄される。このようにすれば、リセットによ
り不要になる受信パケット(リセットの影響を受ける受
信パケット)に対して、無駄なパケット処理が行われる
のを防止でき、リセット処理に要する時間を大幅に短縮
化できる。
According to the present invention, the analyzed received packet is stored in the queue without being processed immediately. And
When there are no more received packets in the data buffer, processing of the received packets stored in the queue is started. Then, if the received packet is a packet instructing reset, the received packet that becomes unnecessary due to the reset is discarded. By doing so, it is possible to prevent unnecessary packet processing from being performed on received packets that become unnecessary due to the reset (received packets affected by the reset), and it is possible to greatly reduce the time required for the reset processing.

【0009】なお、キューは複数設けることが望ましい
が、1つでもよい。また、パケット処理手段が行う受信
パケットの処理としては、例えば、後段の処理手段(要
求実行手段等)に受信パケットを渡すなどの処理が考え
られる。また、不要な受信パケットを破棄する処理とし
ては、キューをクリアする処理等が考えられるが、受信
パケットを個別的に破棄してもよい。
Although it is desirable to provide a plurality of queues, one queue may be provided. Further, as the processing of the received packet performed by the packet processing means, for example, processing of passing the received packet to a subsequent processing means (request execution means or the like) can be considered. As a process of discarding unnecessary received packets, a process of clearing a queue or the like can be considered, but the received packets may be discarded individually.

【0010】また本発明は、前記キューとして複数のキ
ューが用意され、前記パケット解析手段が、解析した受
信パケットを前記複数のキューの中のいずれかのキュー
に格納し、前記パケット破棄手段が、処理した受信パケ
ットがリセットを指示するパケットであった場合には、
リセットにより不要になる受信パケットが格納されてい
るキューをクリアすることを特徴とする。
Further, according to the present invention, a plurality of queues are prepared as the queue, the packet analyzing means stores the analyzed received packet in any one of the plurality of queues, and the packet discarding means comprises If the processed received packet is a packet instructing reset,
It is characterized by clearing a queue in which received packets that become unnecessary by resetting are stored.

【0011】このようにすれば、リセットにより不要に
なる受信パケットをひとまとめに破棄できるため、受信
パケットを破棄する処理を大幅に効率化できる。
[0011] In this manner, since the received packets that become unnecessary due to the reset can be collectively discarded, the process of discarding the received packets can be made much more efficient.

【0012】なお、複数のキューとしては、その各々
が、受信パケットを渡す後段の処理手段(要求実行手段
等)に対応したキューを設けることが望ましい。
It is desirable that each of the plurality of queues be provided with a queue corresponding to a processing unit (request execution unit or the like) at a subsequent stage for passing the received packet.

【0013】また本発明は、前記パケット処理手段から
受信パケットを受け、他のノードからの要求を実行する
第1の要求実行手段と、前記パケット処理手段から受信
パケットを受け、他のノードからの要求を実行すると共
に、前記第1の要求実行手段がリセットされると自身も
リセットされる関係にある第2の要求実行手段とを含
み、前記パケット解析手段が、前記第1の要求実行手段
に渡すべき受信パケットについては第1のキューに格納
し、前記第2の要求実行手段に渡すべき受信パケットに
ついては第2のキューに格納し、前記パケット処理手段
が、前記第1のキューに格納されている受信パケット
を、前記第2のキューに格納されている受信パケットよ
りも優先して処理することを特徴とする。
Also, the present invention provides a first request executing means for receiving a received packet from the packet processing means and executing a request from another node, and receiving a received packet from the packet processing means and receiving a received packet from the other node. A second request execution unit that executes a request and resets itself when the first request execution unit is reset, wherein the packet analysis unit transmits the request to the first request execution unit. The received packet to be passed is stored in a first queue, the received packet to be passed to the second request execution means is stored in a second queue, and the packet processing means is stored in the first queue. The received packets stored in the second queue are processed with higher priority than the received packets stored in the second queue.

【0014】このようにすれば、第1の要求実行手段に
渡すべき受信パケットが優先的に処理されるようにな
る。従って、第1の要求実行手段がリセットされるとリ
セットされる関係にある第2の要求実行手段の受信パケ
ットが、無駄に処理されてしまう事態を防止でき、リセ
ット処理に要する時間を短縮化できる。
With this configuration, the received packet to be passed to the first request execution means is processed with priority. Therefore, it is possible to prevent a situation in which the received packet of the second request execution unit, which is reset when the first request execution unit is reset, is unnecessarily processed, and the time required for the reset process can be reduced. .

【0015】なお、第1、第2の要求実行手段としては
例えばSBP-2におけるマネージメントエージェントや
フェッチエージェントが考えられるが、本発明は、これ
に限定されない。
As the first and second request execution means, for example, a management agent or a fetch agent in SBP-2 can be considered, but the present invention is not limited to this.

【0016】また本発明は、前記パケット破棄手段が、
処理した受信パケットが前記第1の要求実行手段のリセ
ットを指示するパケットであった場合には、前記第1、
第2のキューの両方をクリアすることを特徴とする。
Further, according to the present invention, the packet discarding means includes:
If the processed received packet is a packet instructing reset of the first request execution means, the first,
It is characterized in that both of the second queues are cleared.

【0017】このようにすれば、処理が不要な第2の要
求実行手段の受信パケットが、ひとまとめに破棄される
ようになるため、処理の効率化を図れる。
In this way, the received packets of the second request execution means which do not need to be processed are collectively discarded, so that the processing can be made more efficient.

【0018】また本発明は、前記第2の要求実行手段
が、上層のデバイスのコマンド制御要求を実行する第3
の要求実行手段と、データ転送要求を実行する第4の要
求実行手段とを含み、前記パケット解析手段が、前記第
3の要求実行手段に渡すべき受信パケットについては第
3のキューに格納し、前記第4の要求実行手段に渡すべ
き受信パケットについては第4のキューに格納し、前記
パケット処理手段が、前記第3のキューに格納されてい
る受信パケットを、前記第4のキューに格納されている
受信パケットよりも優先して処理することを特徴とす
る。
Further, according to the present invention, the second request execution means executes a command control request of an upper layer device.
And a fourth request execution unit for executing a data transfer request, wherein the packet analysis unit stores a received packet to be passed to the third request execution unit in a third queue, The received packet to be passed to the fourth request execution unit is stored in a fourth queue, and the packet processing unit stores the received packet stored in the third queue in the fourth queue. It is characterized in that processing is performed prior to received packets.

【0019】このようにすれば、第3の要求実行手段に
渡すべき受信パケットを優先的に処理できるようにな
り、データ転送処理中に、デバイスのコマンド制御要求
を割り込ませることが可能になる。
According to this configuration, the received packet to be passed to the third request execution means can be processed preferentially, and the command control request of the device can be interrupted during the data transfer processing.

【0020】また本発明は、バスに接続される複数のノ
ード間でのデータ転送のためのデータ転送制御装置であ
って、自ノードのデータバッファに書き込まれた受信パ
ケットを解析し、解析した受信パケットをキューに格納
し、データバッファ上の受信パケットが無くなるまで受
信パケットの解析及びキューへの格納を繰り返すパケッ
ト解析手段と、データバッファ上の受信パケットが無く
なったところでキューに格納された受信パケットを処理
するパケット処理手段と、ノードのトポロジ情報をクリ
アするリセットが発生した場合には、前記リセットの発
生前の受信パケットを破棄するパケット破棄手段とを含
むことを特徴とする。
The present invention also relates to a data transfer control device for transferring data between a plurality of nodes connected to a bus, which analyzes a received packet written in a data buffer of its own node, and analyzes the received packet. Packet analysis means for storing packets in a queue, and repeating analysis of received packets and storing them in the queue until there are no more received packets in the data buffer; and receiving packet stored in the queue when there are no more received packets in the data buffer. It is characterized by including a packet processing means for processing and a packet discarding means for discarding a received packet before the occurrence of the reset when a reset for clearing the topology information of the node occurs.

【0021】本発明によれば、解析した受信パケットが
直ぐには処理されずに、キューに格納される。そして、
データバッファ上の受信パケットが無くなったところ
で、キューに格納された受信パケットの処理が開始され
る。そして、ノードのトポロジ情報をクリアするリセッ
トが発生すると、リセットの発生前の受信パケットが破
棄される。従って、リセット発生前に受信したパケット
に対して、無駄なパケット処理が行われるのを防止で
き、リセット処理に要する時間を大幅に短縮化できる。
According to the present invention, the analyzed received packet is stored in the queue without being processed immediately. And
When there are no more received packets in the data buffer, processing of the received packets stored in the queue is started. When a reset for clearing the topology information of the node occurs, the received packet before the occurrence of the reset is discarded. Therefore, it is possible to prevent unnecessary packet processing from being performed on the packet received before the occurrence of the reset, and it is possible to greatly reduce the time required for the reset processing.

【0022】また本発明は、前記パケット破棄手段が、
ノードのトポロジ情報をクリアするリセットが発生した
場合には、受信パケットが格納されているキューをクリ
アすることを特徴とする。
Further, according to the present invention, the packet discarding means includes:
When a reset for clearing the topology information of the node occurs, the queue storing the received packet is cleared.

【0023】このようにすれば、リセット発生前の受信
パケットをひとまとめに破棄できるため、処理の効率化
を図れる。
In this way, the received packets before the occurrence of the reset can be collectively discarded, so that the processing efficiency can be improved.

【0024】なお、キューをクリアするか否かの判断
は、キューに受信パケットを格納する毎に行ってもよい
し、全ての受信パケットがキューに格納された後に行っ
てもよい。
The determination as to whether or not to clear the queue may be made each time a received packet is stored in the queue, or may be made after all received packets have been stored in the queue.

【0025】なお、ノードのトポロジ情報をクリアする
前記リセットは、IEEE1394の規格において定義
されるバスリセットであることが望ましい。
It is preferable that the reset for clearing the topology information of the node is a bus reset defined in the IEEE 1394 standard.

【0026】また本発明では、IEEE1394の規格
に準拠したデータ転送を行うことが望ましい。
In the present invention, it is desirable to perform data transfer conforming to the IEEE 1394 standard.

【0027】また本発明に係る電子機器は、上記のいず
れかのデータ転送制御装置と、前記データ転送制御装置
及びバスを介して相手ノードから受信したデータに所与
の処理を施す装置と、処理が施されたデータを出力又は
記憶するための装置とを含むことを特徴とする。また本
発明に係る電子機器は、上記のいずれかのデータ転送制
御装置と、前記データ転送制御装置及びバスを介して相
手ノードに送信するデータに所与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むこ
とを特徴とする。
An electronic apparatus according to the present invention includes any one of the above data transfer control devices, an apparatus for performing a given process on data received from a partner node via the data transfer control device and a bus, And a device for outputting or storing the data on which data has been applied. Further, the electronic device according to the present invention, any one of the data transfer control device described above, a device that performs a given process on data to be transmitted to the partner node via the data transfer control device and a bus,
And a device for taking in data to be processed.

【0028】本発明によれば、データ転送を制御するフ
ァームウェア等の処理負担を軽減できるため、電子機器
の低コスト化、処理の高速化などを図ることができる。
また、リセットの発生によりシステム全体の処理がスト
ールしてしまうなどの事態を防止できるため、電子機器
の信頼性を高めることができる。
According to the present invention, the processing load on firmware or the like for controlling data transfer can be reduced, so that it is possible to reduce the cost of electronic equipment and speed up processing.
In addition, since a situation in which the processing of the entire system is stalled due to the occurrence of the reset can be prevented, the reliability of the electronic device can be improved.

【0029】[0029]

【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below in detail with reference to the drawings.

【0030】1.IEEE1394 まず、IEEE1394について簡単に説明する。1. IEEE 1394 First, IEEE 1394 will be briefly described.

【0031】1.1 概要 IEEE1394(IEEE1394−1995、P1
394.a)では100〜400Mbpsの高速なデー
タ転送が可能となっている(P1394.bでは800
〜3200Mbps)。また、転送速度が異なるノード
をバスに接続することも許される。
1.1 Overview IEEE 1394 (IEEE 1394-1995, P1
394. In (a), high-speed data transfer of 100 to 400 Mbps is possible (800 in P1394.b).
33200 Mbps). It is also allowed to connect nodes having different transfer speeds to the bus.

【0032】各ノードはツリー状に接続されており、1
つのバスに最大で63個のノードが接続可能になってい
る。なお、バスブリッジを利用すれば約64000個の
ノードを接続することも可能である。
Each node is connected in a tree shape.
A maximum of 63 nodes can be connected to one bus. If a bus bridge is used, about 64000 nodes can be connected.

【0033】IEEE1394では、パケットの転送方
式として非同期転送とアイソクロナス転送が用意されて
いる。ここで非同期転送は、信頼性が要求されるデータ
の転送に好適な転送方式であり、アイソクロナス転送
は、リアルタイム性が要求される動画像や音声などのデ
ータの転送に好適な転送方式である。
In IEEE 1394, asynchronous transfer and isochronous transfer are prepared as packet transfer methods. Here, the asynchronous transfer is a transfer method suitable for transfer of data requiring reliability, and the isochronous transfer is a transfer method suitable for transfer of data such as moving images and audio which require real-time properties.

【0034】1.2 層構造 IEEE1394の層構造(プロトコル構成)を図1に
示す。
1.2 Layer Structure FIG. 1 shows the layer structure (protocol configuration) of IEEE1394.

【0035】IEEE1394のプロトコルは、トラン
ザクション層、リンク層、物理層により構成される。ま
た、シリアルバスマネージメントは、トランザクション
層、リンク層、物理層をモニターしたり制御したりする
ものであり、ノードの制御やバスのリソース管理のため
の種々の機能を提供する。
The IEEE 1394 protocol includes a transaction layer, a link layer, and a physical layer. The serial bus management monitors and controls the transaction layer, link layer, and physical layer, and provides various functions for controlling nodes and managing bus resources.

【0036】トランザクション層は、上位層にトランザ
クション単位のインターフェース(サービス)を提供
し、下層のリンク層が提供するインターフェースを通し
て、リードトランザクション、ライトトランザクショ
ン、ロックトランザクション等のトランザクションを実
施する。
The transaction layer provides an interface (service) in transaction units to the upper layer, and executes transactions such as a read transaction, a write transaction, and a lock transaction through the interface provided by the lower link layer.

【0037】ここで、リードトランザクションでは、応
答ノードから要求ノードにデータが転送される。一方、
ライトトランザクションでは、要求ノードから応答ノー
ドにデータが転送される。またロックトランザクション
では、要求ノードから応答ノードにデータが転送され、
応答ノードがそのデータに処理を施して要求ノードに返
信する。
Here, in the read transaction, data is transferred from the response node to the request node. on the other hand,
In a write transaction, data is transferred from a request node to a response node. In a lock transaction, data is transferred from the requesting node to the responding node,
The responding node processes the data and returns it to the requesting node.

【0038】リンク層は、アドレッシング、データチェ
ック、パケット送受信のためのデータフレーミング、ア
イソクロナス転送のためのサイクル制御などを提供す
る。
The link layer provides addressing, data check, data framing for packet transmission / reception, cycle control for isochronous transfer, and the like.

【0039】物理層は、リンク層により使用されるロジ
カルシンボルの電気信号への変換や、バスの調停や、バ
スの物理的インターフェースを提供する。
The physical layer provides conversion of logical symbols used by the link layer into electric signals, arbitration of the bus, and provides a physical interface of the bus.

【0040】1.3 SBP-2 さて、図2に示すように、IEEE1394のトランザ
クション層の一部の機能を含む上位のプロトコルとし
て、SBP-2(Serial Bus Protocol-2)と呼ばれるプ
ロトコルが提案されている。
1.3 SBP-2 As shown in FIG. 2, a protocol called SBP-2 (Serial Bus Protocol-2) has been proposed as an upper protocol including some functions of the transaction layer of IEEE1394. ing.

【0041】ここでSBP-2は、SCSIのコマンドセ
ットをIEEE1394のプロトコル上で利用可能にす
るために提案されたものである。このSBP-2を用いれ
ば、既存のSCSI規格の電子機器で使用されていたS
CSIのコマンドセットに最小限の変更を加えて、IE
EE1394規格の電子機器に使用できるようになる。
従って、電子機器の設計や開発を容易化できる。また、
SCSIのコマンドだけではなく、デバイス固有のコマ
ンドもカプセル化して利用できるため、非常に汎用性が
高い。
Here, SBP-2 has been proposed to make the SCSI command set usable on the IEEE 1394 protocol. If this SBP-2 is used, the SBP used in the existing SCSI standard electronic equipment can be used.
With minimal changes to the CSI command set, IE
It can be used for EE1394 standard electronic equipment.
Therefore, the design and development of the electronic device can be facilitated. Also,
Since not only SCSI commands but also device-specific commands can be encapsulated and used, the versatility is very high.

【0042】図3に示すようにSBP-2では、まず、イ
ニシエータ(例えばパーソナルコンピュータ)により作
成されたログインORB(Operation Request Block)
を用いてログイン処理が行われる(ステップT1)。次
に、ダミーORBを用いてフェッチエージェントの初期
化が行われる(ステップT2)。そして、コマンドブロ
ックORB(ノーマルコマンドORB)を用いてコマン
ド処理が行われ(ステップT3)、最後に、ログアウト
ORBを用いてログアウト処理が行われる(ステップT
4)。
As shown in FIG. 3, in SBP-2, first, a login ORB (Operation Request Block) created by an initiator (for example, a personal computer)
Is used to perform a login process (step T1). Next, the fetch agent is initialized using the dummy ORB (step T2). Then, command processing is performed using the command block ORB (normal command ORB) (step T3), and finally, logout processing is performed using the logout ORB (step T3).
4).

【0043】ここで、ステップT3のコマンド処理にお
いては、図4のA1に示すように、イニシエータがライ
ト要求パケットを転送して(ライト要求トランザクショ
ンを発行して)、ターゲットのドアベルレジスタをリン
グする。すると、A2に示すように、ターゲットがリー
ド要求パケットを転送し、イニシエータが対応するリー
ド応答パケットを返す。これにより、イニシエータが作
成したORB(コマンドブロックORB)が、ターゲッ
トのデータバッファにフェッチされる。そして、ターゲ
ットは、フェッチされたORBに含まれるコマンドを解
析する。
Here, in the command processing of step T3, as shown at A1 in FIG. 4, the initiator transfers a write request packet (issues a write request transaction) and rings the doorbell register of the target. Then, as indicated by A2, the target transfers the read request packet, and the initiator returns a corresponding read response packet. As a result, the ORB (command block ORB) created by the initiator is fetched into the target data buffer. Then, the target analyzes the command included in the fetched ORB.

【0044】そして、ORBに含まれるコマンドがSC
SIのライトコマンドであった場合には、A3に示すよ
うに、ターゲットがリード要求パケットをイニシエータ
に転送し、イニシエータが対応するリード応答パケット
を返す。これにより、イニシエータのデータバッファに
格納されているデータがターゲットに転送される。そし
て、例えばターゲットがプリンタであった場合には、転
送されたデータがプリンタエンジンにより印刷される。
The command included in the ORB is SC
If the write command is an SI write command, the target transfers a read request packet to the initiator, and the initiator returns a corresponding read response packet, as indicated by A3. Thereby, the data stored in the data buffer of the initiator is transferred to the target. Then, for example, when the target is a printer, the transferred data is printed by the printer engine.

【0045】一方、ORBに含まれるコマンドがSCS
Iのリードコマンドであった場合には、図5のB1に示
すように、ターゲットは、一連のライト要求パケットを
イニシエータに転送する。これにより、例えばターゲッ
トがスキャナであった場合には、スキャナエンジンによ
り取得されたスキャンデータが、イニシエータのデータ
バッファに転送されることになる。
On the other hand, the command included in the ORB is SCS
If the command is an I read command, the target transfers a series of write request packets to the initiator as shown in B1 of FIG. Thus, for example, when the target is a scanner, the scan data acquired by the scanner engine is transferred to the data buffer of the initiator.

【0046】このSBP-2によれば、ターゲットは、自
身が都合の良いときに要求パケットを転送して(トラン
ザクションを発行して)、データを送受信できる。従っ
て、イニシエータとターゲットが同期して動く必要がな
くなるため、データ転送効率を高めることができる。
According to SBP-2, the target can transfer a request packet (issue a transaction) and transmit / receive data when it is convenient. Therefore, since the initiator and the target do not need to move in synchronization, the data transfer efficiency can be improved.

【0047】なお、IEEE1394の上位プロトコル
としては、SBP-2以外にも、FCP(Function Contr
ol Protocol)と呼ばれるプロトコルなども提案されて
いる。
As an upper layer protocol of IEEE1394, in addition to SBP-2, FCP (Function Control Protocol)
ol Protocol) has also been proposed.

【0048】1.4 バスリセット IEEE1394では、電源が投入されたり、途中でデ
バイスの抜き差しが発生すると、バスリセットが発生す
る。即ち、各ノードは、ポートの電圧変化を監視してい
る。そして、バスに新たなノードが接続されるなどして
ポートの電圧に変化が生じると、この変化を検知したノ
ードは、バス上の他のノードに対して、バスリセットが
発生したことを知らせる。また、各ノードの物理層は、
バスリセットが発生したことをリンク層に伝える。
1.4 Bus Reset In IEEE 1394, a bus reset occurs when power is turned on or when a device is inserted or removed in the middle. That is, each node monitors a voltage change of the port. When a change occurs in the port voltage due to a connection of a new node to the bus or the like, the node that has detected this change notifies other nodes on the bus that a bus reset has occurred. The physical layer of each node is
Inform the link layer that a bus reset has occurred.

【0049】そして、このようにバスリセットが発生す
ると、ノードIDなどのトポロジ情報がクリアされる。
そして、その後、トポロジ情報が自動的に再設定され
る。即ち、バスリセット後、ツリー識別、自己識別が行
われる。その後、アイソクロナスリソースマネージャ、
サイクルマスタ、バスマネージャ等の管理ノードが決定
される。そして、通常のパケット転送が再開される。
When such a bus reset occurs, topology information such as a node ID is cleared.
After that, the topology information is automatically reset. That is, after the bus reset, tree identification and self identification are performed. Then the isochronous resource manager,
Management nodes such as a cycle master and a bus manager are determined. Then, the normal packet transfer is restarted.

【0050】このようにIEEE1394では、バスリ
セット後にトポロジ情報が自動的に再設定されるため、
電子機器のケーブルを自由に抜き差しできるようにな
り、いわゆるホットプラグを実現できる。
As described above, in the IEEE 1394, the topology information is automatically reset after the bus reset.
A cable of an electronic device can be freely connected and disconnected, and a so-called hot plug can be realized.

【0051】なお、トランザクションの途中でバスリセ
ットが発生した場合には、そのトランザクションはキャ
ンセルされる。そして、キャンセルされたトランザクシ
ョンを発行した要求ノードは、トポロジ情報が再設定さ
れた後に、要求パケットを再度転送する。また、応答ノ
ードは、バスリセットによりキャンセルされたトランザ
クションの応答パケットを要求ノードに返送してはなら
ない。
If a bus reset occurs during a transaction, the transaction is canceled. Then, the request node that has issued the canceled transaction transfers the request packet again after the topology information is reset. The response node must not return a response packet of the transaction canceled by the bus reset to the request node.

【0052】2.全体構成 次に、本実施形態のデータ転送制御装置の全体構成例に
ついて図6を用いて説明する。なお、以下では、イニシ
エータ(相手ノード)との間でデータ転送を行うターゲ
ット(自ノード)がプリンタである場合について例にと
り説明するが、本発明はこれに限定されない。
2. Next, an overall configuration example of the data transfer control device of the present embodiment will be described with reference to FIG. In the following, a case where a target (own node) that performs data transfer with an initiator (a partner node) is a printer will be described as an example, but the present invention is not limited to this.

【0053】本実施形態のデータ転送制御装置10は、
PHYデバイス12(物理層のデバイス)、リンクデバ
イス14(リンク層のデバイス)、CPU16(プロセ
ッサ)、データバッファ18(記憶手段)、ファームウ
ェア20(処理手段)を含む。なお、PHYデバイス1
2、リンクデバイス14、CPU16、データバッファ
18は、任意の構成要素であり、本実施形態のデータ転
送制御装置10は、これらの構成要素を全て含む必要は
ない。
The data transfer control device 10 according to the present embodiment
It includes a PHY device 12 (physical layer device), a link device 14 (link layer device), a CPU 16 (processor), a data buffer 18 (storage means), and firmware 20 (processing means). PHY device 1
2. The link device 14, the CPU 16, and the data buffer 18 are optional components, and the data transfer control device 10 of the present embodiment does not need to include all of these components.

【0054】PHYデバイス12は、図1の物理層のプ
ロトコルをハードウェアにより実現するための回路であ
り、リンクデバイス14により使用されるロジカルシン
ボルを電気信号に変換する機能を有する。
The PHY device 12 is a circuit for realizing the physical layer protocol of FIG. 1 by hardware, and has a function of converting a logical symbol used by the link device 14 into an electric signal.

【0055】リンクデバイス14は、図1のリンク層の
プロトコルやトランザクション層のプロトコルの一部を
ハードウェアにより実現するための回路であり、ノード
間でのパケット転送のための各種サービスを提供する。
The link device 14 is a circuit for realizing a part of the protocol of the link layer and the protocol of the transaction layer in FIG. 1 by hardware, and provides various services for packet transfer between nodes.

【0056】CPU16は、装置全体の制御やデータ転
送の制御を行うものである。
The CPU 16 controls the entire apparatus and controls data transfer.

【0057】データバッファ18は、転送データ(パケ
ット)を一時的に格納するバッファであり、SRAM、
SDRAM、或いはDRAMなどのハードウェアにより
構成される。なお、本実施形態では、データバッファ1
8は、特には限定されないがランダムアクセス可能なパ
ケット記憶手段として機能する。
The data buffer 18 is a buffer for temporarily storing transfer data (packets).
It is composed of hardware such as SDRAM or DRAM. In the present embodiment, the data buffer 1
Reference numeral 8 functions as a packet storage unit which is not particularly limited but can be accessed randomly.

【0058】ファームウェア20は、CPU16上で動
作する種々の処理ルーチン(処理モジュール)を含むプ
ログラムであり、トランザクション層のプロトコルは、
このファームウェア20と、ハードウェアであるCPU
16等により実現される。
The firmware 20 is a program including various processing routines (processing modules) operating on the CPU 16. The protocol of the transaction layer is as follows.
The firmware 20 and a hardware CPU
16 or the like.

【0059】なお、イニシエータであるパーソナルコン
ピュータ100が含むデバイスドライバ102は、周辺
機器を管理制御するための種々の処理ルーチンを含むプ
ログラムである。このプログラムは、情報記憶媒体11
0(FD、CD−ROM、DVD、ROM)を利用して
パーソナルコンピュータ100にインストールされる。
The device driver 102 included in the personal computer 100 serving as the initiator is a program including various processing routines for managing and controlling peripheral devices. This program is stored in the information storage medium 11
0 (FD, CD-ROM, DVD, ROM).

【0060】ここで、デバイスドライバ102のプログ
ラムは、ホストシステムが有する情報記憶媒体(ハード
ディスク、磁気テープ等)からインターネットなどのネ
ットワークを介してダウンロードし、パーソナルコンピ
ュータ100にインストールするようにしてもよい。
Here, the program of the device driver 102 may be downloaded from an information storage medium (hard disk, magnetic tape, or the like) of the host system via a network such as the Internet, and installed in the personal computer 100.

【0061】ファームウェア20(F/W)は、コミュ
ニケーション部30(COM)、マネージメントエージ
ェント40(MNG)、フェッチエージェント50(F
CH1)、フェッチエージェント60(FCH2)、プ
リントタスク部70(PRT)を含む。
The firmware 20 (F / W) includes a communication unit 30 (COM), a management agent 40 (MNG), and a fetch agent 50 (F / W).
CH1), a fetch agent 60 (FCH2), and a print task unit 70 (PRT).

【0062】ここで、コミュニケーション部30は、リ
ンクデバイス14などのハードウェアとの間のインター
フェースとして機能する処理モジュールである。
Here, the communication unit 30 is a processing module that functions as an interface with hardware such as the link device 14.

【0063】マネージメントエージェント40(第1の
要求実行手段)は、ログイン、リコネクト、ログアウ
ト、リセット等の管理を行う処理モジュールである。例
えばイニシエータがターゲットにログインを要求した場
合には、まず、このマネージメントエージェント40
が、このログイン要求を受け付けることになる。
The management agent 40 (first request execution means) is a processing module for managing login, reconnect, logout, reset, and the like. For example, when the initiator requests the target to log in, first, the management agent 40
Will accept this login request.

【0064】フェッチエージェント50、60(コマン
ドブロックエージェント。第2の要求実行手段)は、イ
ニシエータからの要求を実行するための処理モジュール
であり、より具体的には、コマンドブロックORBが含
むコマンドを実行する。フェッチエージェント50、6
0は、単一の要求しか扱うことができないマネージメン
トエージェント40と異なり、イニシエータからの要求
により自身がフェッチしたORBのリンクリストも扱う
ことができる。
The fetch agents 50 and 60 (command block agents; second request execution means) are processing modules for executing a request from the initiator, and more specifically execute commands included in the command block ORB. I do. Fetch agent 50, 6
0 is different from the management agent 40, which can handle only a single request, and can also handle the link list of the ORB fetched by itself in response to a request from the initiator.

【0065】プリンタスク部70は、プリンタエンジン
やスキャナエンジン(上層のデバイス)との間でDMA
転送を行うための処理モジュールである。
The printer disk unit 70 communicates with a printer engine or a scanner engine (upper layer device) by DMA.
This is a processing module for performing transfer.

【0066】なお、フェッチエージェント50(第3
(第2)の要求実行手段)は、後段のプリンタエンジン
やスキャナエンジン(上層のデバイス)のコマンド制御
のための処理モジュールであり、フェッチエージェント
60(第4(第2)の要求実行手段)は、後段のプリン
タエンジンやスキャナエンジンとの間のデータ転送のた
めの処理モジュールである。
The fetch agent 50 (third agent)
The (second) request execution unit) is a processing module for command control of a subsequent printer engine or scanner engine (upper layer device), and the fetch agent 60 (the fourth (second) request execution unit) , A processing module for transferring data between the subsequent printer engine and scanner engine.

【0067】例えばプリンタエンジンとのデータ転送中
にインク残量を調べたい場合に、フェッチエージェント
が1つしかないと、ORBのリンクリストによるデータ
転送が全て完了するまで、インク残量をチェックできな
い。
For example, when it is desired to check the remaining ink amount during data transfer with the printer engine, if there is only one fetch agent, the remaining ink amount cannot be checked until all data transfer by the ORB link list is completed.

【0068】本実施形態では、互いに独立なフェッチエ
ージェントを2つ設けている(3つ以上でもよい)。そ
して、コマンド制御用のフェッチエージェント50の処
理の優先度を、データ転送用のフェッチエージェント6
0の処理の優先度よりも高くしている。より具体的に
は、後述するように、コマンド制御用のフェッチエージ
ェント50に渡す受信パケットを、データ転送用のフェ
ッチエージェント60に渡す受信パケットよりも優先し
て処理するようにしている。
In this embodiment, two independent fetch agents are provided (three or more fetch agents may be provided). Then, the priority of the process of the fetch agent 50 for command control is determined by the fetch agent 6 for data transfer.
0 is higher than the priority of the process. More specifically, as described later, a received packet passed to the fetch agent 50 for command control is processed with priority over a received packet passed to the fetch agent 60 for data transfer.

【0069】このようにすることで、ORBのリンクリ
ストによるデータ転送処理の間に、インク残量チェック
などのプリンタのコマンド制御処理を割り込ませること
できる。従って、データ転送処理が終わるのを長時間待
つことなく、インク残量をチェックできるようになり、
データ転送に影響を与えることなく、デバイスのコマン
ド制御ができるようになる。
By doing so, it is possible to interrupt printer command control processing such as ink remaining amount check during data transfer processing using the ORB link list. Therefore, it is possible to check the remaining ink amount without waiting for a long time for the data transfer process to end,
The command of the device can be controlled without affecting the data transfer.

【0070】さて、コミュニケーション部30は、パケ
ット解析部32、パケット処理部34、パケット破棄部
36を含む。
The communication unit 30 includes a packet analysis unit 32, a packet processing unit 34, and a packet discarding unit 36.

【0071】ここで、パケット解析部32は、パーソナ
ルコンピュータ100からIEEE1394バス、PH
Yデバイス12、リンクデバイス14を介してデータバ
ッファ18に書き込まれた受信パケットを解析する。そ
して、解析した受信パケットをキューに格納する。
Here, the packet analysis unit 32 transmits the data from the personal computer 100 to the IEEE 1394 bus and the PH.
The received packet written to the data buffer 18 via the Y device 12 and the link device 14 is analyzed. Then, the analyzed received packet is stored in the queue.

【0072】なお、このキューは、例えばCPU16の
ローカルメモリ上に確保することができる。また、後述
するように複数のキューがある場合には、パケット解析
部32は、解析結果に応じたキューに受信パケットを格
納する。
This queue can be secured on a local memory of the CPU 16, for example. When there are a plurality of queues as described later, the packet analysis unit 32 stores the received packet in a queue according to the analysis result.

【0073】そして、パケット解析部32は、受信パケ
ットをキューに格納すると、次の受信パケットを解析す
る。そして、データバッファ18上の受信パケットが無
くなるまで、受信パケットの解析及びキューへの格納を
繰り返す。
After storing the received packet in the queue, the packet analyzing unit 32 analyzes the next received packet. The analysis of the received packet and the storing of the received packet in the queue are repeated until there is no more received packet in the data buffer 18.

【0074】パケット処理部34は、データバッファ1
8上の受信パケットが無くなったところで、キューに格
納された受信パケットを処理する。より具体的には、キ
ューに格納された受信パケットをマネージメントエージ
ェント40(MNG)、フェッチエージェント50(F
CH1)、或いはフェッチエージェント60(FCH
2)に渡す。例えば、MNG用のキュー、FCH1用の
キュー、FCH2用のキューというように複数のキュー
がある場合には、MNG用のキューに格納される受信パ
ケットについてはマネージメントエージェント40に渡
す。また、FCH1用、FCH2用のキューに格納され
る受信パケットについては、各々、フェッチエージェン
ト50、60に渡す。
The packet processing unit 34 includes a data buffer 1
When there are no more received packets on the queue 8, the received packets stored in the queue are processed. More specifically, the received packets stored in the queue are received by the management agent 40 (MNG) and the fetch agent 50 (F
CH1) or fetch agent 60 (FCH
Hand over to 2). For example, when there are a plurality of queues such as a queue for MNG, a queue for FCH1, and a queue for FCH2, a received packet stored in the queue for MNG is passed to the management agent 40. The received packets stored in the FCH1 and FCH2 queues are passed to the fetch agents 50 and 60, respectively.

【0075】パケット破棄部36は、パケット処理部3
4により処理された受信パケットが、エージェントリセ
ット、ターゲットリセット、リセットスタートなどのリ
セットを指示するパケットであった場合には、キューに
格納された受信パケットのうちリセットにより不要にな
る受信パケット(リセットの影響を受ける受信パケッ
ト)を破棄する処理を行う。そして、例えばキューが複
数ある場合には、リセットされるエージェントのキュー
をクリアすることで、受信パケットをひとまとめに破棄
する。
The packet discarding unit 36 includes the packet processing unit 3
If the received packet processed by step 4 is a packet instructing a reset such as an agent reset, a target reset, a reset start, etc., among the received packets stored in the queue, the received packet that becomes unnecessary due to the reset (reset packet) Perform processing to discard the affected received packets). For example, when there are a plurality of queues, the received packets are collectively discarded by clearing the queue of the agent to be reset.

【0076】また、パケット破棄部36は、バスリセッ
ト(広義にはノードのトポロジ情報をクリアするリセッ
ト)が発生した場合には、バスリセット発生前に受信し
たパケットを破棄する処理を行う。
When a bus reset (a reset for clearing topology information of a node in a broad sense) occurs, the packet discarding unit 36 discards a packet received before the bus reset.

【0077】3.本実施形態の特徴 3.1 リセット時の不要パケットの破棄 さて、SBP-2においては、ターゲットにエラーが発生
した場合に、イニシエータはターゲットに対してリセッ
トを指示するパケット(以下、リセットパケットと呼
ぶ)を転送できる。そして、この場合に、SBP-2では
レベルの異なる種々のリセットが用意されている。例え
ば、リセットスタートは最も強いレベルのリセットであ
り、ノード状態が全てリセットされる。また、アボート
タスクやアボートタスクセットでは、タスクやタスクの
セットがリセットされ、ターゲットリセットではターゲ
ットがリセットされる。また、エージェントリセットで
は、フェッチエージェントのみがリセットされる。
3. Features of the present embodiment 3.1 Discarding Unnecessary Packet at Reset Now, in SBP-2, when an error occurs in the target, the initiator instructs the target to reset (hereinafter referred to as a reset packet). ) Can be transferred. In this case, various resets having different levels are prepared in the SBP-2. For example, reset start is the strongest level of reset, and all node states are reset. In an abort task or an abort task set, a task or a set of tasks is reset, and in a target reset, a target is reset. In the agent reset, only the fetch agent is reset.

【0078】なお、リセットスタート、エージェントリ
セットは、イニシエータが所定のレジスタに所定の情報
をライトすることによりターゲットに伝えられ、アボー
トタスク、アボートタスクセット、ターゲットリセット
は、イニシエータから転送されるマネージメントORB
を用いてターゲットに伝えられる。
The reset start and the agent reset are transmitted to the target by the initiator writing predetermined information in a predetermined register. The abort task, abort task set, and target reset are performed by the management ORB transferred from the initiator.
Is transmitted to the target using.

【0079】このように、イニシエータからリセットパ
ケットが転送されてくると、リセットにより不要になる
パケットについては破棄する必要がある。そして、この
場合に、図7の比較例では、受信パケットを解析した後
に直ぐにパケット処理(エージェントに受信パケットを
渡す処理等)を行う(ステップT1、T2)。次に、受
信パケットがリセットパケットか否かを判断し、リセッ
トパケットであれば受信パケットを破棄する処理を行う
(ステップT3、T4)。そして、以上の処理を、受信
パケットが無くなるまで繰り返す(ステップT5)。
As described above, when the reset packet is transferred from the initiator, it is necessary to discard a packet which becomes unnecessary due to the reset. Then, in this case, in the comparative example of FIG. 7, immediately after analyzing the received packet, packet processing (such as processing of passing the received packet to the agent) is performed (steps T1 and T2). Next, it is determined whether or not the received packet is a reset packet. If the received packet is a reset packet, a process of discarding the received packet is performed (steps T3 and T4). Then, the above processing is repeated until there are no more received packets (step T5).

【0080】しかしながら、この比較例では、リセット
により破棄される運命にある受信パケットに対しても、
パケット処理が行われてしまう。従って、リセット処理
が非常に非効率になる。
However, in this comparative example, even for a received packet destined to be discarded by a reset,
Packet processing is performed. Therefore, the reset process becomes very inefficient.

【0081】特に、プリンタやスキャナやCD−RWな
どの周辺機器に本実施形態のデータ転送制御装置を組み
込んだ場合、製品コストの制約から、安価で処理能力が
低いCPUが使用される場合が多い、従って、そのCP
U上で動作するファームウェアもその制約の影響を受け
て、処理速度が遅くなってしまう。このため、受信パケ
ットの処理が間に合わなくなり、多数の未処理の受信パ
ケットが自ノード(ターゲット)のデータバッファ上に
存在するようになる。従って、リセット処理時間の増加
の問題は更に深刻なものになる。
In particular, when the data transfer control device according to the present embodiment is incorporated in a peripheral device such as a printer, a scanner, or a CD-RW, an inexpensive CPU with a low processing capacity is often used due to restrictions on product costs. , And therefore its CP
The firmware running on U is also affected by the restriction, and the processing speed is reduced. For this reason, the processing of the received packet cannot be made in time, and a large number of unprocessed received packets exist on the data buffer of the own node (target). Therefore, the problem of an increase in the reset processing time becomes more serious.

【0082】そこで本実施形態では図8のC1、C2に
示すように、ターゲットのデータバッファに書き込まれ
た受信パケットを解析した後、解析した受信パケットを
直ぐには処理せずにキューに格納する。そして、C3に
示すように、データバッファ上の受信パケットが無くな
ったところで、キューに格納された受信パケットを処理
する。そして、C4に示すように、処理した受信パケッ
トがエージェントリセット等のリセットパケットであっ
た場合には、リセットにより不要になる受信パケット
(リセットの影響を受ける受信パケット)を破棄する。
Therefore, in the present embodiment, as indicated by C1 and C2 in FIG. 8, after analyzing the received packet written in the target data buffer, the analyzed received packet is stored in the queue without being processed immediately. Then, as indicated by C3, when there are no more received packets in the data buffer, the received packets stored in the queue are processed. Then, as shown in C4, when the processed received packet is a reset packet such as an agent reset, a received packet that becomes unnecessary due to the reset (a received packet affected by the reset) is discarded.

【0083】このようにすれば、リセットにより、パケ
ット処理を行うまでもなく不要になる受信パケットにつ
いては、パケット処理を行わないで済むようになる。従
って、全ての受信パケットに対してパケット処理が行わ
れる図7の比較例に比べて、リセット処理に要する時間
を大幅に短縮化できる。この結果、システム全体の処理
がリセット処理によりストールしてしまう事態を防止で
きると共に、ファームウェアの処理負担も軽減化でき
る。
In this way, for a received packet that becomes unnecessary without performing the packet processing due to the reset, the packet processing does not need to be performed. Therefore, the time required for the reset process can be significantly reduced as compared with the comparative example of FIG. 7 in which packet processing is performed on all received packets. As a result, it is possible to prevent a situation in which the processing of the entire system is stalled by the reset processing, and it is also possible to reduce the processing load on the firmware.

【0084】更に、本実施形態では、受信パケットを格
納するキューを複数用意し、解析した受信パケットを、
複数のキューの中のいずれかに仕分けして格納する。そ
してリセットが発生した場合には、リセットにより不要
になる受信パケットが格納されているキューをクリアす
る。
Further, in this embodiment, a plurality of queues for storing received packets are prepared, and the analyzed received packets are
Sort and store in any of the multiple queues. When a reset occurs, the queue storing the received packets that become unnecessary due to the reset is cleared.

【0085】より具体的には、図9(A)に示すよう
に、マネージメントエージェントに渡す受信パケットを
格納するためのMNGキューと、フェッチエージェント
に渡す受信パケットを格納するためのFCHキューを用
意する。そして、図9(A)、(B)に示すように、受
信パケットの解析結果に応じたキューに受信パケットを
格納する。即ち、マネージメントエージェントに渡すパ
ケットについてはMNGキューに格納し、フェッチエー
ジェントに渡すパケットについてはFCHキューに格納
する。
More specifically, as shown in FIG. 9A, an MNG queue for storing received packets to be passed to the management agent and an FCH queue for storing received packets to be passed to the fetch agent are prepared. . Then, as shown in FIGS. 9A and 9B, the received packet is stored in a queue corresponding to the analysis result of the received packet. That is, packets to be passed to the management agent are stored in the MNG queue, and packets to be passed to the fetch agent are stored in the FCH queue.

【0086】そして、図9(C)に示すように、例えば
受信パケットがエージェントリセットであると判明した
場合(エージェントリセットレジスタへのライトパケッ
トであると判明した場合)には、FCHキューをクリア
する。即ち、FCHキューに格納されている受信パケッ
トは、フェッチエージェントに渡すパケットであり、エ
ージェントリセットにより不要になるパケットである。
従って、エージェントキュー自体をクリアすることで、
これらの不要パケットをひとまとめにして破棄できる。
Then, as shown in FIG. 9C, for example, when the received packet is determined to be an agent reset (when it is determined that the received packet is a write packet to the agent reset register), the FCH queue is cleared. . That is, the received packet stored in the FCH queue is a packet to be passed to the fetch agent and becomes unnecessary after the agent reset.
Therefore, by clearing the agent queue itself,
These unnecessary packets can be collectively discarded.

【0087】このように、キューのクリアにより受信パ
ケットを破棄するようにすれば、不要な受信パケットを
ひとまとめに破棄できるようになり、受信パケットを破
棄する処理を大幅に効率化できる。これにより、リセッ
ト処理を更に高速化できるようになる。
As described above, if the received packets are discarded by clearing the queue, unnecessary received packets can be discarded collectively, and the process of discarding the received packets can be made much more efficient. This makes it possible to further speed up the reset process.

【0088】また、本実施形態では、第1のエージェン
トがリセットされると第2のエージェントがリセットさ
れるという関係がある場合に、第1のエージェント用の
キューに格納されている受信パケットを、第2のエージ
ェント用のキューに格納されている受信パケットよりも
優先して処理するようにしている。
In the present embodiment, when the first agent is reset and the second agent is reset, the received packet stored in the queue for the first agent is Processing is performed with priority over received packets stored in the queue for the second agent.

【0089】より具体的には、図10(A)に示すよう
に、マネージメントエージェント(第1の要求実行手
段)用のMNGキューと、フェッチエージェント(第2
の要求実行手段)用のFCHキューがある場合には、M
NGキューに格納される受信パケットを優先的に処理す
る(フェッチエージェントは、マネージメントエージェ
ントがリセットされると自身もリセットされる関係にあ
る)。即ち、MNGキューに格納されている全ての受信
パケットについてのパケット処理(マネージメントエー
ジェントにパケットを渡す等の処理)が完了した後に、
図10(B)に示すように、FCHキューに格納されて
いる受信パケットのパケット処理を開始する。
More specifically, as shown in FIG. 10A, an MNG queue for a management agent (first request executing means) and a fetch agent (second
If there is an FCH queue for request execution means), M
The received packet stored in the NG queue is processed preferentially (the fetch agent is also reset when the management agent is reset). That is, after packet processing (processing such as passing a packet to a management agent) for all received packets stored in the MNG queue is completed,
As shown in FIG. 10B, the packet processing of the received packet stored in the FCH queue is started.

【0090】このようにすれば、図10(C)に示すよ
うに、例えばMNGキューに格納される受信パケットの
中にリセットスタートを指示するパケットがあった場合
に、MNGキューとFCHキューの両方をクリアでき
る。これにより、FCHキューに格納される受信パケッ
トは破棄され、これらの受信パケットに対して無駄なパ
ケット処理を行わなくて済むようになる。この結果、リ
セット処理の更なる効率化を図れ、リセット処理を高速
に完了できるようになる。
In this way, as shown in FIG. 10C, for example, when a packet instructing a reset start is included in the received packets stored in the MNG queue, both the MNG queue and the FCH queue are used. Can be cleared. As a result, the received packets stored in the FCH queue are discarded, and it becomes unnecessary to perform useless packet processing on these received packets. As a result, the efficiency of the reset process can be further improved, and the reset process can be completed at high speed.

【0091】なお、本実施形態では図11(A)に示す
ように、フェッチエージェント(第2の要求実行手段)
として、コマンド制御用のフェッチエージェントFCH
1(第3の要求実行手段)とデータ転送用のフェッチエ
ージェントFCH2(第4の要求実行手段)を用意して
いる。そして、コマンド制御用のフェッチエージェント
FCH1に渡すべき受信パケットについてはFHC1キ
ューに格納し、データ転送用のフェッチエージェントF
CH2に渡すべき受信パケットについてはFHC2キュ
ーに格納する。そして、図11(A)に示すように、F
CH1キューに格納されているコマンド制御用の受信パ
ケットを優先して処理し、FCH1キューの全ての受信
パケットについてのパケット処理が完了した後に、図1
1(B)に示すように、FCH2キューに格納されてい
る受信パケットのパケット処理を開始する。
In this embodiment, as shown in FIG. 11A, the fetch agent (second request execution means)
Fetch agent FCH for command control
1 (third request execution means) and a fetch agent FCH2 (fourth request execution means) for data transfer. The received packet to be passed to the fetch agent FCH1 for command control is stored in the FHC1 queue, and the fetch agent F for data transfer is stored.
The received packet to be passed to CH2 is stored in the FHC2 queue. Then, as shown in FIG.
After the received packets for command control stored in the CH1 queue are processed with priority, and after the packet processing for all the received packets in the FCH1 queue is completed, FIG.
As shown in FIG. 1 (B), the packet processing of the received packet stored in the FCH2 queue is started.

【0092】このようにすれば、フェッチエージェント
FCH1による処理が優先されるようになり、フェッチ
エージェントFCH2によるデータ転送処理の間に、フ
ェッチエージェントFCH1によるコマンド制御処理を
容易に割り込ませることができる。従って、印刷が完了
するのを待つことなく、インク残量を調べることなどが
可能になる。
In this way, the processing by the fetch agent FCH1 is prioritized, and the command control processing by the fetch agent FCH1 can be easily interrupted during the data transfer processing by the fetch agent FCH2. Therefore, it is possible to check the remaining ink amount without waiting for the completion of printing.

【0093】3.2 バスリセット時の不要パケットの
処理 IEEE1394においては、バスに電子機器が新たに
接続されたり、バスから電子機器が取り外されたりする
と、バスリセットが発生する。そして、バスリセットが
発生すると、ノードのトポロジ情報がクリアされ、バス
リセット発生時点で未完了であったトランザクションは
全てキャンセルされる。このため、バスリセット発生前
に受信したパケットは全て無効になる。
3.2 Processing of Unwanted Packet at Bus Reset In IEEE 1394, when an electronic device is newly connected to the bus or when the electronic device is removed from the bus, a bus reset occurs. When a bus reset occurs, the topology information of the node is cleared, and all transactions that have not been completed when the bus reset occurs are canceled. Therefore, all packets received before the occurrence of the bus reset are invalidated.

【0094】ところが、前述のように、データ転送制御
装置が組み込まれる周辺機器で動作するCPUは処理能
力が低い。このため、このCPU上で動作するファーム
ウェアも高速に受信パケットを処理できず、多数の未処
理の受信パケットがデータバッファ上に存在するように
なる。従って、バスリセットが発生した場合には、これ
らの多数の未処理の受信パケットの中から、バスリセッ
ト発生前のパケットを区別して破棄する処理が必要にな
る。従って、ファームウェアの処理負荷も過大になる。
However, as described above, the CPU operating on the peripheral device in which the data transfer control device is incorporated has a low processing capability. For this reason, the firmware operating on this CPU cannot process received packets at high speed, and a large number of unprocessed received packets exist in the data buffer. Therefore, when a bus reset occurs, it is necessary to perform a process of discriminating and discarding a packet before the occurrence of the bus reset from among these many unprocessed received packets. Therefore, the processing load of the firmware becomes excessive.

【0095】そこで本実施形態では、図12(A)に示
すように、ターゲットのデータバッファに書き込まれた
受信パケットを解析した後、解析した受信パケットを直
ぐには処理せずにキューに格納する。そして、データバ
ッファ上の受信パケットが無くなったところでキューに
格納された受信パケットを処理する。そして、バスリセ
ットが発生した場合には、バスリセット発生前に受信し
たパケットを破棄するようにする。
Therefore, in this embodiment, as shown in FIG. 12A, after analyzing the received packet written in the target data buffer, the analyzed received packet is stored in the queue without being processed immediately. Then, when there are no more received packets on the data buffer, the received packets stored in the queue are processed. When a bus reset occurs, a packet received before the bus reset occurs is discarded.

【0096】より具体的には、図12(B)に示すよう
に、受信パケットのキューへの格納中にIEEE139
4のバス上でバスリセットが発生した場合には、受信パ
ケットのキューをクリアして、バスリセット発生前の受
信パケットを破棄する(この場合には、データバッファ
上の受信パケットも破棄することが望ましい)。また、
図12(C)に示すように、全ての受信パケットをキュ
ーに格納した後、受信パケットの処理中に、バスリセッ
トが発生した場合にも、受信パケットのキューをクリア
して、受信パケットを破棄する。
More specifically, as shown in FIG. 12B, while the received packet is being stored in the queue, the IEEE139
When a bus reset occurs on the bus No. 4, the queue of the received packet is cleared, and the received packet before the occurrence of the bus reset is discarded (in this case, the received packet on the data buffer may also be discarded). desirable). Also,
As shown in FIG. 12C, after all received packets are stored in the queue, even if a bus reset occurs during processing of the received packet, the queue of the received packet is cleared and the received packet is discarded. I do.

【0097】以上のようにすれば、バスリセットによ
り、パケット処理を行うまでもなく不要になる受信パケ
ットについては、パケット処理を行わないで済むように
なる。従って、全ての受信パケットに対してパケット処
理が行われる図7の比較例に比べて、バスリセット処理
に要する時間を大幅に短縮化できる。この結果、システ
ム全体の処理がバスリセット処理によりストールしてし
まう事態を防止できると共に、ファームウェアの処理負
担も軽減化できる。
[0097] In this way, for the received packet that becomes unnecessary without performing the packet processing due to the bus reset, the packet processing does not need to be performed. Therefore, the time required for the bus reset process can be significantly reduced as compared with the comparative example of FIG. 7 in which packet processing is performed on all received packets. As a result, it is possible to prevent a situation in which the processing of the entire system is stalled by the bus reset processing, and to reduce the processing load on the firmware.

【0098】また、キューのクリアにより受信パケット
を破棄すれば、バスリセット発生前の多数の受信パケッ
トをひとまとめに破棄できるため、受信パケットを破棄
する処理を更に効率化できる。特に、CPUの処理能力
の低さに起因して多数の未処理の受信パケットがデータ
バッファ上に存在するような場合には、キューのクリア
により受信パケットを破棄する本実施形態の手法は、処
理の効率化に非常に効果的なものとなる。
Further, if the received packets are discarded by clearing the queue, a large number of received packets before the occurrence of the bus reset can be discarded at once, so that the process of discarding received packets can be made more efficient. In particular, in the case where a large number of unprocessed received packets exist in the data buffer due to the low processing capacity of the CPU, the method of the present embodiment for discarding received packets by clearing the queue is a method of the present invention. It is very effective in improving efficiency.

【0099】4.本実施形態の処理 次に、本実施形態の詳細な処理例について図13、図1
4のフロチャートを用いて説明する。
4. Next, a detailed processing example of the present embodiment will be described with reference to FIGS.
This will be described with reference to the flowchart of FIG.

【0100】CPU(或いはリンクデバイス)からの割
り込みが発生すると、その割り込み要因を解析し、解析
が済んだ割り込み要因をクリアする(ステップS1)。
ここで割り込み要因としては、パケット受信の割り込
み、バスリセット発生の割り込み、プリンタへのDMA
転送終了の割り込み、CPUのタイマ割り込みなどがあ
る。
When an interrupt from the CPU (or link device) occurs, the cause of the interrupt is analyzed, and the analyzed interrupt cause is cleared (step S1).
Here, the interrupt factors include a packet reception interrupt, a bus reset occurrence interrupt, and a DMA to the printer.
There are a transfer end interrupt, a CPU timer interrupt, and the like.

【0101】次に、解析した割り込み要因が、パケット
受信の割り込みか否かを判断し(ステップS2)、パケ
ット受信の割り込みではなかった場合には、バスリセッ
ト発生の割り込みか否かを判断する(ステップS3)。
そして、バスリセット発生の割り込みであった場合に
は、エージェントキューの全てと送信キューをクリアし
(ステップS4。図12(B)、(C)参照)、バスリ
セット発生前の受信パケットを破棄する。
Next, it is determined whether or not the analyzed interrupt factor is a packet reception interrupt (step S2). If it is not a packet reception interrupt, it is determined whether or not a bus reset generation interrupt is performed (step S2). Step S3).
If the interrupt is due to a bus reset, all of the agent queue and the transmission queue are cleared (step S4; see FIGS. 12B and 12C), and the received packet before the occurrence of the bus reset is discarded. .

【0102】次に、CPUからの割り込み要因が存在す
るか否かを判断し(ステップS5)、存在する場合に
は、その割り込み要因を解析し、解析が済んだ割り込み
要因をクリアする(ステップS6)。次に、解析が済ん
でいない未処理の割り込み要因が、まだ存在するか否か
を判断し(ステップS7)、存在する場合にはステップ
S2に戻り、存在しない場合には割り込み処理を終了す
る。
Next, it is determined whether or not an interrupt factor from the CPU exists (step S5). If so, the interrupt factor is analyzed and the analyzed interrupt factor is cleared (step S6). ). Next, it is determined whether or not an unprocessed interrupt factor that has not been analyzed still exists (step S7). If it exists, the process returns to step S2. If not, the interrupt process ends.

【0103】ステップS2でパケット受信の割り込みが
発生したと判断した場合には、受信パケットが、自身が
転送した要求パケットに対するイニシエータの応答パケ
ットか否かを判断する(図14のステップS8)。そし
て、応答パケットであった場合には、応答パケットに関
する処理(データバッファにおける応答パケットの格納
場所のポインタ制御等)を行う(ステップS9)。
If it is determined in step S2 that a packet reception interrupt has occurred, it is determined whether the received packet is a response packet of the initiator to the request packet transferred by itself (step S8 in FIG. 14). If the received packet is a response packet, processing relating to the response packet (pointer control of the storage location of the response packet in the data buffer, etc.) is performed (step S9).

【0104】次に、パケットの解析結果に基づいて、受
信パケットがエージェントに渡すパケットか否かを判断
する(ステップS10)。そして、エージェントに渡す
パケットであった場合には、図9(A)、(B)で説明
したように、受信パケットを、対応するエージェントの
キューに格納する(ステップS11)。例えば、マネー
ジメントエージェントに渡す受信パケットはMNGキュ
ーに格納し、フェッチエージェントに渡す受信パケット
はFCHキューに格納する。
Next, it is determined whether the received packet is a packet to be passed to the agent based on the analysis result of the packet (step S10). If the packet is to be passed to the agent, the received packet is stored in the queue of the corresponding agent as described with reference to FIGS. 9A and 9B (step S11). For example, received packets to be passed to the management agent are stored in the MNG queue, and received packets to be passed to the fetch agent are stored in the FCH queue.

【0105】次に、バスリセットが発生しているか否か
を判断する(ステップS12)。そして、バスリセット
が発生している場合には、図12(B)で説明したよう
に、エージェントキューの全てと送信キューをクリアす
る(ステップS22)。一方、発生していない場合に
は、キューに格納すべき受信パケットがデータバッファ
上にまだ存在しているか否かを判断し(ステップS1
3)、存在している場合にはステップS11に戻る。そ
して、データバッファ上の受信パケットが無くなるま
で、ステップS11、S12、S13の処理を繰り返
す。
Next, it is determined whether or not a bus reset has occurred (step S12). If a bus reset has occurred, all the agent queues and the transmission queue are cleared as described with reference to FIG. 12B (step S22). On the other hand, if not, it is determined whether or not the received packet to be stored in the queue still exists in the data buffer (step S1).
3) If it exists, return to step S11. Then, the processing of steps S11, S12, and S13 is repeated until there are no more received packets in the data buffer.

【0106】次に、キューへの受信パケットの格納後、
バスリセットが発生しているか否かを判断する(ステッ
プS14)。そして、発生している場合には、図12
(C)で説明したように、エージェントキューの全てと
送信キューをクリアする(ステップS22)。一方、発
生してない場合には、図8のC3に示すように、キュー
に格納されている受信パケットに対する処理(エージェ
ントに渡す処理等)があるか否かを判断する(ステップ
S15)。そして、処理がある場合には、図10(A)
で説明したように、優先順位の高いエージェントキュー
(例えばMNGキュー)から処理を行う(ステップS1
6)。
Next, after storing the received packet in the queue,
It is determined whether a bus reset has occurred (step S14). Then, if it occurs, FIG.
As described in (C), all the agent queues and the transmission queue are cleared (step S22). On the other hand, if not, as shown at C3 in FIG. 8, it is determined whether or not there is a process for the received packet stored in the queue (a process to be passed to the agent) (step S15). Then, when there is a process, FIG.
As described in (1), processing is performed from an agent queue having a higher priority (for example, an MNG queue) (step S1).
6).

【0107】次に、受信パケットがリセットパケット
(リセットを指示するパケット)か否かを判断する(ス
テップS17)。例えば、ターゲットリセットの場合に
は、エージェントがORBの内容を解析することで、リ
セットパケットか否かを判断できる。また、エージェン
トリセットやリセットスタートの場合には、エージェン
トがパケットのライトアドレスを解析することで、リセ
ットパケットか否かを判断できる。
Next, it is determined whether or not the received packet is a reset packet (a packet instructing a reset) (step S17). For example, in the case of a target reset, the agent analyzes the contents of the ORB to determine whether or not the packet is a reset packet. In the case of an agent reset or reset start, the agent can determine whether or not the packet is a reset packet by analyzing the write address of the packet.

【0108】受信パケットがリセットパケットであった
場合には、図9(C)や図10(C)で説明したよう
に、リセットにより影響を受けるエージェントキューを
クリアする(ステップS18)。例えば、マネージメン
トエージェントのリセットの場合には、MNGキューと
FCHキューの両方をクリアする。一方、フェッチエー
ジェントのリセットの場合には、FCHキューのみをク
リアする。
If the received packet is a reset packet, the agent queue affected by the reset is cleared as described with reference to FIGS. 9C and 10C (step S18). For example, when the management agent is reset, both the MNG queue and the FCH queue are cleared. On the other hand, when the fetch agent is reset, only the FCH queue is cleared.

【0109】次に、データバッファ上の送信バッファに
空きがあり、且つ、送信要求が存在するか否かを判断し
(ステップS19)、存在する場合にはパケット送信を
行う(ステップS20)。次に、バスリセットが発生し
ているか否かを判断し(ステップS21)、発生してい
る場合には、エージェントキューの全てと送信キューを
クリアする(ステップS22)。一方、発生してない場
合には、図13のステップS3に戻る。
Next, it is determined whether there is a free space in the transmission buffer on the data buffer and there is a transmission request (step S19), and if there is, a packet is transmitted (step S20). Next, it is determined whether or not a bus reset has occurred (step S21). If it has occurred, all the agent queues and the transmission queue are cleared (step S22). On the other hand, if no error has occurred, the process returns to step S3 in FIG.

【0110】そして、ステップS3〜S7、S2、S8
〜S21の処理を繰り返して、キューに格納されている
受信パケットを1つずつ順次処理して行く。即ち、ま
ず、優先順位が最も高いキュー(例えばMNGキュー)
に格納されている受信パケットを1つずつ順次処理して
行き、全ての受信パケットに対する処理が完了した場合
には、2番目に優先順位が高いキュー(例えばFCH1
キュー)に格納されている受信パケットを処理する。そ
して、そのキューの全ての受信パケットの処理が完了す
ると、3番目に優先順位が高いキュー(例えばFCH2
キュー)に格納されている受信パケットを処理する。以
上のようにして、キューに格納されている全ての受信パ
ケットに対して処理を行う。
Then, steps S3 to S7, S2, S8
Steps S21 to S21 are repeated, and the received packets stored in the queue are sequentially processed one by one. That is, first, the queue having the highest priority (for example, the MNG queue)
Are sequentially processed one by one, and when the processing for all the received packets is completed, the queue having the second highest priority (for example, FCH1)
Process the received packets stored in the queue. When the processing of all the received packets in the queue is completed, the queue having the third highest priority (for example, FCH2)
Process the received packets stored in the queue. As described above, the processing is performed on all the received packets stored in the queue.

【0111】5.電子機器 次に、本実施形態のデータ転送制御装置を含む電子機器
の例について説明する。
5. Electronic Device Next, an example of an electronic device including the data transfer control device of the present embodiment will be described.

【0112】例えば図15(A)に電子機器の1つであ
るプリンタの内部ブロック図を示し、図16(A)にそ
の外観図を示す。CPU(マイクロコンピュータ)51
0はシステム全体の制御などを行う。操作部511はプ
リンタをユーザが操作するためのものである。ROM5
16には、制御プログラム、フォントなどが格納され、
RAM518はCPU510のワーク領域として機能す
る。表示パネル519はプリンタの動作状態をユーザに
知らせるためのものである。
For example, FIG. 15A shows an internal block diagram of a printer which is one of the electronic devices, and FIG. 16A shows an external view thereof. CPU (microcomputer) 51
0 controls the entire system. The operation unit 511 is for the user to operate the printer. ROM5
16 stores a control program, fonts, and the like.
The RAM 518 functions as a work area for the CPU 510. The display panel 519 is for notifying the user of the operation state of the printer.

【0113】PHYデバイス502、データ転送制御装
置500を介して、パーソナルコンピュータなどの相手
ノードから送られてきた印字データは、バス504を介
して印字処理部(プリンタエンジン)512に直接送ら
れる。そして、印字データは、印字処理部512にて所
与の処理が施され、プリントヘッダなどからなる印字部
(データを出力するための装置)514により紙に印字
されて出力される。
Print data sent from a partner node such as a personal computer via the PHY device 502 and the data transfer control device 500 is sent directly to the print processing unit (printer engine) 512 via the bus 504. The print data is subjected to given processing in a print processing unit 512, and is printed and output on paper by a print unit (device for outputting data) 514 including a print header and the like.

【0114】図15(B)に電子機器の1つであるスキ
ャナの内部ブロック図を示し、図16(B)にその外観
図を示す。CPU520はシステム全体の制御などを行
う。操作部521はスキャナをユーザが操作するための
ものである。ROM526には制御プログラムなどが格
納され、RAM528はCPU520のワーク領域とし
て機能する。
FIG. 15B shows an internal block diagram of a scanner which is one of the electronic devices, and FIG. 16B shows an external view thereof. The CPU 520 controls the entire system. The operation unit 521 is for the user to operate the scanner. The ROM 526 stores a control program and the like, and the RAM 528 functions as a work area of the CPU 520.

【0115】光源、光電変換器などからなる画像読み取
り部(データを取り込むための装置)522により原稿
の画像が読み取られ、読み取られた画像のデータは画像
処理部(スキャナエンジン)524により処理される。
そして、処理後の画像データがバス505を介してデー
タ転送制御装置500に直接送られる。データ転送制御
装置500は、この画像データにヘッダなどを付加する
ことでパケットを生成し、PHYデバイス502を介し
てパーソナルコンピュータなどの相手ノードに送信す
る。
An image of a document is read by an image reading unit (device for taking in data) 522 including a light source, a photoelectric converter, and the like, and the data of the read image is processed by an image processing unit (scanner engine) 524. .
Then, the processed image data is directly sent to the data transfer control device 500 via the bus 505. The data transfer control device 500 generates a packet by adding a header or the like to the image data, and transmits the packet to a partner node such as a personal computer via the PHY device 502.

【0116】図15(C)に電子機器の1つであるCD
−RWドライブの内部ブロック図を示し、図16(C)
にその外観図を示す。CPU530はシステム全体の制
御などを行う。操作部531はCD−RWをユーザが操
作するためのものである。ROM536には制御プログ
ラムなどが格納され、RAM538はCPU530のワ
ーク領域として機能する。
FIG. 15C shows a CD which is one of the electronic devices.
FIG. 16C shows an internal block diagram of the RW drive, and FIG.
Fig. 2 shows its external view. The CPU 530 controls the entire system. The operation unit 531 is for the user to operate the CD-RW. The ROM 536 stores a control program and the like, and the RAM 538 functions as a work area of the CPU 530.

【0117】レーザ、モータ、光学系などからなる読み
取り&書き込み部(データを取り込むための装置又はデ
ータを記憶するための装置)533によりCD−RW5
32から読み取られたデータは、信号処理部534に入
力され、エラー訂正処理などの所与の信号処理が施され
る。そして、信号処理が施されたデータが、バス506
を介してデータ転送制御装置500に直接送られる。デ
ータ転送制御装置500は、このデータにヘッダなどを
付加することでパケットを生成し、PHYデバイス50
2を介してパーソナルコンピュータなどの相手ノードに
送信する。
The reading / writing unit (device for taking in data or device for storing data) 533 comprising a laser, a motor, an optical system, etc.
The data read from 32 is input to a signal processing unit 534 and subjected to given signal processing such as error correction processing. Then, the signal-processed data is transferred to the bus 506.
Is sent directly to the data transfer control device 500 via the. The data transfer control device 500 generates a packet by adding a header or the like to this data, and the PHY device 50
2 to a partner node such as a personal computer.

【0118】一方、PHYデバイス502、データ転送
制御装置500を介して、相手ノードから送られてきた
データは、バス506を介して信号処理部534に直接
送られる。そして、信号処理部534によりこのデータ
に所与の信号処理が施され、読み取り&書き込み部53
3によりCD−RW532に記憶される。
On the other hand, data sent from the partner node via the PHY device 502 and the data transfer control device 500 is sent directly to the signal processing unit 534 via the bus 506. Then, given signal processing is performed on this data by the signal processing unit 534, and the reading and writing unit 53
3 is stored in the CD-RW 532.

【0119】なお、図15(A)、(B)、(C)にお
いて、CPU510、520、530の他に、データ転
送制御装置500でのデータ転送制御のためのCPUを
別に設けるようにしてもよい。
In FIGS. 15A, 15B and 15C, in addition to the CPUs 510, 520 and 530, a CPU for data transfer control in the data transfer control device 500 may be provided separately. Good.

【0120】また、図15(A)、(B)、(C)では
RAM501(データバッファに相当)がデータ転送制
御装置500の外部に設けられているが、RAM501
をデータ転送制御装置500に内蔵させてもよい。
In FIGS. 15A, 15B and 15C, the RAM 501 (corresponding to a data buffer) is provided outside the data transfer control device 500.
May be incorporated in the data transfer control device 500.

【0121】本実施形態のデータ転送制御装置を電子機
器に用いれば、データ転送制御装置や電子機器に何らか
のエラーが発生して、データ転送制御装置がリセットさ
れた場合にも、短時間で正常状態に復帰できるようにな
る。また、バスに新たな電子機器が接続されてバスリセ
ットが発生した場合にも、短い時間でバスリセット状態
から復帰でき、システム全体がストールしてしまう事態
を防止できる。
If the data transfer control device according to the present embodiment is used in an electronic device, even if an error occurs in the data transfer control device or the electronic device and the data transfer control device is reset, the data transfer control device can be returned to a normal state in a short time. Will be able to return to Further, even when a new electronic device is connected to the bus and a bus reset occurs, the bus can be returned from the bus reset state in a short time, and a situation in which the entire system is stalled can be prevented.

【0122】また本実施形態のデータ転送制御装置を電
子機器に用いれば、高速なデータ転送が可能になる。従
って、ユーザがパーソナルコンピュータなどによりプリ
ントアウトの指示を行った場合に、少ないタイムラグで
印字が完了するようになる。また、スキャナへの画像取
り込みの指示の後に、少ないタイムラグで読み取り画像
をユーザは見ることができるようになる。また、CD−
RWからのデータの読み取りや、CD−RWへのデータ
の書き込みを高速に行うことができるようになる。
If the data transfer control device of this embodiment is used in an electronic device, high-speed data transfer can be performed. Therefore, when the user gives a printout instruction using a personal computer or the like, printing is completed with a small time lag. Further, after the instruction to take in the image to the scanner, the user can view the read image with a small time lag. Also, CD-
It is possible to read data from the RW and write data to the CD-RW at high speed.

【0123】また本実施形態のデータ転送制御装置を電
子機器に用いることで、CPU上で動作するファームウ
ェアの処理負担が軽減され、安価なCPUや低速のバス
を用いることが可能になる。更に、データ転送制御装置
の低コスト化、小規模化を図れるため、電子機器の低コ
スト化、小規模化も図れるようになる。
Further, by using the data transfer control device of the present embodiment in an electronic device, the processing load of the firmware operating on the CPU can be reduced, and an inexpensive CPU and a low-speed bus can be used. Further, since the cost and the size of the data transfer control device can be reduced, the cost and the size of the electronic device can be reduced.

【0124】なお本実施形態のデータ転送制御装置を適
用できる電子機器としては、上記以外にも例えば、種々
の光ディスクドライブ(CD−ROM、DVD)、光磁
気ディスクドライブ(MO)、ハードディスクドライ
ブ、TV、VTR、ビデオカメラ、オーディオ機器、電
話機、プロジェクタ、パーソナルコンピュータ、電子手
帳、ワードプロセッサなど種々のものを考えることがで
きる。
The electronic apparatus to which the data transfer control device of the present embodiment can be applied is, for example, various optical disk drives (CD-ROM, DVD), magneto-optical disk drive (MO), hard disk drive, TV, etc. , VTR, video camera, audio equipment, telephone, projector, personal computer, electronic organizer, word processor and the like.

【0125】なお、本発明は本実施形態に限定されず、
本発明の要旨の範囲内で種々の変形実施が可能である。
Note that the present invention is not limited to this embodiment,
Various modifications can be made within the scope of the present invention.

【0126】例えば、本発明のデータ転送制御装置の構
成は、図6に示す構成が特に望ましいが、これに限定さ
れるものではない。
For example, the configuration of the data transfer control device of the present invention is particularly preferably the configuration shown in FIG. 6, but is not limited thereto.

【0127】また、受信パケットを破棄する手法も、本
実施形態で説明した手法が特に望ましいが、これに限定
されるものではない。
The method for discarding the received packet is also preferably, but not limited to, the method described in the present embodiment.

【0128】また、本実施形態では、2つ又は3つのキ
ューを設ける場合について説明したが、4つ以上のキュ
ーを設けるようにしてもよい。
In the present embodiment, the case where two or three queues are provided has been described. However, four or more queues may be provided.

【0129】また、本発明は、IEEE1394規格で
のデータ転送に適用されることが特に望ましいが、これ
に限定されるものではない。例えばIEEE1394と
同様の思想に基づく規格やIEEE1394を発展させ
た規格におけるデータ転送にも本発明は適用できる。
It is particularly preferable that the present invention is applied to data transfer in the IEEE 1394 standard, but the present invention is not limited to this. For example, the present invention can be applied to data transfer based on a standard based on the same concept as IEEE 1394 or a standard developed from IEEE 1394.

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

【図1】IEEE1394の層構造について示す図であ
る。
FIG. 1 is a diagram showing a layer structure of IEEE1394.

【図2】SBP-2について説明するための図である。FIG. 2 is a diagram for explaining SBP-2.

【図3】SBP-2のデータ転送処理の概略について説明
するための図である。
FIG. 3 is a diagram for explaining an outline of a data transfer process of SBP-2;

【図4】データをイニシエータからターゲットに転送す
る場合のコマンド処理について説明するための図であ
る。
FIG. 4 is a diagram for explaining command processing when data is transferred from an initiator to a target.

【図5】データをターゲットからイニシエータに転送す
る場合のコマンド処理について説明するための図であ
る。
FIG. 5 is a diagram for explaining command processing when data is transferred from a target to an initiator.

【図6】本実施形態のデータ転送制御装置の構成例を示
す図である。
FIG. 6 is a diagram illustrating a configuration example of a data transfer control device according to the present embodiment.

【図7】比較例の処理について説明するためのフローチ
ャートである。
FIG. 7 is a flowchart illustrating a process according to a comparative example.

【図8】リセット時の本実施形態の手法について説明す
るための図である。
FIG. 8 is a diagram for describing a method of the present embodiment at the time of reset.

【図9】図9(A)、(B)、(C)は、複数のキュー
を用意し、キューをクリアすることにより、不要なパケ
ットを破棄する手法について説明するための図である。
FIGS. 9A, 9B, and 9C are diagrams for explaining a method of preparing a plurality of queues and discarding unnecessary packets by clearing the queues.

【図10】図10(A)、(B)、(C)は、優先順位
の高いキューを優先的に処理する手法について説明する
ための図である。
FIGS. 10A, 10B, and 10C are diagrams for explaining a method of processing a queue with a higher priority with priority;

【図11】図11(A)、(B)は、コマンド制御用の
フェッチエージェントのキューを優先的に処理する手法
について説明するための図である。
FIGS. 11A and 11B are diagrams for explaining a method of processing a queue of a fetch agent for command control with priority;

【図12】図12(A)、(B)、(C)は、バスリセ
ット時の本実施形態の手法について説明するための図で
ある。
FIGS. 12A, 12B, and 12C are diagrams for explaining a method according to the present embodiment at the time of bus reset;

【図13】本実施形態の詳細な処理例を示すフローチャ
ートである。
FIG. 13 is a flowchart illustrating a detailed processing example of the present embodiment.

【図14】本実施形態の詳細な処理例を示すフローチャ
ートである。
FIG. 14 is a flowchart illustrating a detailed processing example of the embodiment;

【図15】図15(A)、(B)、(C)は、種々の電
子機器の内部ブロック図の例である。
FIGS. 15A, 15B, and 15C are examples of internal block diagrams of various electronic devices.

【図16】図16(A)、(B)、(C)は、種々の電
子機器の外観図の例である。
FIGS. 16A, 16B, and 16C are examples of external views of various electronic devices.

【符号の説明】[Explanation of symbols]

10 データ転送制御装置 12 PHYデバイス 14 リンクデバイス 16 CPU 18 データバッファ 20 ファームウェア(F/W) 30 コミュニケーション部(COM) 32 パケット解析部 34 パケット処理部 36 パケット破棄部 40 マネージメントエージェント(MNG。第1の
要求実行手段) 50 フェッチエージェント(FCH1。第3(第
2)の要求実行手段) 60 フェッチエージェント(FCH2。第4(第
2)の要求実行手段) 70 プリントタスク部(PRT) 100 パーソナルコンピュータ 102 デバイスドライバ 104 データバッファ 110 情報記憶媒体
Reference Signs List 10 data transfer control device 12 PHY device 14 link device 16 CPU 18 data buffer 20 firmware (F / W) 30 communication unit (COM) 32 packet analysis unit 34 packet processing unit 36 packet discarding unit 40 management agent (MNG; first) Request execution means) 50 fetch agent (FCH1; third (second) request execution means) 60 fetch agent (FCH2; fourth (second) request execution means) 70 print task unit (PRT) 100 personal computer 102 device Driver 104 data buffer 110 information storage medium

───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤田 信一郎 長野県諏訪市大和3丁目3番5号 セイコ ーエプソン株式会社内 (72)発明者 吐合 朱美 長野県諏訪市大和3丁目3番5号 セイコ ーエプソン株式会社内 Fターム(参考) 5B077 DD02 NN02 NN08 5K030 HA08 KA03 LA03 LC18 LE05 MB15 5K033 CB17 CC01 DB13  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Shinichiro Fujita 3-5-5 Yamato, Suwa City, Nagano Prefecture Inside Seiko Epson Corporation (72) Inventor Akemi Toumi 3-3-5 Yamato Suwa City, Nagano Prefecture Seiko Epson F term in reference (reference) 5B077 DD02 NN02 NN08 5K030 HA08 KA03 LA03 LC18 LE05 MB15 5K033 CB17 CC01 DB13

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 バスに接続される複数のノード間でのデ
ータ転送のためのデータ転送制御装置であって、 自ノードのデータバッファに書き込まれた受信パケット
を解析し、解析した受信パケットをキューに格納し、デ
ータバッファ上の受信パケットが無くなるまで受信パケ
ットの解析及びキューへの格納を繰り返すパケット解析
手段と、 データバッファ上の受信パケットが無くなったところ
で、キューに格納された受信パケットを処理するパケッ
ト処理手段と、 処理した受信パケットがリセットを指示するパケットで
あった場合には、キューに格納された受信パケットのう
ち前記リセットにより不要になる受信パケットを破棄す
るパケット破棄手段と、 を含むことを特徴とするデータ転送制御装置。
1. A data transfer control device for transferring data between a plurality of nodes connected to a bus, comprising: analyzing a received packet written in a data buffer of the own node; And a packet analyzing means for repeating the analysis of the received packet and storing it in the queue until there are no more received packets in the data buffer, and processing the received packets stored in the queue when the received packets in the data buffer are gone. Packet processing means; and packet discarding means for, when the processed received packet is a packet instructing reset, discarding a received packet that becomes unnecessary due to the reset among the received packets stored in the queue. A data transfer control device, characterized in that:
【請求項2】 請求項1において、 前記キューとして複数のキューが用意され、 前記パケット解析手段が、 解析した受信パケットを前記複数のキューの中のいずれ
かのキューに格納し、 前記パケット破棄手段が、 処理した受信パケットがリセットを指示するパケットで
あった場合には、リセットにより不要になる受信パケッ
トが格納されているキューをクリアすることを特徴とす
るデータ転送制御装置。
2. The packet discarding unit according to claim 1, wherein a plurality of queues are prepared as the queue, and the packet analysis unit stores the analyzed received packet in one of the plurality of queues. However, if the processed received packet is a packet instructing reset, the data transfer control device clears a queue in which the received packet which becomes unnecessary by reset is stored.
【請求項3】 請求項1又は2において、 前記パケット処理手段から受信パケットを受け、他のノ
ードからの要求を実行する第1の要求実行手段と、 前記パケット処理手段から受信パケットを受け、他のノ
ードからの要求を実行すると共に、前記第1の要求実行
手段がリセットされると自身もリセットされる関係にあ
る第2の要求実行手段とを含み、 前記パケット解析手段が、 前記第1の要求実行手段に渡すべき受信パケットについ
ては第1のキューに格納し、前記第2の要求実行手段に
渡すべき受信パケットについては第2のキューに格納
し、 前記パケット処理手段が、 前記第1のキューに格納されている受信パケットを、前
記第2のキューに格納されている受信パケットよりも優
先して処理することを特徴とするデータ転送制御装置。
3. The method according to claim 1, wherein the first request execution unit receives a received packet from the packet processing unit and executes a request from another node, and receives the received packet from the packet processing unit. And a second request execution unit that executes a request from the node of the first request execution unit and resets itself when the first request execution unit is reset. The received packet to be passed to the request execution means is stored in a first queue, the received packet to be passed to the second request execution means is stored in a second queue, and the packet processing means A data transfer control device, wherein a received packet stored in a queue is processed with priority over a received packet stored in the second queue.
【請求項4】 請求項3において、 前記パケット破棄手段が、 処理した受信パケットが前記第1の要求実行手段のリセ
ットを指示するパケットであった場合には、前記第1、
第2のキューの両方をクリアすることを特徴とするデー
タ転送制御装置。
4. The packet processing device according to claim 3, wherein the packet discarding unit is configured to execute the first,
A data transfer control device for clearing both of the second queues.
【請求項5】 請求項3又は4において、 前記第2の要求実行手段が、 上層のデバイスのコマンド制御要求を実行する第3の要
求実行手段と、データ転送要求を実行する第4の要求実
行手段とを含み、 前記パケット解析手段が、 前記第3の要求実行手段に渡すべき受信パケットについ
ては第3のキューに格納し、前記第4の要求実行手段に
渡すべき受信パケットについては第4のキューに格納
し、 前記パケット処理手段が、 前記第3のキューに格納されている受信パケットを、前
記第4のキューに格納されている受信パケットよりも優
先して処理することを特徴とするデータ転送制御装置。
5. The request execution device according to claim 3, wherein the second request execution device executes a command control request of an upper layer device, and the fourth request execution process executes a data transfer request. The packet analysis means stores the received packet to be passed to the third request execution means in a third queue, and stores the received packet to be passed to the fourth request execution means in a fourth queue. Data stored in a queue, wherein the packet processing means processes received packets stored in the third queue with higher priority than received packets stored in the fourth queue. Transfer control device.
【請求項6】 バスに接続される複数のノード間でのデ
ータ転送のためのデータ転送制御装置であって、 自ノードのデータバッファに書き込まれた受信パケット
を解析し、解析した受信パケットをキューに格納し、デ
ータバッファ上の受信パケットが無くなるまで受信パケ
ットの解析及びキューへの格納を繰り返すパケット解析
手段と、 データバッファ上の受信パケットが無くなったところで
キューに格納された受信パケットを処理するパケット処
理手段と、 ノードのトポロジ情報をクリアするリセットが発生した
場合には、前記リセットの発生前の受信パケットを破棄
するパケット破棄手段と、 を含むことを特徴とするデータ転送制御装置。
6. A data transfer control device for transferring data between a plurality of nodes connected to a bus, comprising: analyzing a received packet written in a data buffer of the own node; Packet analysis means for repeatedly analyzing received packets and storing them in a queue until there are no more received packets in the data buffer, and a packet for processing the received packets stored in the queue when there are no more received packets in the data buffer A data transfer control device, comprising: a processing unit; and a packet discarding unit that, when a reset for clearing topology information of a node occurs, discards a received packet before the occurrence of the reset.
【請求項7】 請求項6において、 前記パケット破棄手段が、 ノードのトポロジ情報をクリアするリセットが発生した
場合には、受信パケットが格納されているキューをクリ
アすることを特徴とするデータ転送制御装置。
7. The data transfer control according to claim 6, wherein the packet discarding unit clears a queue storing received packets when a reset for clearing topology information of the node occurs. apparatus.
【請求項8】 請求項6又は7において、 ノードのトポロジ情報をクリアする前記リセットが、I
EEE1394の規格において定義されるバスリセット
であることを特徴とするデータ転送制御装置。
8. The method according to claim 6, wherein the reset for clearing the topology information of the node comprises the step of:
A data transfer control device, which is a bus reset defined in the EEE1394 standard.
【請求項9】 請求項1乃至8のいずれかにおいて、 IEEE1394の規格に準拠したデータ転送を行うこ
とを特徴とするデータ転送制御装置。
9. A data transfer control device according to claim 1, wherein data transfer is performed in accordance with the IEEE 1394 standard.
【請求項10】 請求項1乃至9のいずれかのデータ転
送制御装置と、 前記データ転送制御装置及びバスを介して相手ノードか
ら受信したデータに所与の処理を施す装置と、 処理が施されたデータを出力又は記憶するための装置と
を含むことを特徴とする電子機器。
10. A data transfer control device according to claim 1, wherein the data transfer control device performs a given process on data received from a partner node via the data transfer control device and a bus. And a device for outputting or storing the data.
【請求項11】 請求項1乃至9のいずれかのデータ転
送制御装置と、 前記データ転送制御装置及びバスを介して相手ノードに
転送するデータに所与の処理を施す装置と、 処理が施されるデータを取り込むための装置とを含むこ
とを特徴とする電子機器。
11. The data transfer control device according to claim 1, wherein the data transfer control device and a device for performing a given process on data to be transferred to a partner node via a bus. And an apparatus for capturing data.
JP37050199A 1999-12-27 1999-12-27 Data transfer control device and electronic device Expired - Fee Related JP3606145B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37050199A JP3606145B2 (en) 1999-12-27 1999-12-27 Data transfer control device and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37050199A JP3606145B2 (en) 1999-12-27 1999-12-27 Data transfer control device and electronic device

Publications (2)

Publication Number Publication Date
JP2001186146A true JP2001186146A (en) 2001-07-06
JP3606145B2 JP3606145B2 (en) 2005-01-05

Family

ID=18497077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37050199A Expired - Fee Related JP3606145B2 (en) 1999-12-27 1999-12-27 Data transfer control device and electronic device

Country Status (1)

Country Link
JP (1) JP3606145B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054959B2 (en) 2002-03-20 2006-05-30 Seiko Epson Corporation Isochronous data transfer control method including packet configuration of thus-read isochronous header and data
JP2014534522A (en) * 2011-10-26 2014-12-18 インテル・コーポレーション Multi-touch interface method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054959B2 (en) 2002-03-20 2006-05-30 Seiko Epson Corporation Isochronous data transfer control method including packet configuration of thus-read isochronous header and data
JP2014534522A (en) * 2011-10-26 2014-12-18 インテル・コーポレーション Multi-touch interface method
US9262000B2 (en) 2011-10-26 2016-02-16 Intel Corporation Multi-touch interface schemes
GB2512214B (en) * 2011-10-26 2020-10-07 Intel Corp Multi-touch interface schemes

Also Published As

Publication number Publication date
JP3606145B2 (en) 2005-01-05

Similar Documents

Publication Publication Date Title
JP3843667B2 (en) Data transfer control device and electronic device
JP3608441B2 (en) Data transfer control device and electronic device
JP3780776B2 (en) Data transfer control device and electronic device
JP2001036548A (en) Data transfer controller and electronic device
JP3598923B2 (en) Data transfer control device, information storage medium, and electronic device
JP3494041B2 (en) Data transfer control device and electronic equipment
JP3539287B2 (en) Data transfer control device and electronic equipment
US6457072B1 (en) System and method for effectively performing physical direct memory access operations
EP1351459B1 (en) Data transfer control device and electronic equipment
JP3606145B2 (en) Data transfer control device and electronic device
JP3494042B2 (en) Data transfer control device and electronic equipment
JP3598924B2 (en) Data transfer control device, information storage medium, and electronic device
JP3624767B2 (en) Data transfer control device, information storage medium, and electronic device
JP2004258856A (en) Data transfer control system, electronic apparatus, and data transfer control method
JP3598922B2 (en) Data transfer control device, information storage medium, and electronic device
JP3610982B2 (en) Data transfer control device and electronic device
JP2003233581A (en) Data communication control device having dma controller

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040312

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040927

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111015

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees