(57)【要約】【課題】従来、開発過程でのシミュレーションに必要であったＩ／Ｏ中継基板のようなハードウェアを用意しなくて済むようにし、開発コストと開発の手間を減らす。【解決手段】メインメモリーと、  制御命令を外部から入力するためのリモート装置と外部記憶装置を接続可能な通信インターフェイスと、  メインメモリーの記憶内容に基づき処理を行う処理装置と、を含み、  処理装置は、画像形成装置の主制御基板に搭載されるメインコントロールファームウェアと、画像形成装置内に設けられる基板であって主制御基板と接続される副制御基板をプログラム的に再現した仮想基板をメインメモリーに記憶させ、実際の副制御基板のように仮想基板を動作させることを特徴とする主制御基板。【選択図】図２
2017159501.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリーと、
制御命令を外部から入力するためのリモート装置と外部記憶装置を接続可能な通信インターフェイスと、
前記メインメモリーの記憶内容に基づき処理を行う処理装置と、を含み、
前記処理装置は、画像形成装置の主制御基板に搭載されるメインコントロールファームウェアと、前記画像形成装置内に設けられる基板であって前記主制御基板と接続される副制御基板をプログラム的に再現した仮想基板を前記メインメモリーに記憶させ、実際の前記副制御基板のように前記仮想基板を動作させることを特徴とする主制御基板。
【請求項２】
前記副制御基板は、画像形成装置内で印刷ジョブを行う印刷部の動作を制御するエンジン制御基板であり、
前記仮想基板は、前記エンジン制御基板をプログラム的に再現したものであり、
前記処理装置は、前記エンジン制御基板の前記仮想基板に、実際の前記エンジン制御基板の動作を模倣させることを特徴とする請求項１に記載の主制御基板。
【請求項３】
前記エンジン制御基板に送信するために画像データに対して画像処理を行い、画像処理後の画像データを前記メインメモリーに書き込む画像処理回路を含み、
前記処理装置は、前記メインメモリーに書き込まれた画像データを抽出して前記通信インターフェイスに接続された前記外部記憶装置への保存処理を前記処理装置に行わせる画像抽出部と、印刷ジョブのとき前記エンジン制御基板から前記画像処理回路に向けて送信される同期信号を模倣した仮想同期信号の前記画像処理回路への入力を前記処理装置に行わせる仮想同期信号生成部を前記メインメモリーに記憶させ、
前記仮想同期信号生成部によって前記仮想同期信号の生成が開始され、前記仮想同期信号が前記画像処理回路に入力されたとき、前記画像処理回路は、画像データの画像処理を開始し、前記処理装置は、前記画像抽出部に基づき、前記メインメモリーに書き込まれた画像処理後の画像データの前記外部記憶装置への保存を前記通信インターフェイスに行わせることを特徴とする請求項２に記載の主制御基板。
【請求項４】
前記メインコントロールファームウェアから印刷命令を受けたとき、前記仮想基板は、前記仮想同期信号の生成開始を前記仮想同期信号生成部に命令し、
前記仮想同期信号の生成が開始されたとき、前記仮想同期信号生成部は、前記仮想同期信号の生成開始を前記画像抽出部に通知し、
前記仮想同期信号生成部からの通知に応じて、前記画像抽出部は、前記保存処理を前記処理装置に行わせ、前記保存処理の完了を前記仮想同期信号生成部に通知し、
前記保存処理の完了が前記仮想同期信号生成部に通知されたとき、前記処理装置は、前記仮想同期信号の前記画像処理回路への入力を停止することを特徴とする請求項３に記載の主制御基板。
【請求項５】
前記仮想基板は、前記リモート装置から前記通信インターフェイスに入力された状態変更命令を認識し、前記状態変更命令に応じて状態を変更することを特徴とする請求項２乃至４のいずれか１項に記載の主制御基板。
【請求項６】
前記処理装置は、前記エンジン制御基板の不揮発メモリーに記憶されるデータであるエンジンデータを前記通信インターフェイスに接続されている前記外部記憶装置から読み出し、前記メインメモリーに前記エンジンデータを記憶させることを特徴とする請求項１乃至５のいずれか１項に記載の主制御基板。
【請求項７】
画像形成装置の主制御基板に搭載されるメインコントロールファームウェアと、前記画像形成装置内に設けられる基板であって前記主制御基板の制御に基づき動作する副制御基板をプログラム的に再現した仮想基板を前記主制御基板のメインメモリーに記憶させ、
実際の前記副制御基板のように前記仮想基板を動作させることを特徴とする主制御基板の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に搭載される主制御基板に関する。また、主制御基板の制御方法に関する。
【背景技術】
【０００２】
複合機、プリンター、複写機、ファクシミリ装置のような画像形成装置では、制御基板が搭載される。制御基板は、ソフトウェアに基づき、制御基板に接続された制御対象を制御する。開発過程では、ソフトウェアに問題が無く、制御対象が正しく機能、動作するようにソフトウェアが作成されているか否かの確認を行うためのエミュレーションを行うことがある（ソフトウェアの検証）。このようなソフトウェアの検証のためのエミュレーションに関する技術の一例が特許文献１に記載されている。
【０００３】
具体的に、特許文献１には、ボードコントロールユニットに記憶された製品を動作させるためのソフトウェアからの動作命令を受けて製品の部品を模倣してコンピューター上に作成された仮想部品を動作させるエミュレーション装置であって、ボードコントロールユニットとエミュレータとを中継するＩ／Ｏ変換装置を備え、Ｉ／Ｏ変換装置は、ソフトウェアによるボードコントロールユニットからの動作命令を受け取るインターフェイスと、仮想部品を操作する操作用インターフェイスと、動作命令を相互に変換する処理機構と有するエミュレーション装置が記載されている。また、特許文献１には、実機ではボードコントロールユニット１に接続されるＩＯ制御ボード２をＩＯ変換装置５に置き換えること、ＩＯ変換装置５内にＩＯ制御ボードのふりをする実機ボードエミュレーションレジスタ２１を配置すること、実機ボードエミュレーションレジスタ２１にボードコントロールユニット１とのデータのやり取りを担当させることが記載されている。これにより、ボードコントロールユニットとコンピューター内で動作するメカエミュレータ４との接続を実現する（特許文献１：請求項１、段落［００１２］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２３２４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像形成装置のような組み込みシステムには複数の制御基板を搭載することがある。それぞれの制御基板には、ＣＰＵやメモリーのようなハードウェアとソフトウェア（ファームウェア）が搭載される。ジョブ実行のとき、メインの制御基板は、ジョブの実行に用いる部分を実際に制御するサブの制御基板に動作命令を与える。命令を受けたサブの制御基板は、命令に応じてジョブの実行に用いる部分を実際に制御する。
【０００６】
ジョブ実行のとき、メインの制御基板とサブの制御基板は、それぞれのファームウェアに基づき動作し、それぞれのファームウェアに基づき、命令、通知のような信号をやりとりしあう。開発過程では、ファームウェアに誤り（バグ）がなく、各制御基板が正しく動作するかの検証（確認）を、シミュレーターを用いて行うことがある。
【０００７】
従来、仮想的なサブの制御基板を構築したコンピューターとメインの制御基板を接続して検証を行うとき、Ｉ／Ｏ中継基板が用いられている。例えば、メインの制御基板内に設けられたＩ／Ｏポートであってサブの制御基板との通信用Ｉ／Ｏポート（インターフェイス）とＩ／Ｏ中継基板を接続する。また、Ｉ／Ｏ中継基板と仮想的なサブの制御基板が構築されたコンピューターを接続する。Ｉ／Ｏ中継基板は、コンピューターとメインの制御基板間の信号を受信先が理解できるように（扱えるように）変換する。
【０００８】
サブの制御基板との通信用Ｉ／Ｏポートに応じたＩ／Ｏ中継基板を用意する必要があるため、Ｉ／Ｏ中継基板は、シミュレーション用に特別に作成、設計しなくてはならない場合があり、開発コストと手間がかかるという問題がある。画像形成装置１機種で複数種のＩ／Ｏ中継基板が必要となる場合には、なおさら、開発コストと手間がかかる。
【０００９】
特許文献１記載の技術では、ＩＯ制御ボード２をＩＯ変換装置５に置き換えているが、Ｉ／Ｏ中継基板（専用デバイス）を用いる点で従来の技術と同様である。Ｉ／Ｏ中継基板を用いる以上、Ｉ／Ｏ中継基板の開発コストと手間はかかる。従って、特許文献１記載の技術では、上記の問題を解決することはできない。
【００１０】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、従来、開発過程でのシミュレーションに必要であったＩ／Ｏ中継基板のようなハードウェアを用意しなくて済むようにし、開発コストと開発の手間を減らす。
【課題を解決するための手段】
【００１１】
上記課題解決のため、請求項１に係る主制御基板は、画像形成装置内に設けられる基板であって、メインメモリー、通信インターフェイス（メモリー用インターフェイス、ネットワークインターフェイス）、処理装置を含む。前記通信インターフェイスは、制御命令を外部から入力するためのリモート装置と外部記憶装置を接続可能である。前記処理装置は、前記メインメモリーの記憶内容に基づき処理を行う。前記処理装置は、画像形成装置の主制御基板に搭載されるメインコントロールファームウェアと、画像形成装置内に設けられる基板であって主制御基板と接続される副制御基板をプログラム的に再現した仮想基板を前記メインメモリーに記憶させ、実際の前記副制御基板のように前記仮想基板を動作させる。
【発明の効果】
【００１２】
本発明によれば、開発過程でのシミュレーションに必要であったＩ／Ｏ中継基板のようなハードウェアを設計し、用意しなくても、主制御基板や副制御基板の動作シミュレーションを行うことができる。従って、副制御基板の実物が完成していない段階でも、主制御基板や副制御基板の動作やファームウェアの異常の有無を検証することができる。また、シミュレーション用のハードウェアを減らすことができるので、開発コストと開発の手間を減らすことができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る各制御基板が実際に搭載される複合機の一例を示す図である。
【図２】開発段階での実施形態に係る主制御基板を説明するための図である。
【図３】実施形態に係る主制御基板を用いたシミュレーションの流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図１〜図３を用いて、本発明に係る主制御基板１の実施形態を説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１５】
（複合機１００の概要）
開発の完了に伴い、主制御基板１と副制御基板は、製品としての画像形成装置に搭載される。まず、図１を用いて実施形態に係る主制御基板１と副制御基板が搭載される画像形成装置である複合機１００の一例を説明する。以下の説明では、印刷部２を実際に制御するエンジン制御基板２０が、主制御基板１の指示に応じて処理を行う副制御基板として複合機１００に搭載される例を説明する。図１は、実施形態に係る各制御基板が実際に搭載される複合機１００の一例を示す図である。
【００１６】
複合機１００は、主制御基板１を含む。主制御基板１は、装置全体の動作を統括し複合機１００の各部を制御する。そして、主制御基板１には、処理装置１０とメインメモリー１１が設けられる。処理装置１０は、制御のための演算、処理を行う。例えば、処理装置１０は、ＣＰＵや複合機１００の制御のために専用設計されたカスタムチップである。又、主制御基板１には、印刷に必要な画像処理を行う画像処理回路１２やＲＯＭ１３が実装される。例えば、画像処理回路１２は、画像処理専用に設計されたＡＳＩＣである。また、ＲＯＭ１３は、制御用データや、メインコントロールファームウェア１５（主制御基板１の制御に関するプログラム）のような主制御基板１及び複合機１００の制御用プログラムを記憶する。
【００１７】
また、主制御基板１には、メインメモリー１１が設けられる。メインメモリー１１は、ＤＤＲメモリーのようなＲＡＭである。処理装置１０は、起動時、制御用データ、メインコントロールファームウェア１５、制御用プログラムをＲＯＭ１３からＲＡＭに読み出す。
【００１８】
又、主制御基板１は、画像読取部３と通信可能に接続される。画像読取部３は、原稿を読み取り、画像データを生成する。主制御基板１は、画像読取部３の動作を制御する。又、主制御基板１は、操作パネル４と通信可能に接続される。操作パネル４は、設定用の画面や複合機１００の状態やメッセージを表示する。また、操作パネル４は、操作パネル４に設けられたタッチパネルやハードキーへの使用者の操作を受け付ける。そして、主制御基板１は、操作パネル４になされた設定操作内容を認識する。そして、主制御基板１は、使用者の設定どおりに動作するように、複合機１００を制御する。
【００１９】
又、複合機１００は、印刷部２を含む。印刷部２は、エンジン制御基板２０、給紙部２ａ、搬送部２ｂ、画像形成部２ｃ、定着部２ｄを含む。エンジン制御基板２０は、印刷部２の各部分を制御する。言い換えると、エンジン制御基板２０は、給紙、用紙搬送、トナー像の形成、転写、定着のような印刷関連処理を実際に制御する。制御のための演算、処理を行う部分として、エンジン制御基板２０には、エンジンＣＰＵ２０ａが搭載される。
【００２０】
また、エンジン制御基板２０には、エンジンメモリー２０ｂが搭載される。エンジンメモリー２０ｂは、ＲＯＭ、ＲＡＭを含む。エンジンメモリー２０ｂのＲＯＭは、エンジンデータＤ１を不揮発的に記憶する。エンジンデータＤ１には、印刷部２の制御に用いるためのデータが含まれる。また、エンジンデータＤ１には、印刷部２を制御するための複数のプログラムからなるエンジンファームウェアＥＦを含めてもよい。エンジンメモリー２０ｂのＲＡＭには、ＲＯＭに記憶された内容が読み出され、エンジンＣＰＵ２０ａは、ＲＡＭの記憶内容に基づき処理を行う。
【００２１】
エンジン制御基板２０と主制御基板１は通信可能に接続される。主制御基板１は、印刷指示、印刷ジョブの内容、印刷に用いる画像データをエンジン制御基板２０に与える。この受信内容に基づき、エンジン制御基板２０は、給紙部２ａ、搬送部２ｂ、画像形成部２ｃ、定着部２ｄを制御する。具体的には、エンジン制御基板２０は、給紙、搬送、画像形成、転写、定着に関する各種回転体を回転させ、印刷に関しての制御を行う。
【００２２】
エンジン制御基板２０は、用紙を一枚ずつ給紙部２ａに供給させる。エンジン制御基板２０は、供給された用紙を、画像形成部２ｃ、定着部２ｄを経て排出トレイ（不図示）まで搬送部２ｂに搬送させる。エンジン制御基板２０は、搬送部２ｂにより搬送される用紙にのせるトナー像を画像形成部２ｃに形成させる。また、エンジン制御基板２０は、用紙に転写されたトナー像を定着部２ｄに定着させる。搬送部２ｂは、トナー像が定着された用紙を排出トレイに排出する。
【００２３】
又、主制御基板１には、通信インターフェイス５が設けられる。通信インターフェイス５は、ネットワークを介し、コンピューター２００と通信できる。通信インターフェイス５は、コンピューター２００から画像データのような印刷内容を示すデータと印刷に関する設定を示すデータを含む印刷用データを受信する。主制御基板１は、印刷用データに基づく印刷を印刷部２に行わせる。
【００２４】
（開発段階でのシミュレーション時の主制御基板１）
次に、図２を用いて、開発段階での実施形態に係る主制御基板１を説明する。図２は、開発段階での実施形態に係る主制御基板１を説明するための図である。
【００２５】
開発段階では、主制御基板１やエンジン制御基板２０の各ファームウェアに問題があるか否かの検証や、ジョブに関する処理が異常なく行われるか否かを検証するためのシミュレーションが行われる。そして、主制御基板１では、エンジン制御基板２０の実物を主制御基板１に接続したり、Ｉ／Ｏ中継基板を用意したりせずに、シミュレーションを行うことができる。従って、エンジン制御基板２０の実物の完成や、Ｉ／Ｏ中継基板の設計及び設計したＩ／Ｏ中継基板の完成を待たずに、シミュレーションを行うことができる。従って、開発の早い段階で、各基板のファームウェアにバグが含まれているか否かを検証することができる。
【００２６】
シミュレーションは、基本的に主制御基板１だけで行うことができる。複合機１００に取り付けずにシミュレーションを行えるように、主制御基板１には、別途用意される電源Ｐから電力が供給される。電源Ｐは、商用電源と接続されＡＣーＤＣ変換回路を内蔵し主制御基板１に必要な電圧を生成する電源装置である（ＡＣアダプター）。
【００２７】
上述のように、主制御基板１には、処理装置１０、メインメモリー１１、画像処理回路１２、ＲＯＭ１３、通信インターフェイス５が実装される。
【００２８】
図２に示すように、主制御基板１は、通信インターフェイス５として、接続用インターフェイス５１とネットワークインターフェイス５２を含む。
【００２９】
接続用インターフェイス５１には、外部記憶装置６を直接的に接続することができる。例えば、ＵＳＢメモリーやＳＤカードのような不揮発的な半導体メモリーを外部記憶装置６として、接続用インターフェイス５１に接続（差し込む）することができる。そのため、接続用インターフェイス５１には、ＵＳＢポートや、カードスロットが設けられる。
【００３０】
処理装置１０は、接続用インターフェイス５１に取り付けられた外部記憶装置６に記憶されているデータを読み出すことができる。また、処理装置１０は、接続用インターフェイス５１に取り付けられた外部記憶装置６にデータを書き込むこともできる。
【００３１】
また、接続用インターフェイス５１には、リモート装置７を接続することもできる。リモート装置７は、ＰＣのようなコンピューターである。開発者は、リモート装置７を用いて、シミュレーションの制御や、シミュレーションの結果確認や、ファームウェアのデバッグを行うことができる。
【００３２】
ＵＳＢケーブルのような通信ケーブルで接続用インターフェイス５１とリモート装置７を直接的に接続することができる。処理装置１０は、接続用インターフェイス５１を介し、リモート装置７からの命令を受け取る。処理装置１０は、リモート装置７から要求された情報をリモート装置７に向けて、接続用インターフェイス５１に送信させる。
【００３３】
ネットワークインターフェイス５２は、Ethernet（登録商標）のような規格に準拠し、ネットワーク上の装置と通信するためのインターフェイスである。そして、ネットワークを介し、ネットワークインターフェイス５２（主制御基板１）と外部記憶装置６との間で通信することができる。この場合、ネットワーク上のサーバーに含まれるＨＤＤやＳＳＤのようなストレージを外部記憶装置６としてもよい。
【００３４】
処理装置１０は、ネットワークを介し、通信可能に接続された外部記憶装置６に書き込まれたデータを読み出すことができる。また、処理装置１０は、ネットワークを介し、通信可能に接続された外部記憶装置６にデータを書き込むこともできる。
【００３５】
また、ネットワークインターフェイス５２には、リモート装置７を接続することもできる。開発者は、ネットワーク経由で主制御基板１とリモート装置７を通信可能に接続できる。リモート装置７により、シミュレーションの制御や、シミュレーションの結果確認や、ファームウェアのデバッグを行うことができる。
【００３６】
ネットワークインターフェイス５２は、ネットワークケーブルによりネットワークと接続される。処理装置１０は、ネットワークインターフェイス５２を介し、リモート装置７からの命令を受け取る。処理装置１０は、リモート装置７から要求された情報をリモート装置７に向けて、ネットワークインターフェイス５２に送信させる。
【００３７】
このように、ケーブルやネットワークを介し、複合機１００には、外部記憶装置６やリモート装置７を接続することができる。接続用インターフェイス５１やネットワークインターフェイス５２は、シミュレーション（検証）のための特別なインターフェイスではない。複合機１００の製品に搭載される主制御基板１にも設けられるインターフェイスである。このように、主制御基板１では、外部記憶装置６やリモート装置７の接続に特別なハードウェアは必要ない。
【００３８】
検証のためのシミュレーションを行うとき、メインメモリー１１には、画像形成装置の主制御基板１に搭載され、主制御基板１の処理用プログラムを含むメインコントロールファームウェア１５が記憶される。メインコントロールファームウェア１５は、ＲＯＭ１３に記憶させておき、処理装置１０がＲＯＭ１３から読み出すことにより、メインメモリー１１に記憶されてもよい。または、外部記憶装置６やリモート装置７からメインコントロールファームウェア１５を通信インターフェイス５に入力し、処理装置１０は、入力されたメインコントロールファームウェア１５をメインメモリー１１に記憶させてもよい。また、外部記憶装置６やリモート装置７から新バージョンのメインコントロールファームウェア１５をインストールして、メインコントロールファームウェア１５を更新することもできる。
【００３９】
メインコントロールファームウェア１５は、主制御基板用ファームウェア１６を含む。主制御基板用ファームウェア１６は、実機に搭載された主制御基板１での処理に利用される複数のプログラムやデータを含む。例えば、メインコントロールファームウェア１５は、主制御基板１が複合機１００に搭載された状態で、処理装置１０が印刷ジョブ実行時に処理するプログラムやデータを主制御基板用ファームウェア１６として含む。
【００４０】
また、エンジン制御基板２０の動作やエンジン制御基板２０に搭載されるファームウェア（エンジンファームウェアＥＦ）に問題があるか否かを検証するため、開発過程のメインコントロールファームウェア１５には、仮想基板１７、仮想同期信号生成部１８、画像抽出部１９を含める（組み込む）ことができる。なお、仮想基板１７、仮想同期信号生成部１８、画像抽出部１９は、実機に搭載されるメインコントロールファームウェア１５から除かれる。
【００４１】
仮想基板１７は、複合機１００の実機内に設けられる基板であって主制御基板１と接続されるエンジン制御基板２０（エンジンＣＰＵ２０ａ、エンジンメモリー２０ｂ、エンジンファームウェアＥＦ）をプログラム的に再現した仮想基板１７（仮想マシン、仮想エンジン制御基板）である。仮想基板１７は、エンジン制御基板２０に搭載されるハードウェアとソフトウェアを再現したプログラム、関数で構成される。
【００４２】
シミュレーションのため、仮想基板１７をメインメモリー１１内に設けるとき、通信インターフェイス５に接続された外部記憶装置６にエンジンデータＤ１（エンジン制御基板２０の不揮発メモリーに記憶されるデータ）を記憶させておいてもよい。そして、処理装置１０は、処理装置１０は、エンジンデータＤ１を外部記憶装置６から読み出し、メインメモリー１１にエンジンデータＤ１を記憶させることにより、エンジン制御基板２０を仮想的に実現してもよい。これにより、外部記憶装置６に記憶させる内容を変更するだけで、仮想基板１７の内容を変更することができる。
【００４３】
メインコントロールファームウェア１５に基づき、主制御基板１がエンジン制御基板２０に向けて命令、要求、通知を発したとき、仮想基板１７は、エンジン制御基板２０の実機の応答がなされたと扱われるように処理装置１０とメインメモリー１１を動作させる。例えば、仮想基板１７は、メインメモリー１１内のエンジン制御基板２０を管轄するため領域に、実機のエンジン制御基板２０と同等の応答内容が書き込まれるように、処理装置１０及びメインメモリー１１を動作させる。
【００４４】
仮想基板１７を構成するプログラムに基づく処理装置１０の処理により、主制御基板用ファームウェア１６と仮想基板１７は、エンジン制御基板２０の実機と通信しているかのように、主制御基板１及び主制御基板１に含まれる部分を動作させる。処理装置１０は、仮想基板１７を構成するプログラムによって、エンジン制御基板２０の実機の動作を模倣する。
【００４５】
画像抽出部１９は、メインメモリー１１に書き込まれた画像データを抽出して通信インターフェイス５に接続された外部記憶装置６への保存処理を処理装置１０に行わせるためのプログラム、関数である。これにより、検証のためのシミュレーションによって、メインメモリー１１に書き込まれた画像データを抽出し、画像データの内容を確認することができる。
【００４６】
仮想同期信号生成部１８は、エンジン制御基板２０の実機から画像処理回路１２に向けて送信される同期信号を模倣した仮想同期信号ＳＹＣを処理装置１０から画像処理回路１２に入力させるプログラム、関数である。
【００４７】
実機では、エンジン制御基板２０は、印刷準備か完了したことを知らせ、画像データの転送タイミングを知らせるための同期信号（垂直同期信号）を主制御基板１に入力する。主制御基板１の画像処理回路１２は、同期信号の入力を受けた後、印刷に用いる画像データの生成とエンジン制御基板２０への送信を開始する。受信した画像データに基づき、エンジン制御基板２０は、画像形成部２ｃにトナー像を形成させる。
【００４８】
印刷ジョブをシミュレーションするとき、仮想基板１７がメインメモリー１１に展開されているが、エンジン制御基板２０の実機は主制御基板１に接続されていない。シミュレーションのとき、画像処理のトリガーとなり、以後の画像データの転送で同期をとるための同期信号を画像処理回路１２に入力するため、プログラムとしての仮想同期信号生成部１８によって、処理装置１０は、エンジン制御基板２０に代わって、画像処理回路１２に仮想同期信号ＳＹＣを入力する。
【００４９】
なお、リモート装置７によって、仮想基板１７の状態を変更することができる。言い換えると、仮想基板１７は、リモート装置７から通信インターフェイス５に入力された状態変更命令を認識し、状態変更命令に応じて状態を変更する。例えば、リモート装置７から複合機１００のカバーが開いている状態への変更を命令したとき、仮想基板１７は、カバーが開いている状態であると認識する。また、リモート装置７から複合機１００の用紙切れ状態への変更を命令したとき、仮想基板１７は、複合機１００が用紙切れ状態と認識する。
【００５０】
（検証のためのシミュレーションの流れ）
次に、図３を用いて、主制御基板１を用いたシミュレーションの流れの一例を説明する。図３は、実施形態に係る主制御基板１を用いたシミュレーションの流れの一例を示すシーケンス図である。
【００５１】
シミュレーションでは、仮想基板１７、及び、仮想同期信号生成部１８と画像抽出部１９の各プログラムは、主制御基板１及び主制御基板用ファームウェア１６がエンジン制御基板２０の実機が接続されていると認識するように、主制御基板１上の処理装置１０、メインメモリー１１、画像処理回路１２を動作させる。以下、１ページの印刷のシミュレーションのシーケンスの一例を説明する。
【００５２】
図３のステップ０１は、主制御基板用ファームウェア１６に基づき、処理装置１０が仮想基板１７に出す印刷命令である。実機では、操作パネル４でジョブの実行が指示されたときや、コンピューター２００からプリント用ジョブを受信したとき、印刷命令が出される。実機では、印刷命令に基づき、エンジン制御基板２０が印刷部２を制御する。
【００５３】
印刷のシミュレーションのとき、例えば、印刷命令を発するためのトリガー信号は、リモート装置７から主制御基板１に入力することができる。このトリガー信号には、印刷シミュレーションの内容情報を付すことができる。例えば、内容情報には、集約印刷、両面印刷のような複合機１００の各種機能の設定値、印刷枚数、用紙サイズを含めることができる。リモート装置７で内容情報を定めることができる。
【００５４】
また、印刷のシミュレーションで用いる画像データは、適宜、メインメモリー１１に入力される。印刷のシミュレーションで用いる画像データは、リモート装置７から入力されてもよい。印刷のシミュレーションで用いる画像データを外部記憶装置６に記憶させておき、処理装置１０が画像データを読み出してもよい。
【００５５】
リモート装置７からのトリガー信号が通信インターフェイス５に入力され、トリガー信号に付された内容情報に応じた印刷のシミュレーションが開始されたとき、主制御基板用ファームウェア１６は、処理装置１０に印刷命令を出させる（ステップ０１）。印刷命令が出され、仮想基板１７を構成するプログラムに基づき、処理装置１０は、仮想基板１７の処理状態を印刷実行状態Ｓ１とするための関数、プログラムを呼び出す。
【００５６】
これにより、仮想基板１７は印刷実行状態Ｓ１となる。処理装置１０は、メインメモリー１１の仮想基板１７の状態を記憶する領域に印刷実行状態Ｓ１である旨を記憶させる。そして、処理装置１０は、仮想基板１７、仮想同期信号生成部１８、画像抽出部１９のプログラムに基づき、印刷のシミュレーションを開始する。
【００５７】
印刷実行状態Ｓ１になったとき（ステップ０１）、仮想基板１７は、同期信号生成開始命令を出す（ステップ０２）。仮想基板１７が同期信号生成開始命令を出したとき、仮想基板１７を構成するプログラムに基づき、処理装置１０は、仮想同期信号生成部１８の処理状態を同期信号生成状態Ｓ２とするための関数、プログラムを呼び出す。
【００５８】
これにより、仮想同期信号生成部１８は、同期信号生成状態Ｓ２となる。この状態になると、仮想同期信号生成部１８は、仮想同期信号ＳＹＣを処理装置１０に生成させ、生成した仮想同期信号ＳＹＣを画像処理回路１２に入力させる（図２参照）。言い換えると、処理装置１０は、仮想同期信号生成部１８のプログラムに基づき、仮想同期信号ＳＹＣを生成し、生成された仮想同期信号ＳＹＣを画像処理回路１２に入力する。また、処理装置１０は、メインメモリー１１の仮想同期信号生成部１８の状態を記憶する領域に同期信号生成状態Ｓ２である旨を記憶させる。
【００５９】
同期信号生成状態Ｓ２になったとき、仮想同期信号生成部１８は、同期信号生成開始通知を画像抽出部１９に出す（ステップ０３）。同期信号生成開始通知を出したとき、仮想同期信号生成部１８及び画像抽出部１９のプログラムに基づき、処理装置１０は、画像抽出部１９の処理状態を保存処理状態Ｓ３とするための関数、プログラムを呼び出す。
【００６０】
これにより、画像抽出部１９は、保存処理状態Ｓ３となる。保存処理状態Ｓ３になると、画像抽出部１９は、画像処理回路１２によって処理された画像データであって、メインメモリー１１に書き込まれた画像データを抽出する。また、画像抽出部１９は、抽出した画像データの外部記憶装置６への保存処理を行う。言い換えると、処理装置１０は、画像抽出部１９のプログラムに基づき、画像処理回路１２によって処理された画像データを抽出し、抽出した画像データの外部記憶装置６への保存処理を通信インターフェイス５に行わせる。また、処理装置１０は、メインメモリー１１の画像抽出部１９の状態を記憶する領域に保存処理状態Ｓ３である旨を記憶させる。
【００６１】
実際の複合機１００では、画像形成部２ｃでの感光体ドラムの露光に用いる画像データ（レーザーの点灯、消灯を指示するデータ）が、主制御基板１からエンジン制御基板２０に送信される。そして、印刷がなされると、画像データは、メインメモリー１１から消去される。単にシミュレーションするだけでは、どのような画像データが生成されたかわからない。
【００６２】
主制御基板１は、画像抽出部１９を含む。そのため、外部記憶装置６に保存された画像データを見て、どのような画像データが生成されたかを確認することができる。従って、形成され、用紙に印刷される画像に異常があるか否かを検証することができる。ここで、外部記憶装置６に保存される画像データは、開発者が画像の内容を読み取れる状態の画像データ（画像処理回路１２による一連の画像処理のうち、点灯、消灯を指示するデータへの変換前の画像データであって、特定段階までの画像処理がなされた画像データ）とできる。なお、レーザーの点灯、消灯を指示するデータを保存してもよい。
【００６３】
１ページ分の画像データの保存が終了したとき、画像抽出部１９のプログラムに基づき、処理装置１０は、画像抽出部１９の処理状態を保存完了状態Ｓ４とするための関数、プログラムを呼び出す。これにより、画像抽出部１９は、保存完了状態Ｓ４となる。保存完了状態Ｓ４になったとき、画像抽出部１９は、画像データの抽出と保存処理を完了する。言い換えると、処理装置１０は、画像抽出部１９のプログラムに基づき、画像処理回路１２によって処理された画像データの抽出と、通信インターフェイス５による抽出した画像データの外部記憶装置６への保存処理を終了する。また、処理装置１０はメインメモリー１１の画像抽出部１９の状態を記憶する領域に保存完了状態Ｓ４である旨を記憶させる。
【００６４】
保存完了状態Ｓ４になったとき、画像抽出部１９は、保存処理完了通知を仮想同期信号生成部１８に出す（ステップ０４）。実機では、全ての画像データをエンジン制御基板２０に送信したとき、完了となる。シミュレーションでは、画像データは外部記憶装置６に書き込まれる。ＵＳＢメモリーやＳＤカードのような外部記憶装置６へのデータの書き込みには、一定の時間がかかる。シミュレーションでは、画像データの最後の画素の書き込み完了の通知が外部記憶装置６からあった時点が保存処理の完了時点となる。実機に比べ、保存処理の完了は遅くなるので、シミュレーション特有の処理として、ステップ０４が設けられる。
【００６５】
保存処理完了通知を出したとき、仮想同期信号生成部１８及び画像抽出部１９のプログラムに基づき、処理装置１０は、仮想同期信号生成部１８の処理状態を同期終了状態Ｓ５とするための関数、プログラムを呼び出す。
【００６６】
これにより、仮想同期信号生成部１８は、同期終了状態Ｓ５となる。同期終了状態Ｓ５になると、仮想同期信号生成部１８は、仮想同期信号ＳＹＣの生成を終了する。言い換えると、処理装置１０は、仮想同期信号ＳＹＣの生成と画像処理回路１２への仮想同期信号ＳＹＣの入力を終了する。また、処理装置１０は、メインメモリー１１の仮想同期信号生成部１８の状態を記憶する領域に同期終了状態Ｓ５である旨を記憶させる。
【００６７】
同期終了状態Ｓ５になったとき、仮想同期信号生成部１８は、同期終了通知を画像抽出部１９に出す（ステップ０５）。同期終了通知を出したとき、仮想同期信号生成部１８及び画像抽出部１９のプログラムに基づき、処理装置１０は、画像抽出部１９を同期終了通知受信状態Ｓ６とするための関数、プログラムを呼び出す。
【００６８】
そして、処理装置１０は、メインメモリー１１の画像抽出部１９の状態を記憶する領域に同期終了通知受信状態Ｓ６である旨を記憶させる。そして、画像抽出部１９は、処理完了通知を主制御基板用ファームウェア１６に出す（ステップ０６）。また、処理完了通知がなされたとき、主制御基板用ファームウェア１６に基づき、処理装置１０は、画像処理回路１２を停止させる。また、処理装置１０は、主制御基板用ファームウェア１６の画像処理回路１２の制御に関する処理を停止させる。
【００６９】
印刷のシミュレーション時、画像処理回路１２は、仮想同期信号ＳＹＣの入力が無くなった状態で待ち状態となっている場合がある。そこで、ステップ０６により、画像処理回路１２及び主制御基板用ファームウェア１６に画像処理回路１２を停止させるため強制的な割込がかけられる。
【００７０】
実際の印刷では、１ページ分の画像データの出力完了後、トナー像形成、トナー像の用紙への転写、トナーの定着のために用紙搬送がなされる。そして、トナーが定着された用紙は、機外に排出される。
【００７１】
実際の印刷を模倣して、用紙搬送ウェイト（待ち時間）が設けられる。用紙搬送ウェイトは、トナー像形成から実際に用紙が排出されるまでの時間を参考に長さが定められる。
【００７２】
同期終了通知を出したとき、仮想同期信号生成部１８のプログラムに基づき、処理装置１０は、仮想同期信号生成部１８の処理状態を用紙搬送ウェイト状態Ｓ７とするための関数、プログラムを呼び出す。
【００７３】
これにより、仮想同期信号生成部１８は、用紙搬送ウェイト状態Ｓ７となる。また、処理装置１０は、メインメモリー１１の仮想同期信号生成部１８の状態を記憶する領域に用紙搬送ウェイト状態Ｓ７である旨を記憶させる。用紙搬送ウェイト状態Ｓ７となってから用紙搬送ウェイト分の時間が経過したとき、仮想同期信号生成部１８のプログラムに基づき、処理装置１０は、仮想同期信号生成部１８の処理状態をウェイト終了状態Ｓ８とするための関数、プログラムを呼び出す。これにより、仮想同期信号生成部１８は、ウェイト終了状態Ｓ８となる。処理装置１０は、メインメモリー１１の仮想同期信号生成部１８の状態を記憶する領域にウェイト終了状態Ｓ８である旨を記憶させる。
【００７４】
ウェイト終了状態Ｓ８になったとき、仮想同期信号生成部１８は、印刷完了通知を仮想基板１７に出す（ステップ０７）。印刷完了通知を出した状態となったとき、処理装置１０は、仮想基板１７を印刷完了状態Ｓ９とするための関数、プログラムを呼び出す。これにより、仮想基板１７での印刷実行状態Ｓ１が解除される。
【００７５】
また、印刷実行状態Ｓ１の解除に伴い（ステップ０７）。仮想基板１７は、排出完了通知を主制御基板用ファームウェア１６に出す（ステップ０８）。実機では、機外に印刷済の用紙を排出する排出センサーが用紙の搬送路に設けられる。実機では、エンジン制御基板２０は、排出センサーの出力に基づき、印刷済用紙の機外への排出を認識する。実機では、エンジン制御基板２０は、用紙の排出検知を、１枚の用紙の印刷完了通知として、主制御基板１に送信する。主制御基板１は、エンジン制御基板２０の排出検知に基づき、１枚の用紙の印刷完了を認識する。
【００７６】
排出完了通知がなされると、処理装置１０（主制御基板用ファームウェア１６）は、ステップ０１の印刷命令に対応する印刷が完了したと認識する（エンド、印刷のシミュレーションの完了）。
【００７７】
このようにして、実施形態に係る主制御基板１は、画像形成装置内に設けられる基板であって、メインメモリー１１、通信インターフェイス５（接続用インターフェイス５１、ネットワークインターフェイス５２）、処理装置１０を含む。通信インターフェイス５は、制御命令を外部から入力するためのリモート装置７と外部記憶装置６を接続可能である。処理装置１０は、メインメモリー１１の記憶内容に基づき処理を行う。処理装置１０は、画像形成装置の主制御基板１に搭載されるメインコントロールファームウェア１５と、画像形成装置内に設けられる基板であって主制御基板１と接続される副制御基板をプログラム的に再現した仮想基板１７をメインメモリー１１に記憶させ、実際の副制御基板のように仮想基板１７を動作させることを特徴とする主制御基板１。
【００７８】
これにより、主制御基板１のメインコントロールファームウェア１５に副制御基板及びそのファームウェアを仮想的に組み込むことができる。主制御基板１内に副制御基板を仮想的に組み込むので、副制御基板が接続されているかのように主制御基板１を振る舞わせることができる。従って、Ｉ／Ｏ中継基板のようなハードウェアを用いずに主制御基板１と副制御基板のファームウェアや動作をシミュレーションにより検証することができる。従来、開発過程でのシミュレーションに必要であったＩ／Ｏ中継基板のようなハードウェアが必要なくなる。従って、開発コストと開発の手間を減らすことができる。
【００７９】
また、副制御基板は、画像形成装置内で印刷ジョブを行う印刷部２の動作を制御するエンジン制御基板２０である。仮想基板１７は、エンジン制御基板２０をプログラム的に再現したものである。処理装置１０は、エンジン制御基板２０の仮想基板１７に、実際のエンジン制御基板２０の動作を模倣させる。
【００８０】
これにより、主制御基板１のメインコントロールファームウェア１５にエンジン制御基板２０及びそのファームウェアを仮想的に組み込むことができる。そして、エンジン制御基板２０が接続されているかのように主制御基板１を振る舞わせることができる。従って、Ｉ／Ｏ中継基板のようなハードウェアを用いずに、エンジン制御基板２０のハードやファームウェアに異常があるか否かをシミュレーションにより検証することができる。従って、シミュレーションに必要であったハードウェアを減らし、開発コストと開発の手間を減らすことができる。
【００８１】
また、主制御基板１は、エンジン制御基板２０に送信するために画像データに対して画像処理を行い、画像処理後の画像データをメインメモリー１１に書き込む画像処理回路１２を含む。処理装置１０は、メインメモリー１１に書き込まれた画像データを抽出して通信インターフェイス５に接続された外部記憶装置６への保存処理を処理装置１０に行わせる画像抽出部１９と、印刷ジョブのときエンジン制御基板２０から画像処理回路１２に向けて送信される同期信号を模倣した仮想同期信号ＳＹＣの画像処理回路１２への入力を処理装置１０に行わせる仮想同期信号生成部１８をメインメモリー１１に記憶させる。仮想同期信号生成部１８によって仮想同期信号ＳＹＣの生成が開始され、仮想同期信号ＳＹＣが画像処理回路１２に入力されたとき、画像処理回路１２は、画像データの画像処理を開始する。処理装置１０は、画像抽出部１９に基づき、メインメモリー１１に書き込まれた画像処理後の画像データの外部記憶装置６への保存を通信インターフェイス５に行わせる。
【００８２】
エンジン制御基板２０が画像処理回路１２に印刷準備ができた旨を知らせるため、及び、転送される画像データの同期をとるため、エンジン制御基板２０が画像処理回路１２に同期信号を送信することがある。シミュレーションのとき、実際には主制御基板１とエンジン制御基板２０は接続されないところ、仮想同期信号生成部１８によって、同期信号の画像処理回路１２への入力をエンジン制御基板２０に代わって処理装置１０に行わせることができる。これにより、印刷ジョブ時の動作をシミュレートすることができる。また、画像抽出部１９の処理によって、シミュレートにより印刷ジョブのために生成された画像データを抽出し、抽出した画像データを外部記憶装置６に記憶させることができる。外部記憶装置６に保存された画像データを確認して、正常な画像データが生成されるか否か、及び、印刷される画像に問題があるか否かを確認することができる。
【００８３】
また、メインコントロールファームウェア１５から印刷命令を受けたとき、仮想基板１７は、仮想同期信号ＳＹＣの生成開始を仮想同期信号生成部１８に命令する。仮想同期信号ＳＹＣの生成が開始されたとき、仮想同期信号生成部１８は、仮想同期信号ＳＹＣの生成開始を画像抽出部１９に通知する。仮想同期信号生成部１８からの通知に応じて、画像抽出部１９は、保存処理を処理装置１０に行わせ、保存処理の完了を仮想同期信号生成部１８に通知する。保存処理の完了が仮想同期信号生成部１８に通知されたとき、処理装置１０は、仮想同期信号ＳＹＣの画像処理回路１２への入力を停止する。
【００８４】
これにより、主制御基板１とエンジン制御基板２０による印刷ジョブのときの処理を処理装置１０に行わせることができる。そして、主制御基板１とエンジン制御基板２０のファームウェア上の問題や、両基板間での信号のやりとりに問題があるか否かを、シミュレーションにより検証、確認することができる。
【００８５】
また、仮想基板１７は、リモート装置７から通信インターフェイス５に入力された状態変更命令を認識し、状態変更命令に応じて状態を変更する。これにより、リモート装置７から状態変更命令を入力し、仮想基板１７の反応を確認することで、エンジン制御基板２０のファームウェアに問題があるか否かを検証、確認することができる。
【００８６】
また、処理装置１０は、エンジン制御基板２０の不揮発メモリーに記憶されるデータであるエンジンデータＤ１を通信インターフェイス５に接続されている外部記憶装置６から読み出し、メインメモリー１１にエンジンデータＤ１を記憶させる。これにより、外部記憶装置６に接続して仮想基板１７をメインメモリー１１内に構築することができる。
【００８７】
また、本発明は、主制御基板１の制御方法と捉えることもできる。具体的に、画像形成装置の主制御基板１に搭載されるメインコントロールファームウェア１５と、画像形成装置内に設けられる基板であって主制御基板１の制御に基づき動作する副制御基板をプログラム的に再現した仮想基板１７を主制御基板１のメインメモリー１１に記憶させ、実際の副制御基板のように仮想基板１７を動作させる主制御基板１の制御方法と捉えることもできる。
【００８８】
又、本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【００８９】
本発明は画像形成装置に搭載される主制御基板に利用可能である。
【符号の説明】
【００９０】
１００  複合機（画像形成装置）          １      主制御基板
１０    処理装置                        １１    メインメモリー
１５    メインコントロールファームウェア
１２    画像処理回路                    １７    仮想基板
１８    仮想同期信号生成部              １９    画像抽出部
２０    エンジン制御基板（副制御基板）  ５      通信インターフェイス
５１    接続用インターフェイス          ５２    ネットワークインターフェイス
６      外部記憶装置                    ７      リモート装置
Ｄ１    エンジンデータ
【図１】
2017159501.tif 000003
【図２】
2017159501.tif 000004
【図３】
2017159501.tif 000005