(57)【特許請求の範囲】
【請求項１】
対象装置の動作を模擬するシミュレーション装置であって、
前記対象装置の模擬を実行するための複数のデジタル処理媒体と、
前記複数のデジタル処理媒体とバス配線により接続され、前記複数のデジタル処理媒体の間における情報の転送を行う転送手段と、
を備えており、
前記複数のデジタル処理媒体の少なくとも２つは、前記バス配線より高速に情報を転送し、変化速度が所定値より大きい情報の転送に使用されるダイレクトラインにより接続され、
前記所定値は、前記転送手段を介した情報の転送速度の最大値より小さいことを特徴とするシミュレーション装置。
【請求項２】
前記複数のデジタル処理媒体のそれぞれは、１つの集積回路であることを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記複数のデジタル処理媒体のそれぞれは、デジタル・シグナル・プロセッサ又はフィールド・プログラマブル・ゲート・アレイであることを特徴とする請求項１又は２に記載のシミュレーション装置。
【請求項４】
前記転送手段は、プロセッサであり、
前記プロセッサは、前記対象装置の一部の模擬対象の模擬処理を実行することを特徴とする請求項１から３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記プロセッサが実行する模擬処理においては、三角関数による演算、微分積分演算及び乗除算の少なくとも１つが行われることを特徴とする請求項４に記載のシミュレーション装置。
【請求項６】
前記プロセッサが実行する模擬処理は、ハードウェアで実現すると所定の回路規模より大きくなる処理であることを特徴とする請求項４に記載のシミュレーション装置。
【請求項７】
前記対象装置の制御部の動作を模擬する、前記プロセッサとは別のプロセッサをさらに備えていることを特徴とする請求項４から６のいずれか１項に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置の動作を模擬するシミュレーション装置に関する。
【背景技術】
【０００２】
特許文献１は、シミュレーションの実行時間を短縮するため、複数の計算機をネットワークで接続してシミュレーション装置を構成することを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１６５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
模擬対象の装置（以下、単に、対象装置と呼ぶ。）のシミュレーションのため、ＤＳＰやＦＰＧＡ等のデジタル処理媒体を複数利用する構成では、複数のデジタル処理媒体間でのデータ共有のため、データ共有用のＣＰＵを設け、これらをバスで接続する必要がある。しかしながら、データ共有用のＣＰＵとデジタル処理媒体とをバス接続する構成において、実時間でシミュレーションを行うには、バス速度及びデータ共有用のＣＰＵの処理速度を高速にする必要があり、シミュレーション装置が高価となる。
【０００５】
本発明は、実時間でのシミュレーションを安価に行うことができるシミュレーション装置を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一側面によると、対象装置の動作を模擬するシミュレーション装置は、前記対象装置の模擬を実行するための複数のデジタル処理媒体と、前記複数のデジタル処理媒体とバス配線により接続され、前記複数のデジタル処理媒体の間における情報の転送を行う転送手段と、を備えており、前記複数のデジタル処理媒体の少なくとも２つは、前記バス配線より高速に情報を転送し、変化速度が所定値より大きい情報の転送に使用されるダイレクトラインにより接続され、前記所定値は、前記転送手段を介した情報の転送速度の最大値より小さいことを特徴とする。
【発明の効果】
【０００７】
本発明によると、実時間でのシミュレーションを安価に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態によるシミュレーション装置の構成図。
【図２】一実施形態によるシミュレーション装置での模擬処理のフローチャート。
【図３】一実施形態によるシミュレーション装置での印刷準備動作の模擬処理のフローチャート。
【図４】一実施形態によるシミュレーション装置での印刷動作の模擬処理のフローチャート。
【図５】一実施形態によるシミュレーション装置の構成図。
【図６】一実施形態によるシミュレーション装置での温度制御動作の模擬処理のフローチャート。
【図７】一実施形態によるシミュレーション装置での温度制御動作の模擬処理のフローチャート。
【図８】一実施形態によるシミュレーション装置での電力投入期間の説明図。
【発明を実施するための形態】
【０００９】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１０】
＜第一実施形態＞
図１は、本実施形態によるシミュレーション装置の構成図である。なお、本実施形態において、シミュレーション装置は画像形成装置の動作を模擬するものとする。しかしながら、本発明のシミュレーション装置の対象装置は画像形成装置に限定されず、複数のデジタル処理媒体を使用することで対象装置の模擬を行う任意のシミュレーション装置に本発明を適用できる。プリンタ制御ＣＰＵ１０１は、模擬対象である画像形成装置の全体を制御する制御部の動作を模擬する。例えば、プリンタ制御ＣＰＵ１０１は、画像形成装置の全体を制御する制御部が実行するのと同じプログラムを実行して模擬処理を行う。デジタル処理媒体１０２及び１０３は、模擬対象である画像形成装置において制御部により制御される機能、機構、部材の動作・挙動を模擬する。さらに、デジタル処理媒体１０２及び１０３は、これら動作・挙動の模擬に必要な温度等の模擬対象の模擬も行う。なお、デジタル処理媒体１０２及び１０３は、例えば、デジタル・シグナル・プロセッサ（ＤＳＰ）やフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等の集積回路で構成される。本実施形態においては、デジタル処理媒体１０２及び１０３により、画像形成装置の感光ドラムを模擬するドラム部１０５と、用紙の搬送を模擬する用紙搬送部１１１が形成される。より詳しくは、ドラム部１０５は、デジタル処理媒体１０２のみにより実現され、用紙搬送部１１１は、デジタル処理媒体１０２及び１０３の両方を使用して実現される。また、本実施形態においては、デジタル処理媒体１０２及び１０３間におけるデータ共有のためのデータ共有用ＣＰＵ１０４が設けられる。
【００１１】
ドラム部１０５のドラムモータ１０７は、感光ドラムを回転駆動させるモータの動作を模擬する。具体的には、ドラムモータ１０７は、プリンタ制御ＣＰＵ１０１が出力するモータ駆動信号１０６に基づき、モータの回転状態を模擬し、回転状態を示すエンコーダパルス信号１０８を出力する。ホームポジションセンサ１０９は、エンコーダパルス信号１０８に基づき感光ドラムの回転位置を求め、回転位置が所定位置（以下、ホームポジションと呼ぶ）になったタイミングを示す回転位置信号１１０をプリンタ制御ＣＰＵ１０１に出力する。用紙搬送部１１１の用紙搬送モータ１１３は、画像形成装置における用紙搬送機構において用紙を搬送するためのモータの動作を模擬する。具体的には、用紙搬送モータ１１３は、プリンタ制御ＣＰＵ１０１が出力するモータ駆動信号１１２に基づき、用紙を搬送するためのモータの回転状態を模擬し、回転状態を示すエンコーダパルス信号１１４を、用紙位置管理部１１６に出力する。さらに、用紙搬送モータ１１３は、モータの回転方向を示す回転方向信号１１５を、データ共有用ＣＰＵ１０４の情報共有部５１３を介して用紙位置管理部１１６に出力する。用紙位置管理部１１６は、エンコーダパルス信号１１４及び回転方向信号１１５に基づき、搬送される用紙位置を計算し、用紙位置を示す用紙位置信号１１７を搬送路センサ１１８に出力する。搬送路センサ１１８は、模擬対象の画像形成装置において用紙搬送路に設けられ、検出位置において用紙を検出するセンサを模擬するものであり、用紙位置信号が検出位置を示すと、用紙検出信号１１９をプリンタ制御ＣＰＵ１０１に出力する。
【００１２】
配線１２０及び配線１２１は、ゲートアレイで構成されており、同じデジタル処理媒体内の各機能ブロック間での情報共有を行うためのものである。一方、ダイレクトライン１２２は、デジタル処理媒体１０２及び１０３を直接接続する配線であり、デジタル処理媒体１０２に形成された機能ブロックと、デジタル処理媒体１０３に形成された機能ブロックとの間での情報共有のために設けられる。また、データ共有用ＣＰＵ１０４と、デジタル処理媒体１０２及び１０３とを接続するバス配線１２３が、データ共有用ＣＰＵ１０４の情報共有部５１３に共有すべきデータを送り、情報共有部５１３から共有すべきデータを受け取るために設けられる。この様に、本実施形態においては、デジタル処理媒体１０２及び１０３間におけるデータ共有は、ダイレクトライン１２２により行われるものと、データ共有用ＣＰＵ１０４を使用し、よって、バス配線１２３により行われるものとに分けられる。
【００１３】
ここで、ダイレクトライン１２２は、バス配線１２３より高速に信号伝送が可能であり、例えば、数十ＭＨｚまでの信号を伝搬することが可能な様に構成される。一方、バス配線１２３は、ダイレクトライン１２２より低速で動作し、例えば、２ｋＨｚ未満程度までの信号を伝搬する。本実施形態は、バス配線１２３の速度制限により、バス配線１２３を使用して共有できない情報については、ダイレクトライン１２２を使用し、バス配線１２３を利用できるものについては、バス配線１２３を利用して情報共有を行う。例えば、変化速度が所定値より大きい情報の転送にはダイレクトライン１２２を使用し、変化速度が所定値以下の情報の転送にはバス配線１２３を使用する。この所定値は、バス配線１２３を利用した情報転送速度の最大値より小さい値とする。これは、バス配線１２３を利用した情報転送速度は、バス配線の物理速度である、情報転送の最大値を上限として変化するからである。したがって、所定値をバス配線の情報転送速度の最大値より小さい値とすることで、バス配線１２３による情報共有を確実に行う。なお、バス配線による情報転送速度が固定的である場合には、所定値を固定値であるバス配線による情報転送速度とすることもできる。本実施形態においては、エンコーダパルス信号１１４が示す回転状態の情報は、２ｋＨｚ以上の速さで変化するため、ダイレクトライン１２２を使用する。一方、回転方向信号１１５の変化は小さく、バス配線１２３で十分に転送できるため、回転方向信号１１５はバス配線１２３を使用する。
【００１４】
図２は、シミュレーション装置において印刷動作を模擬する処理のフローチャートである。Ｓ１０で、プリンタ制御ＣＰＵ１０１は、ユーザ操作により印刷命令を受信するまで待機する。ユーザ操作による印刷命令を受信すると、プリンタ制御ＣＰＵ１０１は、Ｓ１１で、印刷準備動作の模擬処理を行う。印刷準備動作の模擬処理が終了すると、プリンタ制御ＣＰＵ１０１は、Ｓ１２で、印刷動作の模擬処理を行う。
【００１５】
図３は、図２のＳ１１における印刷準備動作の模擬処理のフローチャートである。プリンタ制御ＣＰＵ１０１は、Ｓ２０でモータ駆動信号１０６をドラムモータ１０７に出力する。Ｓ２１で、ドラムモータ１０７は、モータ駆動信号１０６に従い感光ドラムの回転動作を模擬し、回転状態を示すエンコーダパルス信号１０８をホームポジションセンサ１０９に出力する。例えば、感光ドラムの駆動モータが、１回転当たり１００パルスをエンコーダパルス信号１０８として出力し、最大２０００ｒｐｍで回転するものとする。この場合、エンコーダパルス信号１０８の速度変化の最大値は、２０００×１００／６０であり、約３．３ｋＨｚで変化することになる。エンコーダパルス信号１０８を伝送するための配線１２０は、ゲートアレイで作られた配線である。したがって、最大３．３ｋＨｚの速度で変化するエンコーダパルス信号１０８を伝送でき、よって、実時間でシミュレーションを行うにあたり十分高速に機能ブロック間での情報共有を行うことができる。
【００１６】
Ｓ２２で、ホームポジションセンサ１０９は、エンコーダパルス信号１０８に基づき、模擬対象の感光ドラムの回転位置を判定し、回転位置がホームポジションになったタイミングを示す回転位置信号１１０をプリンタ制御ＣＰＵ１０１に出力する。プリンタ制御ＣＰＵ１０１は、回転位置信号１１０に基づき、模擬対象の感光ドラムがホームポジションになると、Ｓ２３で印刷準備動作の模擬処理を終了する。
【００１７】
図４は、図２のＳ１２における印刷動作の模擬処理のフローチャートである。Ｓ３０で、プリンタ制御ＣＰＵ１０１は、モータ駆動信号１１２を用紙搬送モータ１１３に出力する。Ｓ３１で、用紙搬送モータ１１３は、モータ駆動信号１１２に基づき、用紙搬送の駆動モータの動作を模擬し、エンコーダパルス信号１１４及び回転方向信号１１５を用紙位置管理部１１６に出力する。なお、上述した様に、エンコーダパルス信号１１４は、ダイレクトライン１２２により伝送され、回転方向信号１１５は、バス配線１２３によりデータ共有用ＣＰＵ１０４を介して伝送される。
【００１８】
例えば、用紙搬送のための駆動モータが、１回転当たり１００パルスをエンコーダパルス信号１１４として出力し、最大２０００ｒｐｍで回転するものとする。この場合、エンコーダパルス信号１１４の速度変化の最大値は、エンコーダパルス信号１０８と同様に最大３．３ｋＨｚである。一方、用紙搬送のためのモータの回転方向を変更するに当たり、当該モータを停止させて、逆方向への回転を開始するには１００ｍｓ程度の時間がかかるものとする。この場合、回転方向信号１１５の変化の最大値は１０Ｈｚである。したがって、上述した様に、回転方向信号１１５については、バス配線１２３により伝送可能であり、本実施形態ではバス配線１２３を使用する。一方、エンコーダパルス信号１１４については、バス配線１２３ではなく、ダイレクトライン１２２を使用する。
【００１９】
用紙位置管理部１１６は、Ｓ３２で、エンコーダパルス信号１１４及び回転方向信号１１５に従い用紙位置を算出し、用紙位置信号１１７を出力する。搬送路センサ１１８は、Ｓ３３で、用紙位置信号１１７に基づき用紙が所定位置にあることを検出すると、用紙検出信号１１９をプリンタ制御ＣＰＵ１０１に出力する。Ｓ３４で、プリンタ制御ＣＰＵ１０１は、所定のタイミングにおいて、用紙検出信号１１９が用紙を検出していることを示しているか否かを判定する。所定のタイミングにおいて、用紙が所定位置にあると、プリンタ制御ＣＰＵ１０１は、印刷動作の模擬処理を終了する。一方、所定のタイミングにおいて、用紙が所定位置にはないと、プリンタ制御ＣＰＵ１０１は、Ｓ３５で、印刷失敗を報知し、印刷動作の模擬処理を終了する。
【００２０】
以上、複数のデジタル処理媒体を使用するシミュレーション装置において、変化速度の最大値が所定値以下である情報については、バス配線によりデータ共有用ＣＰＵ１０４を介してデジタル処理媒体間での情報共有を行う。一方、変化速度の最大値が所定値より大きい情報については、デジタル処理媒体間に設けたダイレクトライン１２２により情報共有を行う。したがって、バス速度及びデータ共有用ＣＰＵ１０４の処理速度を増加させることなく実時間でシミュレーションが可能になる。また、高速なバス配線１２３やデータ共有用ＣＰＵ１０４を必要としないため、安価にシミュレーション装置を実現することができる。なお、本実施形態では、２つのデジタル処理媒体でシミュレーション装置を構成するものとしたが、３つ以上のデジタル処理媒体を使用する場合には、少なくとも２つのデジタル処理媒体間にダイレクトラインを設ける。どのデジタル処理媒体間にダイレクトラインを設けるかは、デジタル処理媒体間において共有する情報の変化速度に基づき決定される。
【００２１】
＜第二実施形態＞
続いて、第二実施形態について第一実施形態との相違点を中心に説明する。図５は、本実施形態によるシミュレーション装置の構成図である。本実施形態のシミュレーション装置は、第一実施形態の構成に加え、模擬対象の画像形成装置においてトナー像を用紙に定着させる定着部の温度状態を模擬する定着温度部５０１とデジタル・アナログ変換器（ＤＡＣ）５１１を追加したものである。なお、定着温度部５０１は、デジタル処理媒体１０２及びデータ共有用ＣＰＵ１０４を使用して実現している。つまり、本実施形態において、データ共有用ＣＰＵ１０４は、対象装置の一部の模擬対象の模擬処理を行う。
【００２２】
定着温度部５０１のゼロクロス信号生成部５０４は、定着部への入力電源である、図示しないＡＣ電源からの電圧が０Ｖとなるタイミングを示すゼロクロス信号５０８をプリンタ制御ＣＰＵ１０１及び電力投入時間測定部５０５に出力する。電力投入時間測定部５０５は、プリンタ制御ＣＰＵ１０１から入力される電力投入信号５０２と、ゼロクロス信号５０８に基づき、定着部のヒータに電力が投入されている電力投入期間Ｔｏｎを計算する。図８は、ＡＣ電源からの電圧と、ゼロクロス信号５０８と、電力投入信号５０２と、電力投入期間Ｔｏｎの関係を示している。電力投入信号５０２は、定着部への通電を開始するタイミングを示す信号であり、電力投入時間測定部５０５は、定着部への通電を開始するタイミングから、ゼロクロス信号５０８が０Ｖを示すタイミングまでを電力投入期間Ｔｏｎとして求める。そして、電力投入期間Ｔｏｎを示す電力投入期間信号５０９を、定着部のヒータを模擬する、データ共有用ＣＰＵ１０４に形成されたヒータ部５０６に出力する。
【００２３】
電力投入時間取得部５１４は、電力投入期間信号５０９に基づき電力投入期間Ｔｏｎを取得し、温度計算部５１５は、電力投入期間Ｔｏｎに基づきヒータの温度を計算する。具体的には、以下の式によりヒータ温度を計算する。
【００２４】
【数１】
0006719222.tif 000002
ここで、Ｈｔｅｍｐはヒータ温度であり、Ｃは定着部の熱容量であり、ＶはＡＣ電源電圧の振幅であり、ｆはＡＣ電源の周波数であり、Ｒはヒータの抵抗値であり、αは空間に放熱される単位時間当たりの温度である。上の式は、三角関数、積分、乗算を含むため計算負荷が大きい。しかしながら、ヒータの温度変化は穏やかであり、データ共有用ＣＰＵ１０４にかかる負荷は小さい。第一実施形態にて述べた様に、回転方向信号１１５は１０Ｈｚ程度であるため、回転方向の共有のためにデータ共有用ＣＰＵ１０４にかかる処理負荷も小さい。よって、データ共有用ＣＰＵ１０４は、実時間でヒータの温度計算と、回転方向の共有処理を実行することができる。
【００２５】
温度出力部５１６は、温度計算部５１５が計算したヒータ温度を示す温度信号５１０をサーミスタ部５０７に出力する。サーミスタ部５０７は、ヒータ温度に基づきサーミスタの電圧を示すサーミスタ信号５０３を出力する。ＤＡＣ５１１は、デジタル信号であるサーミスタ信号５０３を、アナログ信号５１２に変換してプリンタ制御ＣＰＵ１０１に出力する。
【００２６】
図８より、電力投入期間Ｔｏｎは、ＡＣ波形の半波ごとに更新される。つまり、交流電圧が６０Ｈｚであるとしても、その変化は、最大で１２０Ｈｚである。したがって、電力投入期間信号５０９は、バス配線１２３により伝送することができる。また、ヒータ温度の変化は緩やかであり、例えば、その変化は最大でも５０Ｈｚである。したがって、温度信号５１０もバス配線１２３により伝送することができる。
【００２７】
本実施形態においても、印刷時の模擬処理のフローチャートは図２と同様であり、さらに、印刷準備動作の模擬処理も図３と同様である。図６は、図２の印刷動作時における定着温度に関する模擬処理のフローチャートである。Ｓ４０で、プリンタ制御ＣＰＵ１０１は、定着温度制御を行い、Ｓ４１で、プリンタ制御ＣＰＵ１０１は、ヒータの温度を判定する。図７は、Ｓ４０及びＳ４１での処理の詳細を示すフローチャートである。Ｓ５０で、ゼロクロス信号生成部５０４は、ゼロクロス信号５０８をプリンタ制御ＣＰＵ１０１及び電力投入時間測定部５０５へ出力する。Ｓ５１で、プリンタ制御ＣＰＵ１０１は、ゼロクロス信号５０８に基づき電力投入信号５０２を出力する。Ｓ５２で、電力投入時間測定部５０５は、ゼロクロス信号５０８及び電力投入信号５０２に基づき電力投入期間Ｔｏｎを算出し、電力投入期間信号５０９を出力する。ヒータ部５０６は、Ｓ５３で、電力投入期間信号５０９に基づきヒータ温度を求め、温度信号５１０をサーミスタ部５０７に出力する。サーミスタ部５０７は、Ｓ５４で、ヒータ温度からサーミスタ電圧を求め、サーミスタ信号５０３をプリンタ制御ＣＰＵ１０１に出力する。プリンタ制御ＣＰＵ１０１は、サーミスタ信号５０３に基づきヒータの温度を判定する。
【００２８】
図６に戻り、プリンタ制御ＣＰＵ１０１は、Ｓ４２でヒータ温度が目標温度に到達しているかを判定し、目標温度に到達していない場合には、Ｓ４３でヒータ温度が異常温度であるかを判定する。例えば、プリンタ制御ＣＰＵ１０１は、目標温度を含む所定範囲内にヒータ温度が無い場合、ヒータ温度が異常であると判定する。ヒータ温度が異常であると、プリンタ制御ＣＰＵ１０１は、Ｓ４４で失敗通知を行って処理を終了する。一方、異常温度ではない場合、Ｓ４０からの処理を繰り返す。また、Ｓ４２で目標温度に達すると、Ｓ４１からの処理を繰り返す。図６の処理は、印刷動作の開始により開始し、例えば、最初に目標温度に達すると、プリンタ制御ＣＰＵ１０１は、図３に示す用紙搬送の模擬処理を開始する。また、図３に示す用紙搬送の模擬処理の開始後においても、図７の処理は印刷動作の模擬処理が終了するまで継続して行う。
【００２９】
以上、本実施形態において、データ共有用ＣＰＵ１０４が仲介するデータ処理媒体間での情報共有は、比較的低速に変化する情報であるため、データ共有用ＣＰＵ１０４に処理対象装置の動作を模擬する機能ブロックを実現することができる。例えば、本実施形態で示す様に、データ共有用ＣＰＵ１０４が行う模擬処理は、三角関数による演算、微分積分演算及び乗除算の少なくとも１つを含むものとすることができる。また、ハードウェアで実現すると所定の回路規模より大きくなる処理を、データ共有用ＣＰＵ１０４で実行する構成とすることができる。データ共有用ＣＰＵ１０４を介する情報共有は、比較的低速であるため、データ共有用ＣＰＵ１０４を利用して上記模擬処理を実現することができる。よって、乗算器を持たないデジタル処理媒体や、演算速度が低速なデジタル処理媒体又は回路規模が小さいデジタル処理媒体を使用することができ、安価なシミュレーション装置を実現することができる。
【００３０】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３１】
１０２、１０３：デジタル処理媒体、１０４：データ共有用ＣＰＵ、１２２：ダイレクトライン、１２３：バス配線
【図１】
0006719222.tif 000003
【図２】
0006719222.tif 000004
【図３】
0006719222.tif 000005
【図４】
0006719222.tif 000006
【図５】
0006719222.tif 000007
【図６】
0006719222.tif 000008
【図７】
0006719222.tif 000009
【図８】
0006719222.tif 000010