(57)【要約】【課題】ＡＳＩＣの汎用性を向上させることを目的としている。【解決手段】第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する変換部と、前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する調停部と、を有する制御装置である。【選択図】図２
2019219803.tif 000002
【特許請求の範囲】
【請求項１】
第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する変換部と、
前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する調停部と、を有する制御装置。
【請求項２】
前記第一の信号の入力を受け付けるインターフェイス制御部と、
前記第二の信号の入力を受け付けるＣＰＵインターフェイス部と、を有し、
前記インターフェイス制御部は、前記変換部を含み、
前記ＣＰＵインターフェイス部は、前記調停部を含む、請求項１記載の制御装置。
【請求項３】
前記ＣＰＵインターフェイス部は、
前記調停部による調停の方式が設定される設定用レジスタを有する、請求項２記載の制御装置。
【請求項４】
前記設定用レジスタは、
前記変換部から出力された第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスと、に対する優先度が設定される、請求項３記載の制御装置。
【請求項５】
前記第一の信号の入力と、前記第二の信号の入力と、を受け付ける通信バッファ部と、
前記第一の信号を出力する第一のＣＰＵと、前記第二の信号を出力する第二のＣＰＵと、に対して割り込み信号を出力する割り込み制御部と、を有し、
前記割り込み制御部は、
前記通信バッファ部に対する第一の信号の入力を受けて、前記第二のＣＰＵに対して割り込み信号を出力し、
前記通信バッファ部に対する第二の信号の入力を受けて、前記第一のＣＰＵに対して割り込み信号を出力する、請求項２記載の制御装置。
【請求項６】
前記ＣＰＵインターフェイス部によりリード／ライトされるレジスタ部を有し、
前記ＣＰＵインターフェイス部は、
前記第二のＣＰＵから、前記割り込み信号に応答する信号の入力を受けて、前記第二のＣＰＵによるアクセスの可否を判定し、アクセスが許可されている場合に、前記第二のＣＰＵから入力される信号に応じて前記レジスタ部へのリード／ライトを行い、
前記インターフェイス制御部は、
前記第一のＣＰＵから、前記割り込み信号に応答する信号の入力を受けて、前記第一のＣＰＵによるアクセスの可否を判定し、アクセスが許可されている場合に、前記変換部により、前記第一のＣＰＵから入力される前記第一の信号を前記第二の信号に変換して、前記ＣＰＵインターフェイス部へ出力する、請求項５記載の制御装置。
【請求項７】
前記インターフェイス制御部は、
前記第一の信号が、不正な入力であるか否かを判定し、不正な入力である場合、前記第一のＣＰＵへエラーを通知する、請求項２記載の制御装置。
【請求項８】
前記第一の通信規格は、ＰＣＴＥｘｐｒｅｓｓ規格であり、
前記割り込み制御部は、
前記第一のＣＰＵに対する割り込み信号を、前記第一の通信規格に準じたパケットとして出力する、請求項５乃至７の何れか一項に記載の制御装置。
【請求項９】
前記インターフェイス制御部は、
前記第一の信号の入力を受けて、前記ＣＰＵインターフェイス部に前記第二のＣＰＵが接続されているか否かを判定する、請求項５乃至８の何れか一項に記載の制御装置。
【請求項１０】
スキャナにより読み取られた画像データに対する画像処理を行うスキャナ画像処理部と、
プロッタから出力される画像データに対する画像処理を行うプロッタ画像処理部と、を有する、請求項１乃至９の何れか一項に記載の制御装置。
【請求項１１】
画像を読み取って画像データとするスキャナと、
画像データに基づく画像を記録媒体に形成するプロッタと、
制御装置を有し、
前記制御装置は、
前記スキャナにより読み取られた画像データに対する画像処理を行うスキャナ画像処理部と、
前記プロッタから出力される画像の元となる画像データに対する画像処理を行うプロッタ画像処理部と、
第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する変換部と、
前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する調停部と、を有する、画像形成装置。
【請求項１２】
制御装置による制御方法であって、
変換部により、第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する手順と、
調停部により、前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する手順と、を有する制御方法。
【請求項１３】
コンピュータによる制御プログラムであって、
変換部により、第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する処理と、
調停部により、前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する処理と、を前記コンピュータに実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、画像形成装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
従来から、ＡＳＩＣ（application specific integrated circuit）やＦＰＧＡ（field-programmable gate array）等のデバイスを搭載し、これらのデバイスで画像処理を行うことで、画像の品質を向上させる画像形成装置が知られている。また、この画像形成装置では、これらのデバイスとＣＰＵ（Central Processing Unit）とをシリアルインターフェイス等で接続し、一定の性能で画像データの処理と転送を行うことが知られている。
【０００３】
具体的には、例えば、エンジンボードとコントローラボードとのそれぞれに、ＡＳＩＣと、ＡＳＩＣを制御するＣＰＵとが搭載され、ＡＳＩＣ同士がＰＣＩｅ（PCI Express）バスで接続された画像形成装置が知られている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来のＡＳＩＣは、ＡＳＩＣと直接接続されたＣＰＵによって制御される構成であり、バスを介して接続されたＣＰＵから制御することができない。このため、従来では、ＡＳＩＣとＣＰＵとを同じボードに実装する構成としなければ、ＡＳＩＣを使用することができない。
【０００５】
開示の技術は、上記事情に鑑みてこれを解決すべく成されたものであり、ＡＳＩＣの汎用性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
開示の技術は、第一の通信規格に準じた第一の信号を第二の通信規格に準じた第二の信号に変換して出力する変換部と、前記変換部から出力された前記第二の信号によるアクセスと、外部から入力された前記第二の信号によるアクセスとの競合を調停する調停部と、を有する制御装置である。
【発明の効果】
【０００７】
ＡＳＩＣの汎用性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態の画像形成装置を説明する図である。
【図２】第一の実施形態のＡＳＩＣの構成の概略を説明する図である。
【図３】第一の実施形態のＣＰＵ  Ｉ／Ｆ部の構成の概略を説明する図である。
【図４】第一の実施形態の優先度の設定について説明する図である。
【図５】第一の実施形態の画像形成装置の動作を説明する第一のフローチャートである。
【図６】第一の実施形態の画像形成装置の動作を説明する第二のフローチャートである。
【図７】第一の実施形態の画像形成装置の動作を説明する第三のフローチャートである。
【図８】第一の実施形態の画像形成装置の動作を説明する第四のフローチャートである。
【図９】第二の実施形態の画像形成装置を説明する図である。
【図１０】第三の実施形態の画像形成装置を説明する図である。
【発明を実施するための形態】
【０００９】
（第一の実施形態）
以下に、図面を参照して、第一の実施形態について説明する。図１は、第一の実施形態の画像形成装置を説明する図である。図１では、画像形成装置１００の構成の概略を示している。
【００１０】
本実施形態の画像形成装置１００は、ＩＰＵ（Image Processing Unit）ボード２００と、コントローラボード３００と、スキャナ４００と、プロッタ５００とを有する。ＩＰＵボード２００とコントローラボード３００とは、ＰＣＩｅ（PCI Express）バスＢによって接続されている。以下の説明では、ＰＣＩｅバスＢを単にバスＢと呼ぶ。
【００１１】
ＩＰＵボード２００は、スキャナインターフェイス部２１０、プロッタインターフェイス部２２０、ＩＰＵ  ＡＳＩＣ２３０、エンジンＣＰＵ２４０を有する。
【００１２】
スキャナインターフェイス部２１０は、スキャナ４００が読み取った画像データを取得し、ＩＰＵ  ＡＳＩＣ２３０に渡す。プロッタインターフェイス部２２０は、コントローラボード３００から転送された画像データを、ＩＰＵ  ＡＳＩＣ２３０を介してプロッタ５００へ渡す。以下の説明では、ＩＰＵ  ＡＳＩＣ２３０を、単にＡＳＩＣ２３０と呼ぶ。
【００１３】
ＡＳＩＣ２３０は、スキャナインターフェイス部２１０から渡された画像データや、コントローラボード３００から転送された画像データに対して、各種の画像処理を行う。また、ＡＳＩＣ２３０は、画像処理を行った画像データを、コントローラボード３００やプロッタインターフェイス部２２０へ転送する。
【００１４】
また、本実施形態のＡＳＩＣ２３０は、バスＢを介してコントローラボード３００から入力された信号を受けて、この信号に応じた動作を行う。言い換えれば、ＡＳＩＣ２３０は、コントローラＣＰＵ３１０と、ＰＣＴＥｘｐｒｅｓｓ規格（第一の接続に関する規格）に基づき接続されており、ＰＣＴＥｘｐｒｅｓｓ規格に基づく信号をコントローラボード３００から受け付ける。
【００１５】
また、ＡＳＩＣ２３０は、エンジンＣＰＵ２４０とＩＰＵボード２００上で直接接続されており、エンジンＣＰＵ２４０から信号の入力を受け付ける。言い換えれば、ＡＳＩＣ２３０は、ＡＳＩＣ２３０と直接接続されたエンジンＣＰＵ２４０との間で決められた規格（第二の接続に関する規格）に基づき、エンジンＣＰＵ２４０と接続されており、この規格に基づく信号をエンジンＣＰＵ２４０から受け付ける。
【００１６】
また、本実施形態のＡＳＩＣ２３０は、コントローラボード３００から入力された信号を、ＡＳＩＣ２３０と直接接続されたエンジンＣＰＵ２４０との間で決められた規格の信号に変換し、変換された信号に基づく処理を実行する。
【００１７】
さらに、本実施形態のＡＳＩＣ２３０は、エンジンＣＰＵ２４０からのアクセスと、コントローラＣＰＵ３１０からのアクセスとの競合を調停する。ＡＳＩＣ２３０の詳細は後述する。
【００１８】
つまり、本実施形態のＡＳＩＣ２３０は、第一の接続に関する規格に基づく第一の信号を、第二の接続に関する規格に基づく第二の信号に変換して出力する変換部と、変換部から出力された第二の信号によるアクセスと、外部から入力された第二の信号によるアクセスとの競合を調停する調停部とを有する制御装置である。
【００１９】
エンジンＣＰＵ２４０は、ＡＳＩＣ２３０を介して、スキャナ４００とプロッタ５００を含むエンジン部を制御する。
【００２０】
本実施形態のコントローラボード３００は、コントローラＣＰＵ３１０、メインメモリ３２０、ＨＤＤ（hard disk drive）３３０を有する。
【００２１】
コントローラＣＰＵ３１０は、画像形成装置１００の動作を制御する。また、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０を制御して、ＡＳＩＣ２３０に各種の処理を実行させる。
【００２２】
メインメモリ３２０は、コントローラＣＰＵ３１０が取得した画像データが格納される記憶装置である。ＨＤＤ３３０は、画像形成装置１００に入力された画像データ等が蓄積される。
【００２３】
以下に、画像形成装置１００の動作の概要を接続する。
【００２４】
本実施形態の画像形成装置１００では、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０を介してＰＣＩｅのコンフィグレーションを実施し、コントローラＣＰＵ３１０とＡＳＩＣ２３０との接続（リンク）を確立させる。
【００２５】
また、画像形成装置１００では、スキャナ４００が画像データを読み取ると、スキャナインターフェイス部２１０を介して取得した画像データをＡＳＩＣ２３０に入力する。
【００２６】
エンジンＣＰＵ２４０は、画像データがＡＳＩＣ２３０に入力されると、この画像データに対し、画像処理や画像転送を行うため、ＡＳＩＣ２３０の制御を行う。ＡＳＩＣ２３０において画像処理が施された画像データは、コントローラＣＰＵ３１０へ転送され、コントローラＣＰＵ３１０を介してメインメモリ３２０に格納される。
【００２７】
また、画像形成装置１００において、プロッタ５００から画像を出力する場合、コントローラＣＰＵ３１０は、メインメモリ３２０から画像データを読み出し、ＡＳＩＣ２３０へ画像データを転送する。このとき、ＡＳＩＣ２３０は、エンジンＣＰＵ２４０からの制御により画像データの読み出しを行い、後段のプロッタインターフェイス部２２０へ画像データを出力する。
【００２８】
このように、本実施形態のＡＳＩＣ２３０は、上述したスキャナ４００による画像データの読み取りや、プロッタ５００による画像の出力の動作の際に、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０との両方から制御される。
【００２９】
つまり、本実施形態のＡＳＩＣ２３０は、ＡＳＩＣ２３０と同じボード上に実装されたＣＰＵ以外のＣＰＵからの制御も受け付けることができ、ＡＳＩＣ２３０の汎用性を向上させることができる。
【００３０】
以下に、本実施形態のＡＳＩＣ２３０について説明する。図２は、第一の実施形態のＡＳＩＣの構成の概略を説明する図である。
【００３１】
本実施形態のＡＳＩＣ２３０は、スキャナ画像処理部２３１、プロッタ画像処理部２３２、ＰＣＩｅ  Ｉ／Ｆ（インターフェイス）制御部２３３、通信バッファ部２３４、割り込み制御部２３５、ＣＰＵ  Ｉ／Ｆ（インターフェイス）部２３６、レジスタ部２３７を有する。
【００３２】
スキャナ画像処理部２３１は、スキャナインターフェイス部２１０から入力された画像データに対する画像処理を行う。具体的には、スキャナ画像処理部２３１は、画像上のノイズ除去やスキャナ光学系のレンズ特性起因の倍率誤差の補正、ライン間のデータを補正、濃度ムラの補正、スキャナ読み取り時の傾き補正、フィルタ処理、変倍処理等の画像処理を行う。
【００３３】
プロッタ画像処理部２３２は、ＰＣＩｅＩ／Ｆ制御部２３３から出力される画像データに対して画像処理を行い、プロッタインターフェイス部２２０へ出力する。具体的には、プロッタ画像処理部２３２は、解像度変換、階調処理、領域拡張／縮小、地紋合成といった画像処理を行う。
【００３４】
ＰＣＩｅＩ／Ｆ制御部２３３は、コントローラＣＰＵ３１０からの信号を受けて、この信号が示すアドレスや制御信号から適切なアクセス先に割り振る。以下の説明では、ＰＣＩｅＩ／Ｆ制御部２３３を、インターフェイス制御部２３３と呼ぶ。
【００３５】
インターフェイス制御部２３３は、コントローラＣＰＵ３１０から受け付けた信号を、アドレスへ割り振る際に、不正なアクセスか否かを判定する。言い換えれば、インターフェイス制御部２３３は、コントローラＣＰＵ３１０から入力された信号が、不正な入力であるか否かを判定する。そして、インターフェイス制御部２３３は、不正なアクセスであると判定した場合に、この信号の出力元であるコントローラＣＰＵ３１０にエラーを通知する。
【００３６】
また、インターフェイス制御部２３３は、バスＢを介した割り込みの制御を行う。インターフェイス制御部２３３から、バスＢを経由して出力される割り込みは、データ転送等と同じように、パケットとして、コントローラＣＰＵ３１０に対して通知されても良い。
【００３７】
また、本実施形態のインターフェイス制御部２３３は、変換部２３８を有する。
【００３８】
変換部２３８は、コントローラＣＰＵ３１０から受け付けた信号が示すアドレスが、ＡＳＩＣ２３０のレジスタ部２３７の領域を示すアドレスであった場合に、この信号を、エンジンＣＰＵ２４０とＡＳＩＣ２３０との間で決められた規格の信号に変換する。
【００３９】
つまり、変換部２３８は、コントローラＣＰＵ３１０から、コントローラＣＰＵ３１０とＡＳＩＣ２３０との間で決められた接続に関する規格に基づく信号を受けて、この信号をエンジンＣＰＵ２４０とＡＳＩＣ２３０との間で決められた規格の信号に変換する。言い換えれば、変換部２３８は、第一の接続に関する規格に準じた第一の信号を、第二の接続に関する規格に準じた第二の信号に変換する。また、第一の信号を出力するコントローラＣＰＵ３１０は、第一のＣＰＵであり、第二の信号を出力するエンジンＣＰＵ２４０は、第二のＣＰＵである。
【００４０】
通信バッファ部２３４は、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０のそれぞれから受け付けた情報を互いに伝達するために用いられる。
【００４１】
割り込み制御部２３５は、エンジンＣＰＵ２４０からのアクセスや、コントローラＣＰＵ３１０からのアクセスを受けて、対応する割り込み信号を生成して出力する。尚、以下の説明では、ＣＰＵからの信号の入力を受け付ける、という表現と、ＣＰＵからのアクセスを受け付ける、という表現は、同義である。
【００４２】
ＣＰＵインターフェイス部２３６は、エンジンＣＰＵ２４０と、インターフェイス制御部２３３のそれぞれから、信号の入力を受け付ける。言い換えれば、ＣＰＵインターフェイス部２３６は、エンジンＣＰＵ２４０からのアクセスを受け付けるためのパスＰ１と、インターフェイス制御部２３３を介したコントローラＣＰＵ３１０からのアクセスを受け付けるためのパスＰ２と、を有する。
【００４３】
また、本実施形態のＣＰＵインターフェイス部２３６は、パスＰ１とパスＰ２のそれぞれが受け付けたアクセスの競合を調停する。ＣＰＵインターフェイス部２３６の詳細は後述する。
【００４４】
レジスタ部２３７は、ＡＳＩＣ２３０ら設けられたレジスタであり、エンジンＣＰＵ２４０やコントローラＣＰＵ３１０からの制御に応じた各種の処理を実行する際に用いられる。
【００４５】
次に、図３を参照して、本実施形態のＣＰＵインターフェイス部２３６について説明する。図３は、第一の実施形態のＣＰＵ  Ｉ／Ｆ部の構成の概略を説明する図である。
【００４６】
本実施形態のＣＰＵインターフェイス部２３６は、調停部２５１、アクセス先判定部２５２、設定用レジスタ２５３を有する。
【００４７】
本実施形態の調停部２５１は、ＣＰＵインターフェイス部２３６に対するエンジンＣＰＵ２４０からのアクセスと、インターフェイス制御部２３３を介したコントローラＣＰＵ３１０からのアクセスの競合を調停する。言い換えれば、調停部２５１は、パスＰ１とパスＰ２のそれぞれが受け付けたアクセスの競合を調停する。
【００４８】
より具体的には、調停部２５１は、設定用レジスタ２５３の有する優先度設定レジスタ２５４に設定された優先度に応じて、エンジンＣＰＵ２４０又はコントローラＣＰＵ３１０からのアクセスを許可する。
【００４９】
アクセス先判定部２５２は、調停部２５１により許可されたアクセスが示すアドレスを参照し、アドレスが示すモジュールのレジスタ部に対してアクセスする。
【００５０】
具体的には、アクセス先判定部２５２は、許可されたアクセスが、ＣＰＵインターフェイス部２３６のレジスタ部へのアクセスであれば同一モジュール内のレジスタ部にアクセスし、ＣＰＵインターフェイス部２３６外の周辺モジュールへのアクセスであれば、該当するモジュールのレジスタ部にアクセスする。
【００５１】
設定用レジスタ２５３は、優先度設定レジスタ２５４と、割り込み要因レジスタ２５５と、を有する。優先度設定レジスタ２５４には、優先的にアクセスが許可されるＣＰＵが設定される。割り込み要因レジスタ２５５には、割り込み制御部２３５に対して割り込み信号を出力する要因が設定されている。設定用レジスタ２５３は、割り込み要因レジスタ２５５の設定に応じて、割り込み制御部２３５に対して割り込み信号を出力させる。
【００５２】
次に、図４を参照して、設定用レジスタ２５３における優先度の設定について説明する。図４は、第一の実施形態の優先度の設定について説明する図である。
【００５３】
図４の例では、設定用レジスタ２５３に、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０の優先度を設定するための２ビットの領域２５６を設けた。図４では、設定用レジスタ２５３の領域２５６の値が、「００」である場合、エンジンＣＰＵ２４０からのアクセスを優先させ、領域２５６の値が、「１０」の場合は、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０からのアクセスを交互に許可するようにしても良い。
【００５４】
また、図４の例では、領域２５６のビット数を２ビットとしたが、これに限定されない。設定用レジスタ２５３では、領域２５６のビット数を拡張し、調停の方式を細かく指定しても良い。具体的には、例えば、調停の方式を、重み付けを行ったラウンドロビン方式等としても良い。
【００５５】
次に、図５乃至図８を参照して、本実施形態の画像形成装置１００の動作について説明する。
【００５６】
図５は、第一の実施形態の画像形成装置の動作を説明する第一のフローチャートである。図５では、画像形成装置１００において、ＩＰＵボード２００とコントローラボード３００の通信を開始するときの動作を示している。
【００５７】
本実施形態の画像形成装置１００において、コントローラＣＰＵ３１０は、コンフィグレーションを行い、コントローラＣＰＵ３１０とＡＳＩＣ２３０との接続（リンク）を確立させる（ステップＳ５０１）。具体的には、ここでは、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０との接続に関する各種の設定を行い、所定の形式で設定内容を記述した設定ファイルを保持しても良い。
【００５８】
続いて、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０のレジスタ部２３７の状態を参照し（ステップＳ５０２）、ＡＳＩＣ２３０にエンジンＣＰＵ２４０が接続されているか否かを判定する（ステップＳ５０３）。
【００５９】
ステップＳ５０３において、エンジンＣＰＵ２４０が存在していない場合、画像形成装置１００は、ＩＰＵボード２００の動作の制御をコントローラＣＰＵ３１０により行う（ステップＳ５０４）。
【００６０】
ステップＳ５０３において、エンジンＣＰＵ２４０が存在している場合、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０の通信バッファ部２３４を用いて、エンジンＣＰＵ２４０との通信を行う（ステップＳ５０５）。ステップＳ５０５の処理の詳細は後述する。
【００６１】
図５において、画像形成装置１００は、例えば、画像形成装置１００の動作が停止したときに、ステップＳ５０４又はステップＳ５０５を終了しても良い。画像形成装置１００の動作が停止したときとは、例えば、画像形成装置１００の電源がオフされた場合や、待機状態となった場合等である。
【００６２】
次に、図６と図７を参照して、ＡＳＩＣ２３０を介してコントローラＣＰＵ３１０とエンジンＣＰＵ２４０とが通信を行う場合の、ＡＳＩＣ２３０の動作について説明する。
【００６３】
以下では、通信バッファ部２３４を用いて、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０とのアクセスが競合しないようにする場合のＡＳＩＣ２３０の動作と、両者のアクセスが競合した場合のＡＳＩＣ２３０の動作と、のそれぞれについて説明する。
【００６４】
図６は、第一の実施形態の動作を説明する第二のフローチャートである。図６では、図５のステップＳ５０５におけるＡＳＩＣ２３０の動作を示している。また、図６では、ＡＳＩＣ２３０において、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０とのアクセスが競合しない場合の動作を示している。
【００６５】
また、図６では、はじめに、コントローラＣＰＵ３１０からエンジンＣＰＵ２４０へ、ＡＳＩＣ２３０に対するアクセス権を渡し、その後、コントローラＣＰＵ３１０にアクセス権が戻るまでの処理を示している。
【００６６】
本実施形態のＡＳＩＣ２３０は、コントローラＣＰＵ３１０から、インターフェイス制御部２３３を介して通信バッファ部２３４の特定のレジスタに対するアクセスを受け付ける（ステップＳ６０１）。具体的には、ＡＳＩＣ２３０は、インターフェイス制御部２３３により、コントローラＣＰＵ３１０からのアクセスを受けて、通信バッファ部２３４の特定のレジスタに対する書き込み（ライト）を行う。
【００６７】
ＡＳＩＣ２３０において、割り込み制御部２３５は、通信バッファ部２３４に対する書き込みを受けて、割り込み制御部２３５からエンジンＣＰＵ２４０に対して割り込み信号を出力させる（ステップＳ６０２）。
【００６８】
続いて、ＡＳＩＣ２３０は、エンジンＣＰＵ２４０から、ＣＰＵインターフェイス部２３６を介して、通信バッファ部２３４の特定のアドレスに対するアクセスを受け付ける（ステップＳ６０３）。言い換えれば、エンジンＣＰＵ２４０は、ＡＳＩＣ２３０からの割り込み信号を受けて、ＡＳＩＣ２３０にアクセスする。
【００６９】
続いて、ＣＰＵインターフェイス部２３６は、通信バッファ部２３４の特定のアドレスの値から、エンジンＣＰＵ２４０からのアクセスが許可されているか否かを判定する（ステップＳ６０４）。ステップＳ６０４において、エンジンＣＰＵ２４０によるアクセスが許可されていない場合、ＡＳＩＣ２３０は、ステップＳ６０１へ戻る。このとき、エンジンＣＰＵ２４０は、次に、割り込み信号を受け付けるまで待機する。
【００７０】
ステップＳ６０４において、エンジンＣＰＵ２４０からのアクセスが許可されている場合、ＡＳＩＣ２３０は、エンジンＣＰＵ２４０からの制御に応じた処理を実行する（ステップＳ６０５）。具体的には、ＡＳＩＣ２３０は、ＣＰＵインターフェイス部２３６がエンジンＣＰＵ２４０から受け付けた信号に応じたレジスタ部２３７を参照し、各種の処理を実行する。
【００７１】
続いて、ＡＳＩＣ２３０は、エンジンＣＰＵ２４０から、通信バッファ部２３４の特定のレジスタに対するアクセスを受け付ける（ステップＳ６０６）。具体的には、ＡＳＩＣ２３０は、ＣＰＵインターフェイス部２３６により、エンジンＣＰＵ２４０からのアクセスを受けて、通信バッファ部２３４の特定のレジスタに対する書き込み（ライト）を行う。尚、通信バッファ部２３４において、コントローラＣＰＵ３１０のアクセスを受けてインターフェイス制御部２３３により書き込みされるレジスタと、エンジンＣＰＵ２４０のアクセスを受けてＣＰＵインターフェイス部２３６により書き込みされるレジスタとは、同じレジスタであっても良いし、それぞれ異なるレジスタであっても良い。
【００７２】
続いて、割り込み制御部２３５は、通信バッファ部２３４に対する書き込みを受けて、割り込み制御部２３５からコントローラＣＰＵ３１０に対して割り込み信号を出力させる（ステップＳ６０７）。
【００７３】
次に、ＡＳＩＣ２３０は、コントローラＣＰＵ３１０から、インターフェイス制御部２３３を介して、通信バッファ部２３４の特定のアドレスに対するアクセスを受け付ける（ステップＳ６０８）。言い換えれば、コントローラＣＰＵ３１０は、ＡＳＩＣ２３０からの割り込み信号を受けて、ＡＳＩＣ２３０にアクセスする。
【００７４】
続いて、インターフェイス制御部２３３は、通信バッファ部２３４の特定のアドレスの値から、コントローラＣＰＵ３１０からのアクセスが許可されているか否かを判定する（ステップＳ６０９）。ステップＳ６０９において、コントローラＣＰＵ３１０によるアクセスが許可されていない場合、ＡＳＩＣ２３０は、ステップＳ６０６へ戻る。このとき、コントローラＣＰＵ３１０は、次に、割り込み信号を受け付けるまで待機する。
【００７５】
ステップＳ６０９において、コントローラＣＰＵ３１０からのアクセスが許可されている場合、ＡＳＩＣ２３０は、変換部２３８により、インターフェイス制御部２３３に入力された信号を、ＡＳＩＣ２３０とエンジンＣＰＵ２４０との間で決められた規格に基づく信号に変換し、ＣＰＵインターフェイス部２３６へ出力する（ステップＳ６１０）。
【００７６】
続いて、ＡＳＩＣ２３０は、インターフェイス制御部２３３からＣＰＵインターフェイス部２３６に入力された信号に基づき、レジスタ部２３７を参照して、コントローラＣＰＵ３１０からの制御に応じた処理を実行する（ステップＳ６１１）。
【００７７】
このように、本実施形態では、コントローラＣＰＵ３１０とエンジンＣＰＵ２４０の両方からのアクセスを受け付ける通信バッファ部２３４を用いることで、コントローラＣＰＵ３１０とエンジンＣＰＵ２４０の両方からＡＳＩＣ２３０を制御することができる。言い換えれば、ＡＳＩＣ２３０は、第一の通信規格に準じた第一の信号と、第二の通信規格に準じた第二の信号との入力を受け付ける通信バッファ部２３４を有することで、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０との間のアクセス権の受け渡しを行うことができる。
【００７８】
次に、図７を参照して、コントローラＣＰＵ３１０とエンジンＣＰＵ２４０とのアクセスが競合した場合のＡＳＩＣ２３０の動作について説明する。
【００７９】
図７は、第一の実施形態の画像形成装置の動作を説明する第三のフローチャートである。
【００８０】
ＡＳＩＣ２３０は、ＣＰＵインターフェイス部２３６の設定用レジスタ２５３において、優先度の設定を行う（ステップＳ７０１）。具体的には、ＣＰＵインターフェイス部２３６は、コントローラＣＰＵ３１０等からの指示に応じて、設定用レジスタ２５３の優先度設定レジスタ２５４に、アクセスが優先されるＣＰＵを設定する。
【００８１】
続いて、ＡＳＩＣ２３０は、ＣＰＵインターフェイス部２３６の調停部２５１により、コントローラＣＰＵ３１０からのアクセスとエンジンＣＰＵ２４０からのアクセスが競合しているか否かを判定する（ステップＳ７０２）。
【００８２】
尚、ここでは、コントローラＣＰＵ３１０からのアクセスとは、ＣＰＵインターフェイス部２３６に、コントローラＣＰＵ３１０から入力された信号を、インターフェイス制御部２３３の変換部２３８によって変換した後の信号が入力されることを示す。
【００８３】
ステップＳ７０２において、アクセスが競合している場合、後述するステップＳ７０６へ進む。
【００８４】
ステップＳ７０２において、アクセスが競合していない場合、ＣＰＵインターフェイス部２３６は、調停部２５１により、コントローラＣＰＵ３１０又はエンジンＣＰＵ２４０のうち、アクセスを受けた方のＣＰＵに対して、アクセスを許可する（ステップＳ７０３）。
【００８５】
続いて、ＣＰＵインターフェイス部２３６は、アクセス先判定部２５２により、受け付けたアドレス情報に基づき、アクセス先となるモジュールを判定し、アクセス先のモジュールのインターフェイス部に対して、信号を出力する（ステップＳ７０４）。続いて、ＣＰＵインターフェイス部２３６は、アクセス先のモジュールに対して制御に応じた処理させる（ステップＳ７０５）。具体的には、ＣＰＵインターフェイス部２３６は、アクセス先のモジュールに対して、リード／ライトの処理を実施する。
【００８６】
ステップＳ７０２において、アクセスが競合した場合、ＣＰＵインターフェイス部２３６は、調停部２５１により、優先度設定レジスタ２５４に、エンジンＣＰＵ２４０が設定されているか否かを判定する（ステップＳ７０６）。
【００８７】
ステップＳ７０６において、エンジンＣＰＵ２４０が設定されていた場合、調停部２５１は、エンジンＣＰＵ２４０に対するアクセスを許可し（ステップＳ７０７）、ステップＳ７０４へ進む。
【００８８】
ステップＳ７０６において、エンジンＣＰＵ２４０が設定されていない場合、つまり、優先度設定レジスタ２５４にコントローラＣＰＵ３１０が設定されていた場合、調停部２５１は、コントローラＣＰＵ３１０に対するアクセスを許可し（ステップＳ７０８）、ステップＳ７０４へ進む。
【００８９】
このように、本実施形態では、通信バッファ部２３４を用いない場合でも、エンジンＣＰＵ２４０とコントローラＣＰＵ３１０の両方からのアクセスの競合を調停できる。
【００９０】
次に、図８を参照して、ＡＳＩＣ２３０が、コントローラＣＰＵ３１０からのアクセスを受けたときの動作について説明する。
【００９１】
図８は、第一の実施形態の画像形成装置の動作を説明する第四のフローチャートである。本実施形態のＡＳＩＣ２３０は、インターフェイス制御部２３３がコントローラＣＰＵ３１０からのアクセスを受け付ける（ステップＳ８０１）。
【００９２】
続いて、ＡＳＩＣ２３０は、インターフェイス制御部２３３により、受け付けたアクセスがＡＳＩＣ２３０のアドレス領域内に対するアクセスであるか否かを判定する（ステップＳ８０２）。
【００９３】
ステップＳ８０２において、ＡＳＩＣ２３０のアドレス領域内に対するアクセスではない場合、つまり、ＡＳＩＣ２３０に対するアクセスではない場合、ＡＳＩＣ２３０は、そのまま処理を終了する。ＡＳＩＣ２３０に対するアクセスではない場合とは、例えば、ＰＣＩｅバス上の別の部分にアクセスしているか、無効なアクセスである。
【００９４】
ステップＳ８０２において、ＡＳＩＣ２３０のアドレス領域内に対するアクセスである場合、ＡＳＩＣ２３０は、このアクセスに違反がないか否かを判定する（ステップＳ８０３）。違反のあるアクセスとは、例えば、ＡＳＩＣ２３０のメモリ領域内のうち、モジュールがアサインされていない領域（無効領域）に対するアクセスや、ＡＳＩＣ２３０が対応していないアクセス（例えば、バイトアクセス禁止の領域に対するバイトアクセス）等である。
【００９５】
ステップＳ８０３において、アクセスに違反があると判定された場合、インターフェイス制御部２３３は、コントローラＣＰＵ３１０に対して、不正アクセスであることを示すエラーを通知し（ステップＳ８０４）、処理を終了する。
【００９６】
ステップＳ８０３において、アクセスに違反がないと判定された場合、ＡＳＩＣ２３０は、インターフェイス制御部２３３により、このアクセスがレジスタ部２３７に対するアクセスに該当するか否かを判定する（ステップＳ８０５）。
【００９７】
ステップＳ８０５において、レジスタ部２３７に対するアクセスではない場合、後述するステップＳ８０８へ進む。
【００９８】
ステップＳ８０５おいて、レジスタ部２３７に対するアクセスではある場合、インターフェイス制御部２３３は、変換部２３８により、入力された信号を、ＡＳＩＣ２３０とエンジンＣＰＵ２４０との間で決められた規格の信号に変換する（ステップＳ８０６）。
【００９９】
続いて、インターフェイス制御部２３３は、変換された信号をＣＰＵインターフェイス部２３６へ出力し、ＣＰＵインターフェイス部２３６からレジスタ部２３７に対し、リード／ライトの処理を実行させ（ステップＳ８０７）、処理を終了する。
【０１００】
ステップＳ８０５において、レジスタ部２３７に対するアクセスではない場合、インターフェイス制御部２３３は、このアクセスが通信バッファ部２３４の有効領域に対するアクセスであるか否かを判定する（ステップＳ８０８）。より具体的には、インターフェイス制御部２３３は、このアクセスが、通信バッファ部２３４の特定のレジスタに対するアクセスであるか否かを判定する。
【０１０１】
ステップＳ８０８において、通信バッファ部２３４の有効領域内に対するアクセスである場合、インターフェイス制御部２３３は、該当する領域に対して処理を行い（ステップＳ８０９）、処理を終了する。
【０１０２】
ステップＳ８０８において、通信バッファ部２３４の有効領域内に対するアクセスではない場合、インターフェイス制御部２３３は、コントローラＣＰＵ３１０に不正アクセスであることを示すエラーを通知し（ステップＳ８１０）、処理を終了する。
【０１０３】
このように、本実施形態では、ＡＳＩＣ２３０に対する不正アクセスの有無を容易に判定することができる。
【０１０４】
尚、図８に示す処理は、例えば、図６のステップＳ６０１において行われても良い。また、図８に示す処理は、ステップＳ６０８からステップＳ６１１までの処理として行われても良い。
【０１０５】
以上のように、本実施形態では、ＡＳＩＣ２３０に、バスを介して入力された信号を、ＡＳＩＣ２３０と直接接続されたＣＰＵとの間で決められた規格の信号に変換し、ＣＰＵインターフェイス部２３６へ出力する変換部を有する。したがって、本実施形態によれば、バスを介して接続されたＣＰＵからでも、ＡＳＩＣ２３０を制御することができる。したがって、ＡＳＩＣ２３０と、ＡＳＩＣ２３０を制御するＣＰＵとを同じボード上に実装する必要がなく、ＡＳＩＣ２３０の汎用性を高めることができる。
【０１０６】
また、本実施形態では、ＡＳＩＣ２３０に、複数のＣＰＵからのアクセスの競合を調停する調停部を設けた。したがって、本実施形態によれば、例えば、既存の複数のＣＰＵをＡＳＩＣ２３０に接続する場合でも、両方のＣＰＵからＡＳＩＣ２３０を制御することができ、ＡＳＩＣ２３０の汎用性を高めることができる。
【０１０７】
（第二の実施形態）
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態は、画像形成装置がエンジンＣＰＵを有していない点が、第一の実施形態と相違する。以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１０８】
図９は、第二の実施形態の画像形成装置を説明する図である。
【０１０９】
図９に示す画像形成装置１００Ａは、ＩＰＵボード２００Ａ、コントローラボード３００、スキャナ４００、プロッタ５００を有しており、ＩＰＵボード２００Ａには、エンジンＣＰＵ２４０が搭載されていない。
【０１１０】
この画像形成装置１００Ａでは、エンジンＣＰＵ２４０が搭載されていないため、ＡＳＩＣ２３０において、通信バッファ部２３４を用いた複数のＣＰＵ間でのアクセス権の受け渡しを行う必要がなくなる。
【０１１１】
具体的には、図９の例では、コントローラＣＰＵ３１０は、エンジンＣＰＵ２４０との間でアクセス権を受け渡すために、通信バッファ部２３４の特定のレジスタにアクセスする必要がなくなる。通信バッファ部２３４にアクセスする処理は、スキャナ４００による画像データの読み取りや、プロッタ５００による画像データの出力が行われていない期間に行われる。この期間とは、例えば、スキャナ４００やプロッタ５００の有する搬送経路に設けられたセンサ等が、記録媒体の通紙を検知していない期間である。
【０１１２】
図９では、エンジンＣＰＵ２４０が実装されていないＩＰＵボード２００Ａに、本実施形態のＡＳＩＣ２３０を実装することで、記録媒体の通紙が検知されない期間（紙間期間）の処理を行う必要がなくなり、処理が軽減される。
【０１１３】
また、本実施形態のＡＳＩＣ２３０を適用すれば、画像形成装置１００Ａのように、コントローラＣＰＵ３１０のみが搭載された構成であっても、ＩＰＵボード２００ＡのＡＳＩＣ２３０をコントローラＣＰＵ３１０から制御することができる。したがって、画像形成装置のコストを低減することができる。
【０１１４】
尚、図９の画像形成装置１００Ａでは、エンジンＣＰＵ２４０が存在しないため、エンジンＣＰＵ２４０が扱っていた割り込み信号をＡＳＩＣ２３０が扱うことになる。
【０１１５】
ＡＳＩＣ２３０は、以下の２つの方法の何れかで、割り込み信号をコントローラＣＰＵ３１０へ出力しても良い。
【０１１６】
１つ目の方法は、エンジンＣＰＵ２４０が実装されている場合と同様に、割り込み制御部２３５による制御によって、割り込み信号を出力する方法である。
【０１１７】
２つ目の方法は、ＰＣＴＥｘｐｒｅｓｓ規格に則って、割り込み信号をパケットとしてコントローラＣＰＵ３１０へ出力する方法である。この方法は、例えば、ＶｉｒｔｕａｌＷｉｒｅや、ＭＳＩ（Ｍｅｓｓａｇｅ  Ｓｉｇｎａｌｅｄ  Ｉｎｔｅｒｒｕｐｔ）割り込み等として知られる方法である。
【０１１８】
２つ目の方法を用いる場合、画像形成装置において、ＡＳＩＣ２３０とコントローラＣＰＵ３１０とを信号線で接続する必要はない。また、ＭＳＩ割り込みの拡張機能を用いた場合には、割り込み要因レジスタ２５５のリードも不要になる。
【０１１９】
このように、図９の例では、割り込み信号の取り扱いを仕様により選択することができる。
【０１２０】
（第三の実施形態）
以下に図面を参照して、第三の実施形態について説明する。第三の実施形態は、画像形成装置が、コントローラＡＳＩＣを有していない点が、第一の実施形態と相違する。以下の第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１２１】
図１０は、第三の実施形態の画像形成装置を説明する図である。
【０１２２】
図１０に示す画像形成装置１００Ｂは、ＩＰＵボード２００、コントローラボード３００Ａ、スキャナ４００、プロッタ５００を有しており、コントローラボード３００Ａには、コントローラＣＰＵ３１０と直接接続されて、コントローラＣＰＵ３１０により制御されるコントローラＡＳＩＣ２３０Ａが搭載されている。
【０１２３】
図１０の構成では、ＩＰＵボード２００とコントローラボード３００Ａの両方に、それぞれのボードにＡＳＩＣとＣＰＵが実装されており、高速での画像処理や画像転送を行うことができる。
【０１２４】
このように、本実施形態のＡＳＩＣ２３０によれば、図１、図９、図１０に示すような構成の画像形成装置を実現することができる。
【０１２５】
図１の画像形成装置１００は、ＡＳＩＣ２３０と、ＡＳＩＣ２３０に直接接続されたエンジンＣＰＵ２４０と、ＰＣＩｅバスを介してＡＳＩＣ２３０と接続されたコントローラＣＰＵ３１０を有する構成である。図９に示す画像形成装置１００Ａは、ＡＳＩＣ２３０と、ＰＣＩｅバスを介してＡＳＩＣ２３０と接続されたコントローラＣＰＵ３１０とを有する構成である。図１０に示す画像形成装置１００Ｂは、ＡＳＩＣ２３０と、ＡＳＩＣ２３０に直接接続されたエンジンＣＰＵ２４０と、ＰＣＩｅバスを介してＡＳＩＣ２３０と接続されたコントローラＡＳＩＣ２３０Ａと、コントローラＡＳＩＣ２３０Ａと直接接続されたコントローラＣＰＵ３１０とを有する構成である。
【０１２６】
このように、本実施形態では、既存のエンジンＣＰＵ２４０やコントローラＣＰＵ３１０を用いて、要求される仕様に合わせた構成の画像形成装置を提供することができる。
【０１２７】
より具体的には、比較的低価格であり、高性能が要求されないローエンドの画像形成装置では、図９の構成とすることで、要求される性能を満たすためのリアルタイム性を確保しつつ、ハードウェアの部品点数を削減でき、コストを低減することができる。また、高性能が要求されるハイエンドの画像形成装置の場合には、図１０の構成とすることで、高い画像品質を実現することができる。さらに、本実施形態では、ハイエンドの機種に実装されるＡＳＩＣ２３０を、ローエンドの機種にも用いることができるため、ローエンドの機種における画像処理の品質を、ハイエンドの機種と同等とすることができる。
【０１２８】
また、本実施形態によれば、ＡＳＩＣ２３０を上述したようにローエンドの機種からハイエンドの機種まで、共通して使用することができ、ＡＳＩＣ２３０の汎用性を向上させることができる。
【０１２９】
尚、各実施形態では、ＡＳＩＣ２３０が画像形成装置に搭載される形態として説明したが、これに限定されない。ＡＳＩＣ２３０は、画像形成装置以外の装置に搭載されても良い。具体的には、ＡＳＩＣ２３０は、例えば、画像データに基づく画像を投影させる画像投影装置や、画像データに基づく画像を表示させる表示装置等に搭載されても良い。
【０１３０】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３１】
１００、１００Ａ、１００Ｂ  画像形成装置
２００、２００Ａ  ＩＰＵボード
２１０  スキャナインターフェイス部
２２０  プロッタインターフェイス部
２３０  ＡＳＩＣ
２３１  スキャナ画像処理部
２３２  プロッタ画像処理部
２３４  通信バッファ部
２３５  割り込み制御部
２３６  ＣＰＵインターフェイス部
２３７  レジスタ部
２３８  変換部
２５１  調停部
２５２  アクセス先判定部
２５３  設定用レジスタ部
３００、３００Ａ  コントローラボード
【先行技術文献】
【特許文献】
【０１３２】
【特許文献１】特開２００３−３３３２３２号公報
【図１】
2019219803.tif 000003
【図２】
2019219803.tif 000004
【図３】
2019219803.tif 000005
【図４】
2019219803.tif 000006
【図５】
2019219803.tif 000007
【図６】
2019219803.tif 000008
【図７】
2019219803.tif 000009
【図８】
2019219803.tif 000010
【図９】
2019219803.tif 000011
【図１０】
2019219803.tif 000012