JP2014146278A - Switch device, image processor and exclusive control method - Google Patents

Switch device, image processor and exclusive control method Download PDF

Info

Publication number
JP2014146278A
JP2014146278A JP2013015893A JP2013015893A JP2014146278A JP 2014146278 A JP2014146278 A JP 2014146278A JP 2013015893 A JP2013015893 A JP 2013015893A JP 2013015893 A JP2013015893 A JP 2013015893A JP 2014146278 A JP2014146278 A JP 2014146278A
Authority
JP
Japan
Prior art keywords
command
unit
controller
engine
transmitted
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
JP2013015893A
Other languages
Japanese (ja)
Other versions
JP6171367B2 (en
Inventor
Mutsumi Nanba
睦 難波
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013015893A priority Critical patent/JP6171367B2/en
Publication of JP2014146278A publication Critical patent/JP2014146278A/en
Application granted granted Critical
Publication of JP6171367B2 publication Critical patent/JP6171367B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a switch device capable of connecting an extended controller part with an engine part for operation without changing existing software.SOLUTION: A switch device includes: a downstream port connected to an engine part; a first upstream port connected to a first controller part; a second upstream port connected to a second controller part; a transmission part for, when receiving setting information to be transmitted from the first upstream port to the downstream port, transferring the received setting information to the downstream port; and a command exclusive control part for, when detecting a first command to be transmitted from the first or second upstream port to the downstream port, and an access authority is not set in any controller part, applying the access authority to the controller part which has transmitted the first command, and for transmitting the first command to the downstream port.

Description

本発明は、スイッチ装置、画像処理装置、及び排他制御方法に関する。   The present invention relates to a switch device, an image processing device, and an exclusive control method.

エンジン部、及びコントローラ部により構成される画像形成装置において、エンジン部とコントローラ部との間でコマンドを送受信するためのインタフェースが知られている。当該インタフェースとして、例えば、PCI−EXPRESS等のシリアルインタフェースが知られている。また、エンジン部とコントローラ部との物理的な接続が、1対1のPCI−EXPRESSによる転送経路である場合に、当該転送経路を拡張するためにスイッチ装置を使用することが知られている。   In an image forming apparatus including an engine unit and a controller unit, an interface for transmitting and receiving commands between the engine unit and the controller unit is known. As the interface, for example, a serial interface such as PCI-EXPRESS is known. In addition, when the physical connection between the engine unit and the controller unit is a transfer path by one-to-one PCI-EXPRESS, it is known to use a switch device to expand the transfer path.

スイッチ装置により当該転送経路を拡張する技術は、例えば、特許文献1に開示されている。特許文献1には、複数のCPUノードを、スイッチ装置を介してシリアルバスにより相互接続したコンピュータシステムの発明が開示されている。   A technique for expanding the transfer path by a switch device is disclosed in, for example, Patent Document 1. Patent Document 1 discloses an invention of a computer system in which a plurality of CPU nodes are interconnected by a serial bus via a switch device.

しかしながら、拡張コントローラ部を追加するために、当該転送経路を拡張するためのスイッチ装置を導入すると、コントローラ部とエンジン部の一方、又は双方のソフトウェアを変更しなくてはならなかった。   However, when a switch device for extending the transfer path is introduced in order to add an expansion controller unit, software of one or both of the controller unit and the engine unit has to be changed.

本発明は、上記に鑑みてなされたものであって、既存のソフトウェアを変更せずに、エンジン部に拡張コントローラ部を接続して動作させることができるスイッチ装置を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a switch device that can be operated by connecting an expansion controller unit to an engine unit without changing existing software.

上述した課題を解決し、目的を達成するために、本発明のスイッチ装置は、エンジン部に接続するダウンストリームポートと、第1コントローラ部に接続する第1アップストリームポートと、第2コントローラ部に接続する第2アップストリームポートと、前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与し、前記第1コマンドを前記ダウンストリームポートに送信するコマンド排他制御部とを備える。   In order to solve the above-described problems and achieve the object, the switch device of the present invention includes a downstream port connected to the engine unit, a first upstream port connected to the first controller unit, and a second controller unit. When setting information for establishing a connection between the first controller unit and the engine unit transmitted to the downstream port is received from the second upstream port to be connected and the first upstream port, Detecting a first command for canceling a command transmission interrupt mask of the engine unit transmitted from the first or second upstream port to the downstream port and a transparent unit for transferring the received setting information to the downstream port Access right indicating the right to access the engine section Is determined to be set to either the first or second controller, and if the access authority is not set to any, the access authority is granted to the controller unit that transmitted the first command, A command exclusive control unit configured to transmit the first command to the downstream port.

また、本発明の画像処理装置は、エンジン部と、第1コントローラ部と、第2コントローラ部と、スイッチ装置とを備え、前記スイッチ装置は、エンジン部に接続するダウンストリームポートと、第1コントローラ部に接続する第1アップストリームポートと、第2コントローラ部に接続する第2アップストリームポートと、前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与し、前記第1コマンドを前記ダウンストリームポートに送信するコマンド排他制御部とを備える。   The image processing apparatus of the present invention further includes an engine unit, a first controller unit, a second controller unit, and a switch device. The switch device includes a downstream port connected to the engine unit, and a first controller. A first upstream port connected to a second controller unit, a second upstream port connected to a second controller unit, and the first controller unit and the engine unit transmitted from the first upstream port to the downstream port When the setting information for establishing the connection with the transmission port is received, the transmission unit transmits the received setting information to the downstream port, and is transmitted from the first or second upstream port to the downstream port. The first command for canceling the command transmission interrupt mask of the engine unit is detected. In such a case, it is determined whether or not an access authority representing an authority to access the engine unit is set in either the first or second controller, and if the access authority is not set in any of the above, A command exclusive control unit that grants access authority to the controller unit that has transmitted the first command and transmits the first command to the downstream port.

また、本発明の排他制御方法は、エンジン部に接続するダウンストリームポートと、第1コントローラ部に接続する第1アップストリームポートと、第2コントローラ部に接続する第2アップストリームポートとを備えるスイッチ装置の排他制御方法であって、透過部が、前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信するステップと、透過部が、受信した設定情報を前記ダウンストリームポートに転送するステップと、コマンド排他制御部が、前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知するステップと、コマンド排他制御部が、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定するステップと、コマンド排他制御部が、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与するステップと、コマンド排他制御部が、前記第1コマンドを前記ダウンストリームポートに送信するステップとを含む。   The exclusive control method of the present invention is a switch comprising a downstream port connected to the engine unit, a first upstream port connected to the first controller unit, and a second upstream port connected to the second controller unit. An apparatus exclusive control method, wherein a transmission unit receives setting information for establishing a connection between the first controller unit and the engine unit transmitted from the first upstream port to the downstream port. And a step in which the transparent unit transfers the received setting information to the downstream port, and a command exclusive control unit is transmitted from the first or second upstream port to the downstream port. The step of detecting the first command for canceling the command transmission interrupt mask of The command exclusive control unit determines whether the access authority indicating the authority to access the engine unit is set in either the first or the second controller, and the command exclusive control unit includes: If the access authority is not set to any of the steps, the step of granting the access authority to the controller unit that transmitted the first command, and the step of the command exclusive control unit transmitting the first command to the downstream port; including.

本発明によれば、既存のソフトウェアを変更せずに、エンジン部に更に拡張コントローラ部を接続して動作させることができるスイッチ装置を提供することができるという効果を奏する。   Advantageous Effects of Invention According to the present invention, there is an effect that it is possible to provide a switch device that can be operated by further connecting an expansion controller unit to an engine unit without changing existing software.

図1は、画像処理装置のエンジン部とコントローラ部の構成の一例を示すための全体図である。FIG. 1 is an overall view for illustrating an example of a configuration of an engine unit and a controller unit of the image processing apparatus. 図2は、画像処理装置のエンジン部とコントローラ部との間でコマンドを転送する構成の一例を説明するための詳細図である。FIG. 2 is a detailed diagram for explaining an example of a configuration for transferring commands between the engine unit and the controller unit of the image processing apparatus. 図3は、画像処理装置のコントローラ部からエンジン部へコマンドを送信するシーケンスの一例を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating an example of a sequence for transmitting a command from the controller unit to the engine unit of the image processing apparatus. 図4は、画像処理装置のエンジン部からコントローラ部へコマンドを送信するシーケンスの一例を示すシーケンス図である。FIG. 4 is a sequence diagram illustrating an example of a sequence for transmitting a command from the engine unit of the image processing apparatus to the controller unit. 図5は、本実施の形態のスイッチ装置を介してエンジン部と、コントローラ部と、拡張コントローラ部とを接続した画像処理装置の構成の一例を示す図である。FIG. 5 is a diagram illustrating an example of a configuration of an image processing apparatus in which an engine unit, a controller unit, and an expansion controller unit are connected via the switch device of the present embodiment. 図6は、本実施の形態のスイッチ装置の構成の一例を示す図である。FIG. 6 is a diagram illustrating an example of the configuration of the switch device according to the present embodiment. 図7は、本実施の形態のスイッチ装置のアプリケーション排他制御部を説明するための図である。FIG. 7 is a diagram for explaining the application exclusive control unit of the switch device according to the present embodiment. 図8は、本実施の形態のスイッチ装置のコマンド排他制御部を説明するための図である。FIG. 8 is a diagram for explaining the command exclusive control unit of the switch device according to the present embodiment. 図9は、本実施の形態の画像処理装置のスキャナ動作時のコマンドシーケンスを説明するためのシーケンス図である。FIG. 9 is a sequence diagram for explaining a command sequence during the scanner operation of the image processing apparatus according to the present embodiment. 図10は、本実施の形態の画像処理装置のプリンタ動作時のコマンドシーケンスを説明するためのシーケンス図である。FIG. 10 is a sequence diagram for explaining a command sequence during the printer operation of the image processing apparatus according to the present embodiment. 図11は、本実施の形態の画像処理装置のコピー動作時のコマンドシーケンスを説明するためのシーケンス図である。FIG. 11 is a sequence diagram for explaining a command sequence during a copying operation of the image processing apparatus according to the present embodiment.

以下に添付図面を参照して、スイッチ装置、画像処理装置、及び排他制御方法の実施の形態を詳細に説明する。   Hereinafter, embodiments of a switch device, an image processing device, and an exclusive control method will be described in detail with reference to the accompanying drawings.

はじめに、スイッチ装置を接続する前の画像処理装置について説明する。図1は、画像処理装置200のエンジン部1とコントローラ部31の構成の一例を示すための全体図である。画像処理装置200は、エンジン部1、及びコントローラ部31を備える。   First, the image processing device before connecting the switch device will be described. FIG. 1 is an overall view illustrating an example of the configuration of the engine unit 1 and the controller unit 31 of the image processing apparatus 200. The image processing apparatus 200 includes an engine unit 1 and a controller unit 31.

エンジン部1は、エンジンCPU(Central Processing Unit)2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、スキャナ装置5、プロッタ装置6、及びエンジンASIC(Application Specific Integrated Circuit)7を備える。   The engine unit 1 includes an engine CPU (Central Processing Unit) 2, a ROM (Read Only Memory) 3, a RAM (Random Access Memory) 4, a scanner device 5, a plotter device 6, and an engine ASIC (Application Specific Integration) 7. .

エンジンASIC7は、バスI/F8、スキャナI/F9、プロッタI/F10、及びエンドポイントコントローラ11を備える。エンドポイントコントローラ11は、レジスタ12を備える。   The engine ASIC 7 includes a bus I / F 8, a scanner I / F 9, a plotter I / F 10, and an endpoint controller 11. The endpoint controller 11 includes a register 12.

コントローラ部31は、コントローラASIC32、ルートコンプレックスコントローラ33、バスI/F35、メモリコントローラ36、コントローラCPU37、RAM38、及びROM39を備える。ルートコンプレックスコントローラ33は、レジスタ34を備える。   The controller unit 31 includes a controller ASIC 32, a route complex controller 33, a bus I / F 35, a memory controller 36, a controller CPU 37, a RAM 38, and a ROM 39. The root complex controller 33 includes a register 34.

まず、エンジン部1について説明する。エンジンCPU2は、エンジンASIC7を制御する。ROM3は、エンジンCPU2により実行されるプログラム等を記憶する。RAM4は、エンジンCPU2がプログラムを実行するとき等に利用されるメモリ領域である。スキャナ装置5は、原稿を読み取る装置である。スキャナ装置5は、スキャナアプリケーション等が利用する。プロッタ装置6は、原稿を印刷する装置である。プロッタ装置6は、プリンタ印刷アプリケーションや、コピー印刷アプリケーションにより実行される。エンジンASIC7は、スキャナ装置5、及びプロッタ装置6を制御する。また、エンジンASIC7は、コントローラ部31とPCI−EXPRESSインタフェースで接続される。エンジンASIC7は、エンジン部1とコントローラ部31との間のコマンド転送、及び画像データ転送を行う。   First, the engine unit 1 will be described. The engine CPU 2 controls the engine ASIC 7. The ROM 3 stores a program executed by the engine CPU 2 and the like. The RAM 4 is a memory area used when the engine CPU 2 executes a program. The scanner device 5 is a device that reads a document. The scanner device 5 is used by a scanner application or the like. The plotter device 6 is a device for printing a document. The plotter device 6 is executed by a printer printing application or a copy printing application. The engine ASIC 7 controls the scanner device 5 and the plotter device 6. The engine ASIC 7 is connected to the controller unit 31 through a PCI-EXPRESS interface. The engine ASIC 7 performs command transfer and image data transfer between the engine unit 1 and the controller unit 31.

次に、コントローラ部31について説明する。コントローラCPU37は、コントローラASIC32を制御する。ROM39は、コントローラCPU37により実行されるプログラム等を記憶する。コントローラASIC32は、RAM38を制御する。また、コントローラASIC32は、エンジン部1とPCI−EXPRESSインタフェースで接続される。コントローラASIC32は、エンジン部1とコントローラ部31との間のコマンド転送、及び画像データ転送を行う。   Next, the controller unit 31 will be described. The controller CPU 37 controls the controller ASIC 32. The ROM 39 stores a program executed by the controller CPU 37 and the like. The controller ASIC 32 controls the RAM 38. The controller ASIC 32 is connected to the engine unit 1 through a PCI-EXPRESS interface. The controller ASIC 32 performs command transfer and image data transfer between the engine unit 1 and the controller unit 31.

図2は、画像処理装置200のエンジン部1とコントローラ部31との間でコマンドを転送する構成の一例を説明するための詳細図である。   FIG. 2 is a detailed diagram for explaining an example of a configuration for transferring commands between the engine unit 1 and the controller unit 31 of the image processing apparatus 200.

まず、エンジン側の構成について説明する。エンジンASIC7は、バスI/F8、エンドポイントコントローラ11、割り込みコントローラ13、及びコミュニケーション制御部14を備える。エンジンCPU2は、バスI/F8、及び割り込みコントローラ13と接続される。   First, the configuration on the engine side will be described. The engine ASIC 7 includes a bus I / F 8, an end point controller 11, an interrupt controller 13, and a communication control unit 14. The engine CPU 2 is connected to the bus I / F 8 and the interrupt controller 13.

はじめに、エンジンASIC7のエンドポイントコントローラ11について説明する。エンドポイントコントローラ11は、コントローラ側のルートコンプレックスコントローラ33と接続されている。エンドポイントコントローラ11は、PCI−EXPRESSインタフェースのダウンストリーム側の処理を行う。   First, the endpoint controller 11 of the engine ASIC 7 will be described. The end point controller 11 is connected to the root complex controller 33 on the controller side. The endpoint controller 11 performs processing on the downstream side of the PCI-EXPRESS interface.

エンドポイントコントローラ11は、レジスタ12、ターゲット回路18、マスター回路19、トランザクション層データ処理部20、データリンク層データ処理部21、及び物理層データ処理部22を備える。レジスタ12は、エンドポイントコントローラ11で使用される記憶領域である。ターゲット回路18は、コントローラ側のマスター回路43からデータの転送要求(データの読み込み又は書き込み)を受ける回路である。マスター回路19は、コントローラ側のターゲット回路44にデータの転送要求をする回路である。トランザクション層データ処理部20は、トランザクション層のデータを処理する。データリンク層データ処理部21は、データリンク層のデータを処理する。物理層データ処理部22は、物理層のデータを処理する。   The endpoint controller 11 includes a register 12, a target circuit 18, a master circuit 19, a transaction layer data processing unit 20, a data link layer data processing unit 21, and a physical layer data processing unit 22. The register 12 is a storage area used by the endpoint controller 11. The target circuit 18 is a circuit that receives a data transfer request (data read or write) from the master circuit 43 on the controller side. The master circuit 19 is a circuit that makes a data transfer request to the target circuit 44 on the controller side. The transaction layer data processing unit 20 processes transaction layer data. The data link layer data processing unit 21 processes data link layer data. The physical layer data processing unit 22 processes physical layer data.

コミュニケーション制御部14は、コマンド受信バッファ15、コマンド送信バッファ16、及びコントローラ側割り込み生成回路17を備える。コマンド受信バッファ15は、コントローラASIC32がエンジンASIC7から受信するコマンドが格納される。コマンド送信バッファ16は、コントローラASIC32がエンジンASIC7に送信するコマンドが格納される。コントローラ側割り込み生成回路17は、コマンド受信バッファ15にデータが書き込まれたことを、コントローラASIC32に通知するための割り込みメッセージを生成する。また、コントローラ側割り込み生成回路17は、コマンド送信バッファ16が空いたことを、コントローラASIC32に通知するための割り込みメッセージを生成する。   The communication control unit 14 includes a command reception buffer 15, a command transmission buffer 16, and a controller-side interrupt generation circuit 17. The command reception buffer 15 stores a command that the controller ASIC 32 receives from the engine ASIC 7. The command transmission buffer 16 stores a command transmitted from the controller ASIC 32 to the engine ASIC 7. The controller-side interrupt generation circuit 17 generates an interrupt message for notifying the controller ASIC 32 that data has been written to the command reception buffer 15. The controller-side interrupt generation circuit 17 generates an interrupt message for notifying the controller ASIC 32 that the command transmission buffer 16 is empty.

割り込みコントローラ13は、コミュニケーション制御部14からエンジンCPU2への割り込み処理の通知を制御する。バスI/F8は、エンジンCPU2とコミュニケーション制御部14との間でデータを送受信するためのインタフェースである。   The interrupt controller 13 controls notification of interrupt processing from the communication control unit 14 to the engine CPU 2. The bus I / F 8 is an interface for transmitting and receiving data between the engine CPU 2 and the communication control unit 14.

次に、コントローラ側の構成について説明する。コントローラASIC32は、ルートコンプレックスコントローラ33、バスI/F35、メモリコントローラ36、アドレスデコーダ45、アービタ46、及び割り込みコントローラ47を備える。コントローラCPU37は、バスI/F35、及び割り込みコントローラ47と接続される。RAM38は、メモリコントローラ36と接続される。   Next, the configuration on the controller side will be described. The controller ASIC 32 includes a root complex controller 33, a bus I / F 35, a memory controller 36, an address decoder 45, an arbiter 46, and an interrupt controller 47. The controller CPU 37 is connected to the bus I / F 35 and the interrupt controller 47. The RAM 38 is connected to the memory controller 36.

はじめに、コントローラASIC32のルートコンプレックスコントローラ33について説明する。ルートコンプレックスコントローラ33は、エンジン側のエンドポイントコントローラ11と接続されている。ルートコンプレックスコントローラ33は、PCI−EXPRESSインタフェースのアップストリーム側の処理を行う。   First, the root complex controller 33 of the controller ASIC 32 will be described. The route complex controller 33 is connected to the engine-side endpoint controller 11. The root complex controller 33 performs processing on the upstream side of the PCI-EXPRESS interface.

ルートコンプレックスコントローラ33は、レジスタ34、物理層データ処理部40、データリンク層データ処理部41、トランザクション層データ処理部42、マスター回路43、及びターゲット回路44を備える。レジスタ34は、ルートコンプレックスコントローラ33で使用される記憶領域である。物理層データ処理部40は、ネットワークの物理層のデータを処理する。データリンク層データ処理部41は、ネットワークのデータリンク層のデータを処理する。トランザクション層データ処理部42は、ネットワークのトランザクション層のデータを処理する。マスター回路43は、エンジン側のターゲット回路18にデータの転送要求をする回路である。ターゲット回路44は、エンジン側のマスター回路19からデータの転送要求を受ける回路である。   The route complex controller 33 includes a register 34, a physical layer data processing unit 40, a data link layer data processing unit 41, a transaction layer data processing unit 42, a master circuit 43, and a target circuit 44. The register 34 is a storage area used by the root complex controller 33. The physical layer data processing unit 40 processes data in the physical layer of the network. The data link layer data processing unit 41 processes data in the data link layer of the network. The transaction layer data processing unit 42 processes data in the transaction layer of the network. The master circuit 43 is a circuit that makes a data transfer request to the target circuit 18 on the engine side. The target circuit 44 is a circuit that receives a data transfer request from the master circuit 19 on the engine side.

バスI/F35は、コントローラCPU37とコントローラASIC32との間のインタフェースである。アドレスデコーダ45は、コントローラCPU37からマスター回路43への接続を有効にする端子をアクティブにするための回路である。アービタ46は、ターゲット回路44が、メモリコントローラ36に接続するためのバスの使用権を制御する。メモリコントローラ36は、コントローラASIC32からRAM38へのデータの読み書きを制御する。割り込みコントローラ47は、ターゲット回路44からコントローラCPU37への割り込み処理の通知を制御する。   The bus I / F 35 is an interface between the controller CPU 37 and the controller ASIC 32. The address decoder 45 is a circuit for activating a terminal that enables connection from the controller CPU 37 to the master circuit 43. The arbiter 46 controls the right to use the bus for the target circuit 44 to connect to the memory controller 36. The memory controller 36 controls reading and writing of data from the controller ASIC 32 to the RAM 38. The interrupt controller 47 controls notification of interrupt processing from the target circuit 44 to the controller CPU 37.

次に、コントローラASIC32から、エンジンCPU2にコマンドを送信する方法について説明する。コントローラASIC32からエンジンCPU2へのコマンド通知は、PCI−EXPRESSインタフェースを介して、次のようにして実現する。まず、コントローラASIC32が、エンジンASIC7内のコマンド送信バッファ16にコマンドのデータを書き込む。次に、エンジンASIC7が、エンジンCPU2に、コマンド送信バッファ16にコマンドデータが書き込まれたことを通知する。次に、エンジンCPU2が、コマンド送信バッファ16からコマンドのデータを読み出す。   Next, a method for transmitting a command from the controller ASIC 32 to the engine CPU 2 will be described. Command notification from the controller ASIC 32 to the engine CPU 2 is realized as follows through the PCI-EXPRESS interface. First, the controller ASIC 32 writes command data in the command transmission buffer 16 in the engine ASIC 7. Next, the engine ASIC 7 notifies the engine CPU 2 that command data has been written in the command transmission buffer 16. Next, the engine CPU 2 reads command data from the command transmission buffer 16.

図3は、画像処理装置200のコントローラ部31からエンジン部1へコマンドを送信するシーケンスの一例を示すシーケンス図である。   FIG. 3 is a sequence diagram illustrating an example of a sequence for transmitting a command from the controller unit 31 of the image processing apparatus 200 to the engine unit 1.

エンジンCPU2が、エンジンASIC7のコマンド受信割り込みマスクを解除する(ステップS1)。これにより、エンジンASIC7は、エンジンCPU2にコマンド受信割り込み通知を送信できるようになる。コマンド受信割り込み通知は、エンジンCPU2宛てのコマンドを受信していることを、エンジンCPU2に知らせる通知である。   The engine CPU 2 cancels the command reception interrupt mask of the engine ASIC 7 (step S1). As a result, the engine ASIC 7 can transmit a command reception interrupt notification to the engine CPU 2. The command reception interrupt notification is a notification that notifies the engine CPU 2 that a command addressed to the engine CPU 2 is received.

コントローラASIC32は、エンジンASIC7のコマンド送信割り込みマスクを解除する(ステップS2)。これにより、エンジンASIC7は、コントローラASIC32にコマンド送信割り込み(コマンド送信バッファエンプティ)通知を送信できるようになる。コマンド送信割り込み(コマンド送信バッファエンプティ)通知は、エンジンCPU2にコマンドを送信できる状態(コマンド送信バッファ16が空である状態)であることを、コントローラASIC32に知らせる通知である。   The controller ASIC 32 cancels the command transmission interrupt mask of the engine ASIC 7 (step S2). As a result, the engine ASIC 7 can transmit a command transmission interrupt (command transmission buffer empty) notification to the controller ASIC 32. The command transmission interrupt (command transmission buffer empty) notification is a notification that notifies the controller ASIC 32 that a command can be transmitted to the engine CPU 2 (the command transmission buffer 16 is empty).

エンジンASIC7は、コマンド送信割り込み(コマンド送信バッファエンプティ)通知をコントローラASIC32に送信する(ステップS3)。コントローラASIC32は、エンジンASIC7のコマンド送信バッファ16に、コマンドデータを書き込む(ステップS4)。コントローラASIC32は、エンジンASIC7のコマンド送信バッファ16に、コマンドデータのサイズを書き込む(ステップS5)。   The engine ASIC 7 transmits a command transmission interrupt (command transmission buffer empty) notification to the controller ASIC 32 (step S3). The controller ASIC 32 writes the command data in the command transmission buffer 16 of the engine ASIC 7 (step S4). The controller ASIC 32 writes the size of the command data in the command transmission buffer 16 of the engine ASIC 7 (step S5).

エンジンASIC7は、コマンド受信割り込み通知をエンジンCPU2に送信する(ステップS6)。エンジンCPU2は、エンジンASIC7のコマンド送信バッファ16を参照して、読み出すコマンドデータのサイズを確認する(ステップS7)。エンジンCPU2は、エンジンASIC7のコマンド送信バッファ16から、コマンドデータを読み出す(ステップS8)。   The engine ASIC 7 transmits a command reception interrupt notification to the engine CPU 2 (step S6). The engine CPU 2 refers to the command transmission buffer 16 of the engine ASIC 7 and confirms the size of command data to be read (step S7). The engine CPU 2 reads command data from the command transmission buffer 16 of the engine ASIC 7 (step S8).

コントローラASIC32は、エンジンASIC7のコマンド送信割り込みマスクを設定する(ステップS9)。これにより、エンジンASIC7が、コマンド送信割り込み(送信バッファエンプティ)通知を、コントローラASIC32に送信できないようにする。   The controller ASIC 32 sets a command transmission interrupt mask for the engine ASIC 7 (step S9). This prevents the engine ASIC 7 from transmitting a command transmission interrupt (transmission buffer empty) notification to the controller ASIC 32.

次に、エンジンCPU2から、コントローラASIC32にコマンドを送信する方法について説明する。エンジンCPU2からコントローラASIC32へのコマンド通知は、PCI−EXPRESSインタフェースを介して、次のようにして実現する。まず、エンジンCPU2が、エンジンASIC7内のコマンド受信バッファ15にコマンドデータを書き込む。次に、エンジンASIC7が、MSI(Message Signaled Interrupt)割り込みで、コントローラASIC32に、コマンド受信バッファ15にコマンドデータが書き込まれたことを通知する。次に、コントローラASIC32が、コマンド受信バッファ15からコマンドデータを読み出す。   Next, a method for transmitting a command from the engine CPU 2 to the controller ASIC 32 will be described. Command notification from the engine CPU 2 to the controller ASIC 32 is realized through the PCI-EXPRESS interface as follows. First, the engine CPU 2 writes command data into the command reception buffer 15 in the engine ASIC 7. Next, the engine ASIC 7 notifies the controller ASIC 32 that the command data has been written in the command reception buffer 15 by an MSI (Message Signaled Interrupt) interrupt. Next, the controller ASIC 32 reads command data from the command reception buffer 15.

図4は、画像処理装置200のエンジン部1からコントローラ部31へコマンドを送信するシーケンスの一例を示すシーケンス図である。   FIG. 4 is a sequence diagram illustrating an example of a sequence for transmitting a command from the engine unit 1 to the controller unit 31 of the image processing apparatus 200.

コントローラASIC32が、エンジンASIC7のコマンド受信割り込みマスクを解除する(ステップS11)。これにより、エンジンASIC7は、コントローラASIC32にコマンド受信割り込み通知を送信できるようになる。コマンド受信割り込み通知は、コントローラASIC32宛てのコマンドを受信していることを、コントローラASIC32に知らせる通知である。   The controller ASIC 32 cancels the command reception interrupt mask of the engine ASIC 7 (step S11). As a result, the engine ASIC 7 can transmit a command reception interrupt notification to the controller ASIC 32. The command reception interrupt notification is a notification that notifies the controller ASIC 32 that a command addressed to the controller ASIC 32 is received.

エンジンCPU2は、エンジンASIC7のコマンド送信割り込みマスクを解除する(ステップS12)。これにより、エンジンASIC7は、エンジンCPU2にコマンド送信割り込み(コマンド受信バッファエンプティ)通知を送信できるようになる。コマンド送信割り込み(コマンド受信バッファエンプティ)通知は、コントローラASIC32にコマンドを送信できる状態(コマンド受信バッファ15が空である状態)であることを、エンジンCPU2に知らせる通知である。   The engine CPU 2 cancels the command transmission interrupt mask of the engine ASIC 7 (step S12). As a result, the engine ASIC 7 can transmit a command transmission interrupt (command reception buffer empty) notification to the engine CPU 2. The command transmission interrupt (command reception buffer empty) notification is a notification that notifies the engine CPU 2 that the command can be transmitted to the controller ASIC 32 (the command reception buffer 15 is empty).

エンジンCPU2は、コマンド送信割り込み(コマンド受信バッファエンプティ)通知をエンジンCPU2に送信する(ステップS13)。エンジンCPU2は、エンジンASIC7のコマンド受信バッファ15に、コマンドデータを書き込む(ステップS14)。エンジンCPU2は、エンジンASIC7のコマンド受信バッファ15に、コマンドデータのサイズを書き込む(ステップS15)。   The engine CPU 2 transmits a command transmission interrupt (command reception buffer empty) notification to the engine CPU 2 (step S13). The engine CPU 2 writes the command data in the command reception buffer 15 of the engine ASIC 7 (step S14). The engine CPU 2 writes the size of the command data in the command reception buffer 15 of the engine ASIC 7 (step S15).

エンジンASIC7は、コマンド受信割り込み通知をコントローラASIC32に送信する(ステップS16)。コントローラASIC32は、エンジンASIC7のコマンド受信バッファ15を参照して、読み出すコマンドデータのサイズを確認する(ステップS17)。コントローラASIC32は、エンジンASIC7のコマンド受信バッファ15から、コマンドデータを読み出す(ステップS18)。   The engine ASIC 7 transmits a command reception interrupt notification to the controller ASIC 32 (step S16). The controller ASIC 32 refers to the command reception buffer 15 of the engine ASIC 7 and confirms the size of the command data to be read (step S17). The controller ASIC 32 reads command data from the command reception buffer 15 of the engine ASIC 7 (step S18).

エンジンCPU2は、エンジンASIC7のコマンド送信割り込みマスクを設定する(ステップS19)。これにより、エンジンASIC7が、コマンド送信割り込み(受信バッファエンプティ)通知を、エンジンCPU2に送信できないようにする。   The engine CPU 2 sets a command transmission interrupt mask for the engine ASIC 7 (step S19). This prevents the engine ASIC 7 from transmitting a command transmission interrupt (reception buffer empty) notification to the engine CPU 2.

図5は、本実施の形態のスイッチ装置61を介してエンジン部1と、コントローラ部31と、拡張コントローラ部51とを接続した画像処理装置300の構成の一例を示す図である。画像処理装置300は、エンジン部1、コントローラ部31(第1コントローラ部31)、拡張コントローラ部51(第2コントローラ部51)、及びスイッチ装置61を備える。コントローラ部31とエンジン部1は、スイッチ装置61を介して接続される。また、拡張コントローラ部51とエンジン部1は、スイッチ装置61を介して接続される。画像処理装置300の初期設定時には、コントローラ部31及び拡張コントローラ部51からスイッチ装置61にリセット信号が送信される。また、同様に、スイッチ装置61からエンジン部1にリセット信号が送信される。画像処理装置300のエンジン部1、及びコントローラ部31の説明は、画像処理装置200と同様であるため省略する。また、拡張コントローラ部51の説明は、コントローラ部31と同様であるため省略する。   FIG. 5 is a diagram illustrating an example of a configuration of an image processing apparatus 300 in which the engine unit 1, the controller unit 31, and the expansion controller unit 51 are connected via the switch device 61 of the present embodiment. The image processing apparatus 300 includes an engine unit 1, a controller unit 31 (first controller unit 31), an extended controller unit 51 (second controller unit 51), and a switch device 61. The controller unit 31 and the engine unit 1 are connected via a switch device 61. Further, the expansion controller unit 51 and the engine unit 1 are connected via the switch device 61. When the image processing apparatus 300 is initially set, a reset signal is transmitted from the controller unit 31 and the extended controller unit 51 to the switch device 61. Similarly, a reset signal is transmitted from the switch device 61 to the engine unit 1. The descriptions of the engine unit 1 and the controller unit 31 of the image processing apparatus 300 are the same as those of the image processing apparatus 200, and are omitted. Further, the description of the extended controller unit 51 is the same as that of the controller unit 31, and therefore will be omitted.

本実施の形態のスイッチ装置61について説明する。図6は、本実施の形態のスイッチ装置61の構成の一例を示す図である。スイッチ装置61は、ダウンストリームポート62、透過部69、アプリケーション排他制御部71、コマンド排他制御部72、転送制御部73、第1アップストリームポート74、及び第2アップストリームポート81を備える。   The switch device 61 of the present embodiment will be described. FIG. 6 is a diagram illustrating an example of the configuration of the switch device 61 according to the present embodiment. The switch device 61 includes a downstream port 62, a transmission unit 69, an application exclusion control unit 71, a command exclusion control unit 72, a transfer control unit 73, a first upstream port 74, and a second upstream port 81.

ダウンストリームポート62は、物理層データ処理部63、データリンク層データ処理部64、トランザクション層データ処理部65、マスター回路66、ターゲット回路67、及びレジスタ68を備える。ダウンストリームポート62は、第1アップストリームポート74、及び第2アップストリームポート81の双方と、データを送受信する。ダウンストリームポート62の説明は、コントローラASIC32のルートコンプレックスコントローラ33と同様であるため省略する。   The downstream port 62 includes a physical layer data processing unit 63, a data link layer data processing unit 64, a transaction layer data processing unit 65, a master circuit 66, a target circuit 67, and a register 68. The downstream port 62 transmits / receives data to / from both the first upstream port 74 and the second upstream port 81. Since the description of the downstream port 62 is the same as that of the root complex controller 33 of the controller ASIC 32, the description thereof is omitted.

第1アップストリームポート74は、ターゲット回路75、マスター回路76、トランザクション層データ処理部77、データリンク層データ処理部78、物理層データ処理部79、及びレジスタ80を備える。第1アップストリームポート74は、コントローラ部31に接続される。第1アップストリームポート74の説明は、エンジンASIC7のエンドポイントコントローラ11と同様であるため省略する。   The first upstream port 74 includes a target circuit 75, a master circuit 76, a transaction layer data processing unit 77, a data link layer data processing unit 78, a physical layer data processing unit 79, and a register 80. The first upstream port 74 is connected to the controller unit 31. Since the description of the first upstream port 74 is the same as that of the endpoint controller 11 of the engine ASIC 7, it is omitted.

第2アップストリームポート81は、ターゲット回路82、マスター回路83、トランザクション層データ処理部84、データリンク層データ処理部85、物理層データ処理部86、及びレジスタ87を備える。第2アップストリームポート81は、拡張コントローラ部51に接続される。第2アップストリームポート81の説明は、エンジンASIC7のエンドポイントコントローラ11と同様であるため省略する。   The second upstream port 81 includes a target circuit 82, a master circuit 83, a transaction layer data processing unit 84, a data link layer data processing unit 85, a physical layer data processing unit 86, and a register 87. The second upstream port 81 is connected to the expansion controller unit 51. The description of the second upstream port 81 is the same as that of the endpoint controller 11 of the engine ASIC 7 and will not be repeated.

透過部69は、コンフィグ判定部70を備える。コンフィグ判定部70は、ターゲット回路75からマスター回路66に送信されるデータが、コントローラ部31からエンジン部1に送信される設定情報であるか否かを判定する。設定情報は、エンジン部1とコントローラ部31との間の接続を確立するために必要なデータである。コンフィグ判定部70は、ターゲット回路75からマスター回路66に送信されるデータが、設定情報である場合は、当該設定情報を透過する。すなわち、透過部69は、当該設定情報に、データの追加や変更、又は削除等を行わずにダウンストリームポート62のマスター回路66に転送する。また、透過部69は、マスター回路66からターゲット回路75に送信される応答データ(設定情報の応答データ)を透過する。これにより、エンジン部1とコントローラ部31との間にスイッチ装置61を追加しても、エンジン部1とコントローラ部31を、ソフトウェア等の変更をすることなく動作させることができる。   The transmission unit 69 includes a configuration determination unit 70. The configuration determination unit 70 determines whether the data transmitted from the target circuit 75 to the master circuit 66 is setting information transmitted from the controller unit 31 to the engine unit 1. The setting information is data necessary for establishing a connection between the engine unit 1 and the controller unit 31. When the data transmitted from the target circuit 75 to the master circuit 66 is setting information, the configuration determination unit 70 transmits the setting information. That is, the transmission unit 69 transfers the setting information to the master circuit 66 of the downstream port 62 without adding, changing, or deleting data. The transmission unit 69 transmits response data (setting information response data) transmitted from the master circuit 66 to the target circuit 75. Thereby, even if the switch device 61 is added between the engine unit 1 and the controller unit 31, the engine unit 1 and the controller unit 31 can be operated without changing software or the like.

コマンド排他制御部72は、第1アップストリームポート74又は第2アップストリームポート81から送信されたコマンド送信割り込みマスクを解除するコマンド(以下「送信割り込みマスク解除コマンド」という。)を検知する。コマンド排他制御部72は、送信割り込みマスク解除コマンドを先に送信しているコントローラ部(コントローラ部31又は拡張コントローラ部51)に、エンジン部1にアクセスできる権限(以下「アクセス権限」という。)を与える。すなわち、コマンド排他制御部72は、アクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定し、アクセス権限がいずれにも設定されていなければ、送信割り込みマスク解除コマンドを送信したコントローラ部(コントローラ部31又は拡張コントローラ部51)にアクセス権限を付与する。コマンド排他制御部72は、当該送信割り込みマスク解除コマンドをダウンストリームポート62に送信し、以降、アクセス権限を有するコントローラ部(コントローラ部31又は拡張コントローラ部51)のコマンドをダウンストリームポート62に送信する。   The command exclusive control unit 72 detects a command (hereinafter referred to as a “transmission interrupt mask release command”) for canceling the command transmission interrupt mask transmitted from the first upstream port 74 or the second upstream port 81. The command exclusive control unit 72 has the authority (hereinafter referred to as “access authority”) to access the engine unit 1 to the controller unit (the controller unit 31 or the extended controller unit 51) that has previously transmitted the transmission interrupt mask release command. give. That is, the command exclusive control unit 72 determines whether or not the access authority is set to either the first or second controller, and if the access authority is not set to either, the command exclusion control unit 72 issues a transmission interrupt mask release command. Access authority is given to the transmitted controller unit (controller unit 31 or expansion controller unit 51). The command exclusion control unit 72 transmits the transmission interrupt mask release command to the downstream port 62, and thereafter transmits the command of the controller unit (the controller unit 31 or the extended controller unit 51) having access authority to the downstream port 62. .

この理由は、例えば、エンジンASIC7のコマンド送信バッファ16の容量等が、対向のコントローラ部が1つの場合で設計されていた場合に、コントローラ部31、及び拡張コントローラ部51から同時期に送信されたコマンドを処理できないためである。このような場合を想定して、コマンド排他制御部72は、コマンド送信バッファ16がオーバーフローしないように、コマンドレベルで排他制御を行う。コマンド排他制御部72によるコマンドの排他制御の詳細については後述する。   This is because, for example, the capacity of the command transmission buffer 16 of the engine ASIC 7 is transmitted from the controller unit 31 and the extended controller unit 51 at the same time when the opposite controller unit is designed. This is because the command cannot be processed. Assuming such a case, the command exclusion control unit 72 performs exclusive control at the command level so that the command transmission buffer 16 does not overflow. Details of exclusive control of commands by the command exclusive control unit 72 will be described later.

アプリケーション排他制御部71は、アプリケーションのレベルでコマンドを排他制御する。これは、コマンド排他制御部72が、いずれか一方のコントローラ(コントローラ部31又は拡張コントローラ部51)にアクセス権限を与えた場合であっても、アプリケーションに応じたコマンドの排他制御が必要な場合があるためである。アプリケーション排他制御部71は、コントローラ部31、又は拡張コントローラ部51からエンジン部1に送信されるコマンドを参照し、当該コマンドを送信したアプリケーションを識別する。そして、アプリケーション排他制御部71は、コマンドの受信タイミングが競合(同時期に受信)した場合、排他が必要なアプリケーションのコマンドの組み合わせであるか否かを判定する。アプリケーション排他制御部71は、排他が必要なアプリケーションのコマンドの組み合わせである場合はコマンドを排他する。アプリケーション排他制御部71によるコマンドの排他制御の詳細については後述する。   The application exclusive control unit 71 performs exclusive control of commands at the application level. In this case, even when the command exclusive control unit 72 gives access authority to any one of the controllers (the controller unit 31 or the extended controller unit 51), exclusive control of the command according to the application may be required. Because there is. The application exclusive control unit 71 refers to a command transmitted from the controller unit 31 or the extended controller unit 51 to the engine unit 1 and identifies the application that transmitted the command. Then, when the command reception timing conflicts (received at the same time), the application exclusion control unit 71 determines whether or not the command combination of the application needs to be exclusive. The application exclusion control unit 71 excludes the command when the combination of the application commands needs to be excluded. Details of exclusive control of commands by the application exclusive control unit 71 will be described later.

なお、ターゲット回路75、及びターゲット回路82は、アプリケーション排他制御部71、及びコマンド排他制御部72の双方に、同じコマンドのデータを送信する。アプリケーション排他制御部71、及びコマンド排他制御部72の動作については、アプリケーション排他制御部71が優先して動作する。すなわち、スイッチ装置61は、アプリケーション排他制御部71、及びコマンド排他制御部72のいずれか一方からエンジン部1にコマンドを送信することにより、コマンドの排他制御を行う。   Note that the target circuit 75 and the target circuit 82 transmit the same command data to both the application exclusive control unit 71 and the command exclusive control unit 72. Regarding the operations of the application exclusive control unit 71 and the command exclusive control unit 72, the application exclusive control unit 71 operates with priority. That is, the switch device 61 performs command exclusive control by transmitting a command to the engine unit 1 from one of the application exclusive control unit 71 and the command exclusive control unit 72.

転送制御部73は、ターゲット回路67から受信したデータを、アプリケーション排他制御部71、又はコマンド排他制御部72で記憶されたコマンド情報(コマンドの識別情報や、アクセス権限の情報等)に基づいて、マスター回路76、又はマスター回路83に転送する。   The transfer control unit 73 converts the data received from the target circuit 67 based on command information (command identification information, access authority information, etc.) stored in the application exclusive control unit 71 or the command exclusive control unit 72. Transfer to the master circuit 76 or the master circuit 83.

図7は、本実施の形態のスイッチ装置61のアプリケーション排他制御部71を説明するための図である。アプリケーション排他制御部71は、受信コマンド解析部88、コマンド送信制御部89、第1代理送信バッファ90、第2代理送信バッファ91、アプリケーション判定部92、及び送信コマンド解析部93を備える。   FIG. 7 is a diagram for explaining the application exclusive control unit 71 of the switch device 61 according to the present embodiment. The application exclusion control unit 71 includes a reception command analysis unit 88, a command transmission control unit 89, a first proxy transmission buffer 90, a second proxy transmission buffer 91, an application determination unit 92, and a transmission command analysis unit 93.

送信コマンド解析部93は、ターゲット回路75、又はターゲット回路82からコマンドを受信する。送信コマンド解析部93は、コマンドを送信したアプリケーションを識別する情報(以下「識別情報」という。)や、コマンドが送信された時間等を参照する等によってコマンドを解析する。送信コマンド解析部93は、識別情報に基づいて、コマンドの排他制御が必要か否かを判定する。例えば、送信コマンド解析部93は、識別情報がコピー印刷アプリケーションであるコマンドと、識別情報がプリンタ印刷アプリケーションであるコマンドとが競合した場合は、コマンドの排他制御が必要であると判定する。送信コマンド解析部93は、コマンドの排他制御が必要ない場合は、マスター回路66にコマンドを送信する。送信コマンド解析部93は、コマンドの排他制御が必要な場合は、アプリケーション判定部92にコマンドを送信する。   The transmission command analysis unit 93 receives a command from the target circuit 75 or the target circuit 82. The transmission command analysis unit 93 analyzes the command by referring to information for identifying the application that transmitted the command (hereinafter referred to as “identification information”), the time when the command was transmitted, and the like. The transmission command analysis unit 93 determines whether or not exclusive control of the command is necessary based on the identification information. For example, when the command whose identification information is a copy printing application and the command whose identification information is a printer printing application compete with each other, the transmission command analysis unit 93 determines that exclusive control of the command is necessary. The transmission command analysis unit 93 transmits a command to the master circuit 66 when exclusive control of the command is not necessary. The transmission command analysis unit 93 transmits a command to the application determination unit 92 when exclusive control of the command is necessary.

アプリケーション判定部92は、いずれか一方のコマンド(エンジン部1へのアクセスを許すコマンド)に、エンジン部1のアクセス権限を与える。アプリケーション判定部92が、コマンドが競合した場合に、アクセス権限をどちらのコマンドに付与するか決定する方法は適宜定めてよい。例えば、コマンドの送信時刻(受信時刻)やコマンドの種類等に応じた優先度に基づいてアクセス権限を定めることができる。アプリケーション判定部92は、アクセス権限を付与したコマンドをマスター回路66に送信する。アプリケーション判定部92は、アクセス権限を付与しなかったコマンドはバッファリングする。アプリケーション判定部92は、第1アップストリームポート74から受信したコマンドをバッファリングするときは、第1代理送信バッファ90を使用する。アプリケーション判定部92は、第2アップストリームポート81から受信したコマンドをバッファリングするときは、第2代理送信バッファ91を使用する。   The application determination unit 92 gives the access authority of the engine unit 1 to any one of the commands (a command that allows access to the engine unit 1). A method for the application determining unit 92 to determine which command to grant access authority to when a command conflicts may be appropriately determined. For example, the access authority can be determined based on the priority according to the command transmission time (reception time), the command type, and the like. The application determination unit 92 transmits a command to which access authority is given to the master circuit 66. The application determination unit 92 buffers commands that have not been given access authority. The application determination unit 92 uses the first proxy transmission buffer 90 when buffering a command received from the first upstream port 74. The application determination unit 92 uses the second proxy transmission buffer 91 when buffering a command received from the second upstream port 81.

受信コマンド解析部88は、マスター回路66からアプリケーション判定部92が有するコマンド情報にリードアクセスがあった場合、当該コマンド情報を解析する。受信コマンド解析部88は、当該解析の結果に基づいて、バッファリングされているコマンドの中からマスター回路66に送信するコマンドを選択する。コマンド送信制御部89は、第1代理送信バッファ90、又は第2代理送信バッファ91を参照し、受信コマンド解析部88が選択したコマンドを、マスター回路66に送信する。   The reception command analysis unit 88 analyzes the command information when the master circuit 66 has read access to the command information included in the application determination unit 92. The reception command analysis unit 88 selects a command to be transmitted to the master circuit 66 from the buffered commands based on the analysis result. The command transmission control unit 89 refers to the first proxy transmission buffer 90 or the second proxy transmission buffer 91 and transmits the command selected by the reception command analysis unit 88 to the master circuit 66.

転送制御部73は、ターゲット回路67から送信されるコマンドの転送先を切り換える転送先セレクタ101を備える。転送制御部73は、ダウンストリームポート62から割り込み通知又はコントローラ側(コントローラ部31又は拡張コントローラ部51)へのデータアクセス要求を受ける。転送制御部73は、当該割り込み通知又は当該データアクセス要求を受けると、アプリケーション判定部92が有するコマンド情報に基づいて、転送先セレクタ101により転送先を切り換える。   The transfer control unit 73 includes a transfer destination selector 101 that switches a transfer destination of a command transmitted from the target circuit 67. The transfer control unit 73 receives an interrupt notification from the downstream port 62 or a data access request to the controller side (the controller unit 31 or the extended controller unit 51). When the transfer control unit 73 receives the interrupt notification or the data access request, the transfer destination selector 101 switches the transfer destination based on the command information included in the application determination unit 92.

図8は、本実施の形態のスイッチ装置61のコマンド排他制御部72を説明するためので図である。コマンド排他制御部72は、送信制御部94、及び受信制御部98を備える。送信制御部94は、検知部95、コントローラ判定部96、及びアクセスセレクタ97を備える。受信制御部98は受信バッファ読み出し制御部99を備える。受信バッファ読み出し制御部99は、代理受信バッファ100を備える。   FIG. 8 is a diagram for explaining the command exclusion control unit 72 of the switch device 61 according to the present embodiment. The command exclusion control unit 72 includes a transmission control unit 94 and a reception control unit 98. The transmission control unit 94 includes a detection unit 95, a controller determination unit 96, and an access selector 97. The reception control unit 98 includes a reception buffer read control unit 99. The reception buffer read control unit 99 includes a proxy reception buffer 100.

検知部95は、ターゲット回路75又はターゲット回路82から送信される送信割り込みマスク解除コマンドを検知する。コントローラ判定部96は、当該検知の結果を受信する。当該検知の結果には、例えば、送信割り込みマスク解除コマンドの送信時刻(受信時刻)等が含まれる。コントローラ判定部96は、当該検知の結果に応じて、いずれか一方のコントローラ(コントローラ部31又は拡張コントローラ部51)にエンジン部1へのアクセス権限を与える。アクセスセレクタ97は、当該アクセス権限に応じてマスター回路66に接続するコントローラを切り換える。   The detection unit 95 detects a transmission interrupt mask release command transmitted from the target circuit 75 or the target circuit 82. The controller determination unit 96 receives the detection result. The detection result includes, for example, the transmission time (reception time) of the transmission interrupt mask release command. The controller determination unit 96 gives access authority to the engine unit 1 to any one of the controllers (the controller unit 31 or the expansion controller unit 51) according to the detection result. The access selector 97 switches the controller connected to the master circuit 66 according to the access authority.

また、検知部95は、アクセス権限を有するコントローラからコマンド送信マスクを設定するコマンド(以下「送信割り込みマスク設定コマンド」という。)を検知する。コントローラ判定部96は、当該検知の結果を受信すると、当該コマンドを送信したコントローラに付与していたアクセス権限を解除する。これにより、送信制御部94は、コマンド送信マスク解除コマンド待ちとなる。   The detection unit 95 detects a command for setting a command transmission mask (hereinafter referred to as “transmission interrupt mask setting command”) from a controller having access authority. When the controller determination unit 96 receives the detection result, the controller determination unit 96 cancels the access authority given to the controller that transmitted the command. Thereby, the transmission control unit 94 waits for a command transmission mask release command.

なお、スイッチ装置61は、アクセス権限のないコントローラ部からエンジン部1に送信される送信割り込み要求解除コマンドは、アップストリームポート(第1アップストリームポート74又は第2アップストリームポート81)で受信するがエンジン部1には送信しない。すなわち、アクセス権限のないコントローラが、エンジン部1にマスク解除要求をしても、送信割り込みが発生しないため待ち状態となる。送信制御部94は、もう一方のコントローラに付与していたアクセス権限を解除した後に、エンジン部1に転送していなかった当該送信割り込み要求解除コマンドを送信する。アクセス権限の設定期間中、当該送信割り込みは、MSI転送先セレクタによりアクセス権限のあるコントローラに通知する。これにより、アクセス権限のあるコントローラは、他のコントローラからエンジン部1に送信割り込み要求解除コマンドが送信されていることを検知できる。これにより、エンジン部1の占有時間を短縮する等の制御をすることができる。   The switch device 61 receives the transmission interrupt request release command transmitted from the controller unit without access authority to the engine unit 1 at the upstream port (the first upstream port 74 or the second upstream port 81). It is not transmitted to the engine unit 1. That is, even if a controller without access authority makes a mask release request to the engine unit 1, a transmission interrupt does not occur, so that the controller enters a waiting state. The transmission control unit 94 transmits the transmission interrupt request cancel command that has not been transferred to the engine unit 1 after canceling the access authority given to the other controller. During the access authority setting period, the transmission interrupt is notified to the controller having access authority by the MSI transfer destination selector. Thereby, the controller having the access authority can detect that the transmission interrupt request release command is transmitted from the other controller to the engine unit 1. Thereby, control of shortening the occupation time of the engine part 1 can be performed.

受信制御部98は、ダウンストリームポート62のターゲット回路67から通知されるコマンド受信割り込みを受けると、エンジンASIC7のコマンド受信バッファ15からコマンドを読み出す。受信制御部98は、読み出したコマンドを代理受信バッファ100に保持する。受信バッファ読み出し制御部99は、転送先セレクタ101の設定に応じて、マスター回路76又はマスター回路83を介して、コントローラ(コントローラ部31又は拡張コントローラ部51)に受信割り込みを通知する。受信割り込みの通知を受けたコントローラは、アップストリームポート(第1アップストリームポート74又は第2アップストリームポート81)を介して代理受信バッファ100のコマンドを読み出す。   When receiving a command reception interrupt notified from the target circuit 67 of the downstream port 62, the reception control unit 98 reads a command from the command reception buffer 15 of the engine ASIC 7. The reception control unit 98 holds the read command in the proxy reception buffer 100. The reception buffer read control unit 99 notifies the controller (the controller unit 31 or the extended controller unit 51) of a reception interrupt via the master circuit 76 or the master circuit 83 according to the setting of the transfer destination selector 101. The controller that has received the notification of the reception interrupt reads the command of the proxy reception buffer 100 via the upstream port (the first upstream port 74 or the second upstream port 81).

転送制御部73は、ダウンストリームポート62から割り込み通知又はコントローラ側(コントローラ部31又は拡張コントローラ部51)へのデータアクセス要求を受ける。転送制御部73は、当該割り込み通知又は当該データアクセス要求を受けると、コントローラ判定部96が有するコマンド情報に基づいて、転送先セレクタ101により転送先を切り換える。   The transfer control unit 73 receives an interrupt notification from the downstream port 62 or a data access request to the controller side (the controller unit 31 or the extended controller unit 51). When receiving the interrupt notification or the data access request, the transfer control unit 73 switches the transfer destination by the transfer destination selector 101 based on the command information included in the controller determination unit 96.

図9は、本実施の形態の画像処理装置300のスキャナ動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部31からエンジン部1にスキャナ実行要求コマンドを送信する場合について説明する。なお、拡張コントローラ部51からエンジン部1にスキャナ実行要求コマンドを送信する場合であっても同様である。   FIG. 9 is a sequence diagram for explaining a command sequence during the scanner operation of the image processing apparatus 300 according to the present embodiment. Hereinafter, a case where a scanner execution request command is transmitted from the controller unit 31 to the engine unit 1 will be described. The same applies to a case where a scanner execution request command is transmitted from the extended controller unit 51 to the engine unit 1.

コントローラ部31は、スキャナ実行要求コマンドをエンジン部1に送信する(ステップS21)。エンジン部1は、スキャナ実行要求コマンドを受付可能であれば、コントローラ部31にスキャナ実行受付コマンドを送信する(ステップS22)。エンジン部1は、スキャナ転送準備要求コマンドをコントローラ部31に送信する(ステップS23)。コントローラ部31は、メモリの確保等、スキャナデータの受け入れ準備ができた時点でスキャナ転送準備完了コマンドをエンジン部1に送信する(ステップS24)。エンジン部1は、スキャナ読み取り開始コマンドをコントローラ部31に送信する(ステップS25)。エンジン部1は、スキャナ読み取り開始コマンドをコントローラ部31に送信後、スキャナ読み取りを実行する。この間、スキャナデータがエンジン部1からコントローラ部31に転送される。エンジン部1は、スキャナ読み取りが全て終わると、スキャナ読み取り終了コマンドをコントローラ部31に送信する(ステップS26)。   The controller unit 31 transmits a scanner execution request command to the engine unit 1 (step S21). If the engine unit 1 can accept the scanner execution request command, the engine unit 1 transmits the scanner execution acceptance command to the controller unit 31 (step S22). The engine unit 1 transmits a scanner transfer preparation request command to the controller unit 31 (step S23). The controller unit 31 transmits a scanner transfer preparation completion command to the engine unit 1 when the scanner data is ready to be received, such as securing memory (step S24). The engine unit 1 transmits a scanner reading start command to the controller unit 31 (step S25). The engine unit 1 executes the scanner reading after transmitting the scanner reading start command to the controller unit 31. During this time, the scanner data is transferred from the engine unit 1 to the controller unit 31. When all the scanner readings are completed, the engine unit 1 transmits a scanner reading end command to the controller unit 31 (step S26).

図10は、本実施の形態の画像処理装置300のプリンタ動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部31からエンジン部1に印刷実行要求コマンドを送信する場合について説明する。なお、拡張コントローラ部51からエンジン部1に印刷実行要求コマンドを送信する場合であっても同様である。   FIG. 10 is a sequence diagram for explaining a command sequence during the printer operation of the image processing apparatus 300 according to the present embodiment. Hereinafter, a case where a print execution request command is transmitted from the controller unit 31 to the engine unit 1 will be described. The same applies to the case where a print execution request command is transmitted from the extended controller unit 51 to the engine unit 1.

コントローラ部31は、印刷実行要求コマンドをエンジン部1に送信する(ステップS31)。エンジン部1は、印刷実行要求コマンドを受付可能であれば、コントローラ部31に印刷実行受付コマンドを送信する(ステップS32)。エンジン部1は、印刷実行開始コマンドをコントローラ部31に送信する(ステップS33)。エンジン部1は、給紙開始コマンドをコントローラ部31に送信する(ステップS34)。エンジン部1は、印刷画像転送準備要求コマンドをコントローラ部31に送信する(ステップS35)。コントローラ部31は、印刷画像準備完了コマンドをエンジン部1に送信する(ステップS36)。エンジン部1は、印刷が終了すると、書き込み完了コマンド、排紙完了コマンド及び印刷完了コマンドをコントローラ部31に送信し印刷処理が完了する(ステップS37、ステップS38及びステップS39)。   The controller unit 31 transmits a print execution request command to the engine unit 1 (step S31). If the engine unit 1 can accept the print execution request command, the engine unit 1 transmits the print execution acceptance command to the controller unit 31 (step S32). The engine unit 1 transmits a print execution start command to the controller unit 31 (step S33). The engine unit 1 transmits a paper feed start command to the controller unit 31 (step S34). The engine unit 1 transmits a print image transfer preparation request command to the controller unit 31 (step S35). The controller unit 31 transmits a print image preparation completion command to the engine unit 1 (step S36). When printing is completed, the engine unit 1 transmits a write completion command, a paper discharge completion command, and a print completion command to the controller unit 31 to complete the printing process (steps S37, S38, and S39).

図11は、本実施の形態の画像処理装置300のコピー動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部31のコピー動作(スキャナ実行要求コマンド及び印刷実行要求コマンドの送信)について説明する。なお、拡張コントローラ部51のコピー動作であっても同様である。   FIG. 11 is a sequence diagram for explaining a command sequence during the copy operation of the image processing apparatus 300 according to the present embodiment. Hereinafter, a copy operation (transmission of a scanner execution request command and a print execution request command) of the controller unit 31 will be described. The same applies to the copy operation of the extended controller unit 51.

画像処理装置300は、スキャナ実行要求コマンドと印刷実行要求コマンドによりコピー動作を実現する。コントローラ部31は、スキャナ実行要求コマンドをエンジン部1に送信する(ステップS41)。エンジン部1は、スキャナ実行要求コマンドを受付可能であれば、コントローラ部31にスキャナ実行受付コマンドを送信する(ステップS42)。コントローラ部31は、印刷実行要求コマンドをエンジン部1に送信する(ステップS43)。エンジン部1は、印刷実行要求コマンドを受付可能であれば、コントローラ部31に印刷実行受付コマンドを送信する(ステップS44)。エンジン部1は、スキャナ転送準備要求コマンドをコントローラ部31に送信する(ステップS45)。コントローラ部31は、メモリの確保等、スキャナデータの受け入れ準備ができた時点でスキャナ転送準備完了コマンドをエンジン部1に送信する(ステップS46)。エンジン部1は、スキャナ読み取り開始コマンドをコントローラ部31に送信する(ステップS47)。エンジン部1は、スキャナ読み取り開始コマンドをコントローラ部31に送信後、スキャナ読み取りを実行する。この間、スキャナデータがエンジン部1からコントローラ部31に転送される。エンジン部1は、給紙開始コマンドをコントローラ部31に送信する(ステップS48)。エンジン部1は、印刷画像転送準備要求コマンドをコントローラ部31に送信する(ステップS49)。コントローラ部31は、印刷画像準備完了コマンドをエンジン部1に送信する(ステップS50)。エンジン部1は、スキャナ読み取りが全て終わると、スキャナ読み取り終了コマンドをコントローラ部31に送信する(ステップS51)。エンジン部1は、印刷が終了すると、書き込み完了コマンド、排紙完了コマンド及び印刷完了コマンドをコントローラ部31に送信し印刷処理が完了する(ステップS52、ステップS53及びステップS54)。   The image processing apparatus 300 realizes a copy operation by a scanner execution request command and a print execution request command. The controller unit 31 transmits a scanner execution request command to the engine unit 1 (step S41). If the engine unit 1 can accept the scanner execution request command, the engine unit 1 transmits the scanner execution acceptance command to the controller unit 31 (step S42). The controller unit 31 transmits a print execution request command to the engine unit 1 (step S43). If the engine unit 1 can accept the print execution request command, the engine unit 1 transmits the print execution acceptance command to the controller unit 31 (step S44). The engine unit 1 transmits a scanner transfer preparation request command to the controller unit 31 (step S45). The controller unit 31 transmits a scanner transfer preparation completion command to the engine unit 1 when the scanner data is ready to be received, such as securing the memory (step S46). The engine unit 1 transmits a scanner reading start command to the controller unit 31 (step S47). The engine unit 1 executes the scanner reading after transmitting the scanner reading start command to the controller unit 31. During this time, the scanner data is transferred from the engine unit 1 to the controller unit 31. The engine unit 1 transmits a paper feed start command to the controller unit 31 (step S48). The engine unit 1 transmits a print image transfer preparation request command to the controller unit 31 (step S49). The controller unit 31 transmits a print image preparation completion command to the engine unit 1 (step S50). When all the scanner readings are completed, the engine unit 1 transmits a scanner reading end command to the controller unit 31 (step S51). When printing is completed, the engine unit 1 transmits a write completion command, a paper discharge completion command, and a print completion command to the controller unit 31 to complete the printing process (steps S52, S53, and S54).

上述のように、エンジン部1は、読み取りについては、スキャナ入力同様のシーケンスで読み取りを行う。また、エンジン部1は、印刷については、給紙開始コマンド、及び印刷画像転送準備要求コマンドをコントローラに送信する。コントローラ部31が印刷画像準備完了コマンドをエンジン部1に通知すると、コントローラ部31からエンジン部1に印刷画像の転送を行い、エンジン部1で印刷を行う。   As described above, the engine unit 1 performs reading in the same sequence as the scanner input. For printing, the engine unit 1 transmits a paper feed start command and a print image transfer preparation request command to the controller. When the controller unit 31 notifies the engine unit 1 of a print image preparation completion command, the controller unit 31 transfers the print image to the engine unit 1, and the engine unit 1 performs printing.

以上が、画像処理装置300のスキャナ動作、プリンタ動作、及びコピー動作のコントローラ部31(拡張コントローラ部51)とエンジン部1との間のコマンドシーケンスの説明である。   The above is the description of the command sequence between the controller unit 31 (extended controller unit 51) and the engine unit 1 for the scanner operation, printer operation, and copy operation of the image processing apparatus 300.

拡張コントローラ部51が、プリンタ機能を持ち、既存コントローラ(コントローラ部31)でコピー機能を受け持つ場合、プロッタ装置6がプリンタ出力とコピー出力で競合する可能性がある。アプリケーション排他制御部71の送信コマンド解析部93は、排他対象であるプロッタコマンド(印刷実行要求コマンド)を、コントローラ部31又は拡張コントローラ部51から送信される送信バッファアクセス要求コマンドのパケットから判別し抽出する。アプリケーション判定部92は、最初にプロッタ開始コマンドを要求(印刷実行要求コマンドを送信)したコントローラ部(コントローラ部31又は拡張コントローラ部51)をプロッタ装置6のオーナーに設定する(アクセス権限を与える)。転送制御部73が、エンジン部1から、アクセス権限を有するコントローラ部(コントローラ部31又は拡張コントローラ部51)へ送信されるパケットからプロッタ処理完了通知コマンドを判別し抽出すると、アプリケーション判定部92は、プロッタ装置6のオーナー設定を解除する(アクセス権限を解除する)。なお、プロッタ装置6の印刷処理が複数ページにわたる場合は、ページ数分のプロッタ開始コマンドとプロッタ処理完了通知コマンドとが発生する。そのため、アプリケーション判定部92は、ページ数のカウントをしてページ数分のプロッタ処理完了通知コマンドを受信してから、プロッタ装置6のオーナー設定を解除する。スイッチ装置61は、プロッタ装置6のオーナーがいずれかのコントローラ部(コントローラ部31又は拡張コントローラ部51)に設定されている間は、スイッチ内のダミー送信バッファ(第1代理送信バッファ90又は第2代理送信バッファ91)で、アクセス権限のないコントローラ部から送信されたプロッタコマンドを保留する。これにより、アプリケーション排他制御部71は、プロッタ処理受付通知コマンドを、アクセス権限のないコントローラ部(コントローラ部31又は拡張コントローラ部51)に返さないことにより、アクセス権限のないコントローラ部の印刷処理を待たせる。   When the extended controller unit 51 has a printer function and the existing controller (controller unit 31) has a copy function, there is a possibility that the plotter device 6 may compete between the printer output and the copy output. The transmission command analysis unit 93 of the application exclusion control unit 71 discriminates and extracts the plotter command (print execution request command) to be excluded from the packet of the transmission buffer access request command transmitted from the controller unit 31 or the extended controller unit 51. To do. The application determination unit 92 sets the controller unit (the controller unit 31 or the extended controller unit 51) that first requests a plotter start command (transmits a print execution request command) as the owner of the plotter device 6 (gives access authority). When the transfer control unit 73 determines and extracts the plotter processing completion notification command from the packet transmitted from the engine unit 1 to the controller unit (the controller unit 31 or the extended controller unit 51) having access authority, the application determination unit 92 The owner setting of the plotter device 6 is canceled (access authority is canceled). When the printing process of the plotter device 6 covers a plurality of pages, a plotter start command and a plotter process completion notification command for the number of pages are generated. Therefore, the application determination unit 92 counts the number of pages, receives the plotter processing completion notification command for the number of pages, and then cancels the owner setting of the plotter device 6. While the owner of the plotter device 6 is set to one of the controller units (the controller unit 31 or the extended controller unit 51), the switch device 61 is a dummy transmission buffer (the first proxy transmission buffer 90 or the second transmission buffer) in the switch. In the proxy transmission buffer 91), the plotter command transmitted from the controller unit without access authority is put on hold. As a result, the application exclusion control unit 71 waits for the printing process of the controller unit without the access authority by not returning the plotter process reception notification command to the controller unit without the access authority (the controller unit 31 or the extended controller unit 51). Make it.

なお、スキャナ装置5のスキャナ動作と、プロッタ装置6のプリンタ動作のようにアプリケーションが競合しない場合は、アプリケーション排他制御部71は動作しない。コマンド排他制御部72が、コマンド単位の排他制御をすることにより、スキャナアプリケーションとプリンタ印刷アプリケーションを並行して動作させることができる。   Note that the application exclusive control unit 71 does not operate when there is no conflict between applications such as the scanner operation of the scanner device 5 and the printer operation of the plotter device 6. The command exclusive control unit 72 performs exclusive control in units of commands, whereby the scanner application and the printer printing application can be operated in parallel.

なお、アプリケーション排他制御部71が、コマンド排他制御部72によりエンジン部1へのアクセス権限を有するコントローラ部(コントローラ部31又は拡張コントローラ部51)が送信したアプリケーションのコマンドと、当該アクセス権限を有さないコントローラ部のコマンドを同時期に受信した場合、当該アクセス権限を有さないコントローラ部のコマンドが先に処理される場合がある。これは、アプリケーション排他制御部71が、コマンド排他制御部72よりも優先して動作するためである。このときは、コマンド排他制御部72は、当該アクセス権限を一時的に解除し、当該アクセス権限を有していなかったコントローラ部(コントローラ部31又は拡張コントローラ部51)に当該アクセス権限を与える。   The application exclusive control unit 71 has the command of the application transmitted by the controller unit (the controller unit 31 or the extended controller unit 51) having the access authority to the engine unit 1 by the command exclusive control unit 72 and the access authority. When a command from a controller unit that does not have the same access is received at the same time, the command from the controller unit that does not have the access authority may be processed first. This is because the application exclusive control unit 71 operates with priority over the command exclusive control unit 72. At this time, the command exclusion control unit 72 temporarily cancels the access authority, and gives the access authority to the controller unit (the controller unit 31 or the extended controller unit 51) that did not have the access authority.

本実施の形態のスイッチ装置61によれば、透過部69、及びコマンド排他制御部72を備えることにより、コントローラ部31とエンジン部1のソフトウェアを変更せずに、エンジン部1に拡張コントローラ部51を接続して動作させることができる。   According to the switch device 61 of the present embodiment, by providing the transmission unit 69 and the command exclusive control unit 72, the extended controller unit 51 is added to the engine unit 1 without changing the software of the controller unit 31 and the engine unit 1. Can be connected and operated.

1 エンジン部
2 エンジンCPU
3 ROM
4 RAM
5 スキャナ装置
6 プロッタ装置
7 エンジンASIC
8 バスI/F
9 スキャナI/F
10 プロッタI/F
11 エンドポイントコントローラ
12 レジスタ
13 割り込みコントローラ
14 コミュニケーション制御部
15 コマンド受信バッファ
16 コマンド送信バッファ
17 コントローラ側割り込み生成回路
18 ターゲット回路
19 マスター回路
20 トランザクション層データ処理部
21 データリンク層データ処理部
22 物理層データ処理部
31 コントローラ部(第1コントローラ部)
32 コントローラASIC
33 ルートコンプレックスコントローラ
34 レジスタ
35 バスI/F
36 メモリコントローラ
37 コントローラCPU
38 RAM
39 ROM
40 物理層データ処理部
41 データリンク層データ処理部
42 トランザクション層データ処理部
43 マスター回路
44 ターゲット回路
45 アドレスデコーダ
46 アービタ
47 割り込みコントローラ
51 拡張コントローラ部(第2コントローラ部)
61 スイッチ装置
62 ダウンストリームポート
63 物理層データ処理部
64 データリンク層データ処理部
65 トランザクション層データ処理部
66 マスター回路
67 ターゲット回路
68 レジスタ
69 透過部
70 コンフィグ判定部
71 アプリケーション排他制御部
72 コマンド排他制御部
73 転送制御部
74 第1アップストリームポート
75 ターゲット回路
76 マスター回路
77 トランザクション層データ処理部
78 データリンク層データ処理部
79 物理層データ処理部
80 レジスタ
81 第2アップストリームポート
82 ターゲット回路
83 マスター回路
84 トランザクション層データ処理部
85 データリンク層データ処理部
86 物理層データ処理部
87 レジスタ
88 受信コマンド解析部
89 コマンド送信制御部
90 第1代理送信バッファ
91 第2代理送信バッファ
92 アプリケーション判定部
93 送信コマンド解析部
94 送信制御部
95 検知部
96 コントローラ判定部
97 アクセスセレクタ
98 受信制御部
99 受信バッファ読み出し制御部
100 代理受信バッファ
101 転送先セレクタ
200 画像処理装置
300 画像処理装置
1 Engine part 2 Engine CPU
3 ROM
4 RAM
5 Scanner device 6 Plotter device 7 Engine ASIC
8 Bus I / F
9 Scanner I / F
10 Plotter I / F
DESCRIPTION OF SYMBOLS 11 Endpoint controller 12 Register 13 Interrupt controller 14 Communication control part 15 Command reception buffer 16 Command transmission buffer 17 Controller side interrupt generation circuit 18 Target circuit 19 Master circuit 20 Transaction layer data processing part 21 Data link layer data processing part 22 Physical layer data Processing unit 31 Controller unit (first controller unit)
32 Controller ASIC
33 Root complex controller 34 Register 35 Bus I / F
36 Memory controller 37 Controller CPU
38 RAM
39 ROM
40 physical layer data processing unit 41 data link layer data processing unit 42 transaction layer data processing unit 43 master circuit 44 target circuit 45 address decoder 46 arbiter 47 interrupt controller 51 extended controller unit (second controller unit)
61 switch device 62 downstream port 63 physical layer data processing unit 64 data link layer data processing unit 65 transaction layer data processing unit 66 master circuit 67 target circuit 68 register 69 transparent unit 70 configuration determination unit 71 application exclusive control unit 72 command exclusive control Unit 73 transfer control unit 74 first upstream port 75 target circuit 76 master circuit 77 transaction layer data processing unit 78 data link layer data processing unit 79 physical layer data processing unit 80 register 81 second upstream port 82 target circuit 83 master circuit 84 Transaction layer data processing unit 85 Data link layer data processing unit 86 Physical layer data processing unit 87 Register 88 Receive command analysis unit 89 Command Transmission control unit 90 first proxy transmission buffer 91 second proxy transmission buffer 92 application determination unit 93 transmission command analysis unit 94 transmission control unit 95 detection unit 96 controller determination unit 97 access selector 98 reception control unit 99 reception buffer read control unit 100 proxy Reception buffer 101 Transfer destination selector 200 Image processing device 300 Image processing device

特許第4398386号公報Japanese Patent No. 4398386

Claims (8)

エンジン部に接続するダウンストリームポートと、
第1コントローラ部に接続する第1アップストリームポートと、
第2コントローラ部に接続する第2アップストリームポートと、
前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、
前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与し、前記第1コマンドを前記ダウンストリームポートに送信するコマンド排他制御部と
を備えるスイッチ装置。
A downstream port connected to the engine,
A first upstream port connected to the first controller unit;
A second upstream port connected to the second controller unit;
When the setting information for establishing a connection between the first controller unit and the engine unit transmitted to the downstream port is received from the first upstream port, the received setting information is transmitted to the downstream port. A transparent part to transfer to,
When detecting a first command for canceling the command transmission interrupt mask of the engine unit transmitted from the first or second upstream port to the downstream port, an access authority indicating an authority to access the engine unit is It is determined whether it is set to either the first or the second controller, and if the access authority is not set to any, the access authority is given to the controller unit that transmitted the first command, A switch device comprising: a command exclusive control unit that transmits a first command to the downstream port.
前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信する第2コマンドを、前記第2コマンドに含まれるアプリケーションを識別する識別情報に応じて排他制御するアプリケーション排他制御部
を更に備える請求項1に記載のスイッチ装置。
The application exclusive control part which carries out exclusive control of the 2nd command transmitted to the said downstream port from the said 1st or 2nd upstream port according to the identification information which identifies the application contained in the said 2nd command. The switch device according to 1.
前記ダウンストリームポートから送信される第3コマンドを、前記アクセス権限を有する第1コントローラ部が接続された第1アップストリームポート、又は前記アクセス権限を有する第2コントローラ部が接続された第2アップストリームポートに転送する転送制御部
を更に備える請求項1又は2に記載のスイッチ装置。
The third command transmitted from the downstream port is transmitted to the first upstream port to which the first controller unit having the access authority is connected, or to the second upstream to which the second controller unit having the access authority is connected. The switch device according to claim 1, further comprising a transfer control unit configured to transfer to a port.
前記コマンド排他制御部は、
前記アクセス権限が第1又は第2コントローラ部に設定されているとき、アクセス権限を有しない第1コントローラ部又はアクセス権限を有しない第2コントローラ部から送信された前記第1コマンドを受信しても前記ダウンストリームポートに送信しない
請求項1乃至3のいずれか1項に記載のスイッチ装置。
The command exclusive control unit
When the access authority is set in the first or second controller unit, the first command transmitted from the first controller unit having no access authority or the second controller unit not having the access authority may be received. The switch device according to claim 1, wherein the switch device is not transmitted to the downstream port.
前記アプリケーション排他制御部は、
前記識別情報がプリンタ印刷アプリケーションであるコマンドと、前記識別情報がコピー印刷アプリケーションであるコマンドとを排他制御する
請求項1乃至4のいずれか1項に記載のスイッチ装置。
The application exclusive control unit
5. The switch device according to claim 1, wherein exclusive control is performed on a command whose identification information is a printer printing application and a command whose identification information is a copy printing application. 6.
前記第1アップストリームポートは、
前記第1コントローラ部から受信したコマンドを前記コマンド排他制御部と前記アプリケーション排他制御部とに送信し、
前記第2アップストリームポートは、
前記第2コントローラ部から受信したコマンドを前記コマンド排他制御部と前記アプリケーション排他制御部とに送信し、
前記コマンド排他制御部は、
前記アプリケーション排他制御部が動作しないときに動作し、前記アプリケーション排他制御部が動作するときには動作しない
請求項1乃至5のいずれか1項に記載のスイッチ装置。
The first upstream port is
The command received from the first controller unit is transmitted to the command exclusive control unit and the application exclusive control unit,
The second upstream port is
Sending the command received from the second controller unit to the command exclusive control unit and the application exclusive control unit;
The command exclusive control unit
The switch device according to any one of claims 1 to 5, wherein the switch device operates when the application exclusive control unit does not operate, and does not operate when the application exclusive control unit operates.
エンジン部と、
第1コントローラ部と、
第2コントローラ部と、
スイッチ装置とを備え、
前記スイッチ装置は、
エンジン部に接続するダウンストリームポートと、
第1コントローラ部に接続する第1アップストリームポートと、
第2コントローラ部に接続する第2アップストリームポートと、
前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、
前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与し、前記第1コマンドを前記ダウンストリームポートに送信するコマンド排他制御部と
を備える画像処理装置。
An engine unit,
A first controller unit;
A second controller unit;
A switch device,
The switch device is
A downstream port connected to the engine,
A first upstream port connected to the first controller unit;
A second upstream port connected to the second controller unit;
When the setting information for establishing a connection between the first controller unit and the engine unit transmitted to the downstream port is received from the first upstream port, the received setting information is transmitted to the downstream port. A transparent part to transfer to,
When detecting a first command for canceling the command transmission interrupt mask of the engine unit transmitted from the first or second upstream port to the downstream port, an access authority indicating an authority to access the engine unit is It is determined whether it is set to either the first or the second controller, and if the access authority is not set to any, the access authority is given to the controller unit that transmitted the first command, An image processing apparatus comprising: a command exclusive control unit that transmits a first command to the downstream port.
エンジン部に接続するダウンストリームポートと、第1コントローラ部に接続する第1アップストリームポートと、第2コントローラ部に接続する第2アップストリームポートとを備えるスイッチ装置の排他制御方法であって、
透過部が、前記第1アップストリームポートから、前記ダウンストリームポートに送信される前記第1コントローラ部と前記エンジン部との接続を確立するための設定情報を受信するステップと、
透過部が、受信した設定情報を前記ダウンストリームポートに転送するステップと、
コマンド排他制御部が、前記第1又は第2アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第1コマンドを検知するステップと、
コマンド排他制御部が、前記エンジン部にアクセスする権限を表すアクセス権限が第1又は第2コントローラのいずれかに設定されているか否かを判定するステップと、
コマンド排他制御部が、前記アクセス権限がいずれにも設定されていなければ、前記第1コマンドを送信したコントローラ部にアクセス権限を付与するステップと、
コマンド排他制御部が、前記第1コマンドを前記ダウンストリームポートに送信するステップと
を含む排他制御方法。
An exclusive control method for a switch device comprising a downstream port connected to an engine unit, a first upstream port connected to a first controller unit, and a second upstream port connected to a second controller unit,
A transmission unit receiving setting information for establishing a connection between the first controller unit and the engine unit transmitted from the first upstream port to the downstream port;
A transmitting unit forwarding the received setting information to the downstream port;
A step of detecting a first command for canceling a command transmission interrupt mask of the engine unit transmitted from the first or second upstream port to the downstream port;
A step in which the command exclusive control unit determines whether or not an access authority representing an authority to access the engine unit is set in either the first or second controller;
A command exclusive control unit, if the access authority is not set to any of them, the step of granting the access authority to the controller unit that has transmitted the first command;
A command exclusive control unit comprising: transmitting the first command to the downstream port.
JP2013015893A 2013-01-30 2013-01-30 Switch device, image processing device, and exclusive control method Expired - Fee Related JP6171367B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013015893A JP6171367B2 (en) 2013-01-30 2013-01-30 Switch device, image processing device, and exclusive control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013015893A JP6171367B2 (en) 2013-01-30 2013-01-30 Switch device, image processing device, and exclusive control method

Publications (2)

Publication Number Publication Date
JP2014146278A true JP2014146278A (en) 2014-08-14
JP6171367B2 JP6171367B2 (en) 2017-08-02

Family

ID=51426464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013015893A Expired - Fee Related JP6171367B2 (en) 2013-01-30 2013-01-30 Switch device, image processing device, and exclusive control method

Country Status (1)

Country Link
JP (1) JP6171367B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630865B2 (en) 2018-06-18 2020-04-21 Ricoh Company, Ltd. Image forming apparatus incorporating control circuitry for executing control method to arbitrate access between signals referring priority settings

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6448160A (en) * 1987-08-19 1989-02-22 Fujitsu Ltd Serial interface control system
JP2000231458A (en) * 1999-02-10 2000-08-22 Seiko Epson Corp Composite device apparatus, composite device system, composite device controlling method and medium in which composite device control program is recorded
JP2007213411A (en) * 2006-02-10 2007-08-23 Matsushita Electric Ind Co Ltd Bus bridge device
JP2011065514A (en) * 2009-09-18 2011-03-31 Renesas Electronics Corp Data processor and data processing system
JP2011248662A (en) * 2010-05-27 2011-12-08 Nec Corp Multi-host system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6448160A (en) * 1987-08-19 1989-02-22 Fujitsu Ltd Serial interface control system
JP2000231458A (en) * 1999-02-10 2000-08-22 Seiko Epson Corp Composite device apparatus, composite device system, composite device controlling method and medium in which composite device control program is recorded
JP2007213411A (en) * 2006-02-10 2007-08-23 Matsushita Electric Ind Co Ltd Bus bridge device
JP2011065514A (en) * 2009-09-18 2011-03-31 Renesas Electronics Corp Data processor and data processing system
JP2011248662A (en) * 2010-05-27 2011-12-08 Nec Corp Multi-host system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630865B2 (en) 2018-06-18 2020-04-21 Ricoh Company, Ltd. Image forming apparatus incorporating control circuitry for executing control method to arbitrate access between signals referring priority settings

Also Published As

Publication number Publication date
JP6171367B2 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
JP2012064021A (en) Communication system, master device and slave device, and communication method
JP2019016063A (en) Data transfer apparatus and data transfer method
US7340544B2 (en) Method of using bus and bus interface
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
US10630865B2 (en) Image forming apparatus incorporating control circuitry for executing control method to arbitrate access between signals referring priority settings
KR102303424B1 (en) Direct memory access control device for at least one processing unit having a random access memory
JP2007122410A (en) Bus arbitration circuit and method
JP6171367B2 (en) Switch device, image processing device, and exclusive control method
TWI750386B (en) Bus system
JP4446968B2 (en) Data processing device
JP4175974B2 (en) Image data transfer control device
US8713205B2 (en) Data transfer device and data transfer method
JP2017156924A (en) Information processor, data transfer device, control method for data transfer device, and program
JP2010108275A (en) Bus control device
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP2006285872A (en) Multi-cpu system
JP6430710B2 (en) Data transfer control device and data transfer control method
JP6384359B2 (en) Information processing apparatus having distributed shared memory, method, and program
TWI230863B (en) Input/output system and method for transferring control and data, and arbiter for coordinating data communication
JP7087419B2 (en) Data receiving device, data transmission / reception system, and control method of data transmission / reception system
JP4791341B2 (en) Data transfer system
JP2006277363A (en) Information transfer system, and image forming device
JP2009015783A (en) Interface controller
JP2006092077A (en) Bus system
JPH11184805A (en) Bus system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R151 Written notification of patent or utility model registration

Ref document number: 6171367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees