(57)【要約】【課題】複数のＣＰＵを有する画像形成装置において、ＣＰＵ間のデータ転送の際、転送速度を向上させ、ＣＰＵの負荷を最適化する。【解決手段】コントローラＣＰＵ１０２とエンジンＣＰＵ１０３間でデータ転送が行われるとき、データサイズが所定の値以上であったら、大容量データ転送モードで転送が実行される。当該モードは、通信バッファＤＭＡＣ１１７が、メインメモリ１０４に格納されている大容量データを、コントローラＣＰＵ１０２の制御を介さないで読み出し、通信用ＳＲＡＭ１１６に一時的に格納し、データ受け取り先のエンジンＣＰＵ１０３に転送する。また、通信ログをとるモードでは、通信ログを通信用ＳＲＡＭ１１６に一時的に格納し、通信バッファＤＭＡＣ１１７がこれをメインメモリ１０４に格納する。【選択図】図１
2008227975.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算制御手段を備える画像形成装置であって、
前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御手段の主記憶とデータ転送先の演算制御手段間で、前記データ転送元の演算制御手段の制御を介さずに、前記主記憶に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、
該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記データ転送制御手段は、サイズが前記所定の値以上のデータの転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に、通知することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段は、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておき、
前記データ転送制御手段は、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
複数の演算制御手段を備える画像形成装置の制御方法であって、
前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上であるか否かを判断する大容量データ転送モード判定工程と、
該大容量データ転送モード判定工程により、前記転送されるデータのサイズが前記所定の値以上であると判断された場合に、データ転送元の演算制御手段の主記憶から、前記データ転送元の演算制御手段の制御を介さずに転送されるデータを、バッファリングを行う一時記憶手段に、入力するデータ転送制御工程と、
を有することを特徴とする画像形成装置の制御方法。
【請求項５】
前記データ転送制御工程の後に、データ転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に通知する転送終了通知工程を、さらに有することを特徴とする請求項４に記載の画像形成装置の制御方法。
【請求項６】
前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段が、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておく通信ログ取得工程と、
前記データ転送制御工程を実行するデータ転送制御手段が、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させる通信ログ出力工程と、
をさらに有することを特徴とする請求項４又は５に記載の画像形成装置の制御方法。
【請求項７】
複数の演算制御装置間のデータ転送を実行するデータ転送装置であって、
転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御装置の主記憶装置とデータ転送先の演算制御装置間で、前記データ転送元の演算制御装置の制御を介さずに、前記主記憶装置に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、
該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、
を有することを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法及びデータ転送装置に関し、特に、複数のＣＰＵ間のデータ転送技術に関する。
【背景技術】
【０００２】
プリンタや、コピー／ＦＡＸ／プリンタの機能を持つ複合機では、装置の制御のために複数のＣＰＵを搭載しており、それぞれのＣＰＵは、機能を実現するために各種コマンドやデータのやりとりを行っている。プリンタや複合機では、プリンタの画像の描画や各種アプリケーションの実行を行うコントローラＣＰＵと、用紙の搬送や作像、定着などの制御を行うエンジンＣＰＵが搭載されている。従来、コントローラＣＰＵとエンジンＣＰＵとの通信方法として、両方のＣＰＵからアクセスできるＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：特定用途向け集積回路）に小容量のバッファを設け、コマンドやデータのやりとりを行う方法が実施されていた（例えば、特許文献１の段落「００５２」等を参照）。
【特許文献１】特開２００５−０９４６７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術には、コントローラ側からエンジン側にプログラムをダウンロードしたり、大容量のエンジンパラメータをエンジン側からコントローラ側に転送したりする場合に、小容量に分けて転送を行うため、転送に時間がかかり、ＣＰＵの負荷も高くなっているという問題点があった。
【０００４】
また、デバッグ時に通信内容をモニタするために、外部にバスのプロトコルを観測するための専用のプロトコルモニタ装置を接続する必要があるという問題点もあった。
【０００５】
そこで本発明は、上記従来技術の問題点に鑑み、複数のＣＰＵを有する画像形成装置において、ＣＰＵ間のデータ転送の際、転送速度を向上させ、ＣＰＵの負荷を最適化することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための、請求項１に記載の発明は、複数の演算制御手段を備える画像形成装置であって、前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御手段の主記憶とデータ転送先の演算制御手段間で、前記データ転送元の演算制御手段の制御を介さずに、前記主記憶に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、を有することを特徴とする画像形成装置である。
【０００７】
請求項２に記載の発明は、請求項１に記載の画像形成装置において、前記データ転送制御手段は、サイズが前記所定の値以上のデータの転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に、通知することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載の画像形成装置において、前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段は、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておき、前記データ転送制御手段は、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させることを特徴とする。
【０００９】
請求項４に記載の発明は、複数の演算制御手段を備える画像形成装置の制御方法であって、前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上であるか否かを判断する大容量データ転送モード判定工程と、該大容量データ転送モード判定工程により、前記転送されるデータのサイズが前記所定の値以上であると判断された場合に、データ転送元の演算制御手段の主記憶から、前記データ転送元の演算制御手段の制御を介さずに転送されるデータを、バッファリングを行う一時記憶手段に、入力するデータ転送制御工程と、を有することを特徴とする画像形成装置の制御方法である。
【００１０】
請求項５に記載の発明は、請求項４に記載の画像形成装置の制御方法において、前記データ転送制御工程の後に、データ転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に通知する転送終了通知工程を、さらに有することを特徴とする。
【００１１】
請求項６に記載の発明は、請求項４又は５に記載の画像形成装置の制御方法において、前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段が、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておく通信ログ取得工程と、前記データ転送制御工程を実行するデータ転送制御手段が、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させる通信ログ出力工程と、をさらに有することを特徴とする。
【００１２】
請求項７に記載の発明は、複数の演算制御装置間のデータ転送を実行するデータ転送装置であって、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御装置の主記憶装置とデータ転送先の演算制御装置間で、前記データ転送元の演算制御装置の制御を介さずに、前記主記憶装置に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、を有することを特徴とするデータ転送装置である。
【発明の効果】
【００１３】
本発明によれば、複数のＣＰＵを有する画像形成装置において、ＣＰＵ間のデータ転送の際、転送速度を向上させ、ＣＰＵの負荷を最適化することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好適な実施の形態について図面を参照して説明する。
【００１５】
まず、本実施形態のハードウェア構成について説明する。図１を参照すると、本実施形態のハードウェアの構成例が示されている。図１に示した各部について説明する。
【００１６】
本実施形態の画像形成装置１００は、装置全体を制御するコントローラＣＰＵ１０２、作像制御等を実行するエンジンＣＰＵ１０３、メインメモリ１０４、ハードディスク１０５、操作部１０６を有して構成されており、各部はＡＳＩＣ１０１で相互に通信可能に接続されている。また、ＡＳＩＣ１０１は、外部の端末装置２００とも通信可能である。
【００１７】
ＡＳＩＣ１０１は、ハードディスク１０５やメインメモリ１０４、操作部１０６の制御及びコントローラＣＰＵ１０２とエンジンＣＰＵ１０３の通信のためのバッファを含む構成である。
【００１８】
コントローラＣＰＵ１０２は、プリンタの画像描画や各種アプリケーションの実行を行う。また、画像形成装置１００全体の制御も行う。
【００１９】
エンジンＣＰＵ１０３は、用紙の搬送や、作像、定着などの制御を行う。
【００２０】
メインメモリ１０４は、コントローラＣＰＵ１０２がプリンタの画像描画や各種アプリケーションの実行を行うための作業用メモリで、コントローラＣＰＵ１０２により、エンジンパラメータの一時記憶領域や、ＤＭＡＣ用ディスクリプタ領域などの用途に使用される。
【００２１】
ハードディスク１０５は、画像データの一時記憶や、画像形成装置１００の電源がオフになるときに保存しておく情報を記憶するための大容量記憶装置で、エンジンパラメータの保存などに使用する。
【００２２】
操作部１０６は、ユーザとのインターフェース装置で、各種情報の表示のための画面及び操作のためのキーを備える。例えば、液晶タッチパネルなどが利用できる。
【００２３】
端末装置２００は、パーソナルコンピュータなどのシリアルインターフェースを持つ情報処理装置が利用できる。端末装置２００は、デバッグ時にＡＳＩＣ１０１のシリアルインターフェース１１５に接続して、ＡＳＩＣ１０１内部のレジスタ１１１や通信用ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１６の書き込みデータの入力及び送信、読み出しデータの受信及び表示を行う。
【００２４】
ＡＳＩＣ１０１は、以下に挙げるモジュールを備える。
【００２５】
エンジンＣＰＵインターフェース１１３は、エンジンＣＰＵ１０３からの通信用ＳＲＡＭ１１６やレジスタ１１１へのアクセスの制御を行う。
【００２６】
エンジンＣＰＵインターフェース１１３とコントローラＣＰＵインターフェース１１４間には、データ転送の際に使用される小容量のバッファ領域が、受信用と送信用にそれぞれ用意されている。図２に、このＣＰＵインターフェース間通信の詳細を示す。
【００２７】
図２において、エンジンＣＰＵ用送信バッファ１２１は、エンジンＣＰＵ１０３がコントローラＣＰＵ１０２へ転送するコマンドやデータを書き込むための小容量のバッファ領域である。
【００２８】
コントローラＣＰＵ用送信バッファ１２４は、コントローラＣＰＵ１０２がエンジンＣＰＵ１０３へ転送するコマンドやデータを書き込むための小容量のバッファ領域である。
【００２９】
エンジンＣＰＵ用受信バッファ１２３は、コントローラＣＰＵ１０２がエンジンＣＰＵ１０３へ送信したコマンドやデータを読み出すための小容量のバッファ領域である。
【００３０】
コントローラＣＰＵ用受信バッファ１２２は、エンジンＣＰＵ１０３がコントローラＣＰＵ１０２へ送信したコマンドやデータを読み出すための小容量のバッファ領域である。
【００３１】
図１に戻り、ＡＳＩＣ１０１の他のモジュールの説明をする。通信用ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１６は、大容量のデータをコントローラＣＰＵ１０２とエンジンＣＰＵ１０３との間で送受信するために使用される大容量のメモリである。
【００３２】
レジスタ１１１は、それぞれのＣＰＵがＡＳＩＣ１０１の制御を行うためのパラメータ設定領域である。それぞれのＣＰＵ用に、動作モードレジスタ、割り込み要因レジスタ、割り込みマスクレジスタ、ＤＭＡＣモード設定レジスタ、ＤＭＡＣ起動レジスタ、送信／受信データサイズレジスタ、ＤＭＡ送信／受信データサイズレジスタ、読み出し終了レジスタ、ＤＭＡ読み出し終了レジスタなどを備える。
【００３３】
コントローラＣＰＵインターフェース１１４は、コントローラＣＰＵ１０２からの、通信用ＳＲＡＭ１１６やレジスタ１１１へのアクセス制御及びＡＳＩＣ１０１内各モジュールの制御を行う。
【００３４】
通信バッファＤＭＡＣ１１７は、通信用ＳＲＡＭ１１６とメインメモリ１０４との間で、ＤＭＡ転送を行う。
【００３５】
ハードディスクＤＭＡＣ１１９は、ハードディスクインターフェース１１８を経由してハードディスク１０５とメインメモリ１０４との間で、ＤＭＡ転送を行う。
【００３６】
ハードディスクインターフェース１１８は、ハードディスク１０５へのデータの書き込み、ハードディスク１０５からのデータの読み出しの制御を行う。
【００３７】
操作部コントローラ１２０は、操作部１０６の画面表示や、操作部１０６からのキー入力の制御を行う。
【００３８】
エンジンＣＰＵ割り込み制御部１１０は、ＡＳＩＣ１０１内部の各種主信号の状態に応じて割り込み信号を生成して、エンジンＣＰＵ１０３に割り込みを発生する。
【００３９】
コントローラＣＰＵ割り込み制御部１１２は、ＡＳＩＣ１０１内部の各種主信号の状態に応じて割り込み信号を生成して、コントローラＣＰＵ１０２に割り込みを発生する。
【００４０】
次に、本実施形態の動作モード切り替え動作の説明を、図３を参照して説明する。
【００４１】
［ステップＳ３０１］
通信ログをとるか否かを決める。通信ログをとる場合はステップＳ３０２へ進む。とらない場合はステップＳ３０３へ進む。
【００４２】
［ステップＳ３０２］
通信ログをとる場合は、動作モードレジスタが通信ログモードに設定される。この場合、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７は、通信ログ記録用に使用される。通信ログモードの詳細については後述する。
【００４３】
［ステップＳ３０３］
通信ログをとらない場合は、動作モードレジスタが大容量データ転送モードに設定される。この場合、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７は、大容量データ転送用に使用される。
【００４４】
［ステップＳ３０４］
大容量データ転送モードでデータ転送を行う場合、送信側のＣＰＵは、送信するデータサイズが一定サイズを超えているかどうかを判定する。超えている場合はステップＳ３０５へ、超えていない場合はステップＳ３０６へ進む。
【００４５】
［ステップＳ３０５］
送信するデータサイズが一定サイズを超えている場合は、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７を使用して、データの転送を行う。詳細は後述する。
【００４６】
［ステップＳ３０６］
送信するデータサイズが一定サイズを超えていない場合は、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７は使用せずに、図２に示したコントローラＣＰＵ用送信バッファ１２４及びコントローラＣＰＵ用受信バッファ１２２並びにエンジンＣＰＵ用送信バッファ１２１及びエンジンＣＰＵ用受信バッファ１２３を使用して通常のコマンドやデータの転送を行う。
【００４７】
次に、本実施形態の大容量データ転送モードについて説明する。前述の通り、大容量データ転送モードでは、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７を大容量データの転送に使用する。
【００４８】
まず、コントローラＣＰＵ１０２からエンジンＣＰＵ１０３への大容量データ転送について図４及び図５を参照して説明する。図４及び図５は、大容量データ転送モードで、コントローラＣＰＵ１０２からエンジンＣＰＵ１０３にデータを送信する場合の動作フローである。以下の説明においては、大容量データの一例として、エンジンが持つエンジンパラメータを転送する場合について説明する。
【００４９】
［ステップＳ４０１］
コントローラＣＰＵ１０２は、ハードディスク１０５にあるエンジンパラメータをメインメモリ１０４に転送するために、メインメモリ１０４にエンジンパラメータ用のメモリ領域を確保する。
【００５０】
［ステップＳ４０２］
コントローラＣＰＵ１０２は、ハードディスクＤＭＡＣ１１９によるＤＭＡ転送のためのディスクリプタ情報をメインメモリ１０４に書き込む。ディスクリプタ情報は、ＤＭＡ転送時のアドレスや転送サイズといったパラメータの情報である。
【００５１】
［ステップＳ４０３］
コントローラＣＰＵ１０２は、ハードディスクＤＭＡＣ１１９のＤＭＡＣモード設定レジスタをメモリライトモードにセットする。
【００５２】
［ステップＳ４０４］
コントローラＣＰＵ１０２は、ハードディスクＤＭＡＣ１１９のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【００５３】
［ステップＳ４０５］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、起動されると、メインメモリ１０４からディスクリプタ情報を読み出す。
【００５４】
［ステップＳ４０６］
ＡＳＩＣ１０１のハードディスクインターフェース１１８はハードディスク１０５からエンジンパラメータの読み出しを行い、ハードディスクＤＭＡＣ１１９に送る。
【００５５】
［ステップＳ４０７］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、ディスクリプタ情報に従ってエンジンパラメータをメインメモリ１０４に転送する。
【００５６】
［ステップＳ４０８］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、転送が終了していなければ、ステップＳ４０６へ戻る。
【００５７】
［ステップＳ４０９］
ＡＳＩＣ１０１のコントローラＣＰＵ割り込み制御部１１２は、転送が終了したら、コントローラＣＰＵ１０２にｃｏｍｐｌｅｔｅ割り込みを出力する。
【００５８】
［ステップＳ４１０］
コントローラＣＰＵ１０２は、ｃｏｍｐｌｅｔｅ割り込みが来たら、ＤＭＡ送信バッファエンプティ割り込み要因レジスタのチェックを行う。コントローラＣＰＵ１０２が送信したデータの読み出しをエンジンＣＰＵ１０３が完了していない場合、ＤＭＡ送信バッファエンプティ割り込み要因レジスタは０に、完了している場合は１になっている。
【００５９】
［ステップＳ４１１］
ＤＭＡ送信バッファエンプティ割り込み要因レジスタが０の場合は、エンジンＣＰＵ１０３の読み出しが終了するまで待つ必要があるので、ステップＳ４１２へ進む。ＤＭＡ送信バッファエンプティ割り込み要因レジスタが１の場合は、通信用ＳＲＡＭ１１６に書き込みが可能なのでステップＳ４１６へ進む。
【００６０】
［ステップＳ４１２］
コントローラＣＰＵ１０２は、ＤＭＡ送信バッファエンプティ割り込みマスクを解除してＤＭＡ送信バッファエンプティ割り込みが来るのを待つ。
【００６１】
［ステップＳ４１３］
ＡＳＩＣ１０１は、エンジンＣＰＵ１０３の読み出しが終了して、ＤＭＡ読み出し終了レジスタがセットされるのを待つ。
【００６２】
［ステップＳ４１４］
ＤＭＡ読み出し終了レジスタがセットされると、ＡＳＩＣ１０１内のＤＭＡ送信バッファエンプティ要因レジスタは１になる。
【００６３】
［ステップＳ４１５］
エンジンＣＰＵ１０３がデータの読み出しを終了して、ＤＭＡ読み出し終了レジスタがセットされると、ＡＳＩＣ１０１のコントローラＣＰＵ割り込み制御部１１２は、コントローラＣＰＵ１０２にＤＭＡ送信バッファエンプティ割り込みを出力する。
【００６４】
［ステップＳ４１６］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７によるＤＭＡ転送のためのディスクリプタ情報をメインメモリ１０４に書き込む。
【００６５】
［ステップＳ４１７］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣモード設定レジスタをメモリリードモードにセットする。
【００６６】
［ステップＳ４１８］
コントローラＣＰＵ１０３は、通信バッファＤＭＡＣ１１７のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【００６７】
［ステップＳ４１９］
コントローラＣＰＵ１０２は、ＤＭＡ転送が終了するまで、別のタスクを実行できる。したがって、この間に、エンジンＣＰＵ用送信バッファ１２１及びエンジンＣＰＵ用受信バッファ１２３並びにコントローラＣＰＵ用送信バッファ１２４及びコントローラＣＰＵ用受信バッファ１２２を使用してコマンドやデータの送受信を行うことができる。
【００６８】
［ステップＳ４２０］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、起動されると、メインメモリ１０４からディスクリプタ情報を読み出す。
【００６９】
［ステップＳ４２１］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、ディスクリプタ情報に従ってエンジンパラメータをメインメモリ１０４から読み出す。
【００７０】
［ステップＳ４２２］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、メインメモリ１０４から読み出したエンジンパラメータを通信用ＳＲＡＭ１１６に書き込む。
【００７１】
［ステップＳ４２３］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、転送が終了していなければ、ステップＳ４２１へ戻る。
【００７２】
［ステップＳ４２４］
ＡＳＩＣ１０１のコントローラＣＰＵ割り込み制御部１１２は、転送が終了したら、コントローラＣＰＵ１０２にｃｏｍｐｌｅｔｅ割り込みを出力する。
【００７３】
［ステップＳ４２５］
コントローラＣＰＵ１０２は、通信用ＳＲＡＭ１１６へのデータ転送が終了したら、ＤＭＡ送信データサイズレジスタにＤＭＡ送信データサイズを書き込む。
【００７４】
［ステップＳ４２６］
ＡＳＩＣ１０１は、ＤＭＡ送信データサイズが書き込まれると、ＤＭＡ送信バッファエンプティ割り込み要因レジスタを０にする。
【００７５】
［ステップＳ４２７］
ＡＳＩＣ１０１は、ＤＭＡ送信データサイズが書き込まれると、エンジンＣＰＵ１０３用のＤＭＡ受信データサイズレジスタにＤＭＡ送信データサイズをセットする。
【００７６】
［ステップＳ４２８］
ＡＳＩＣ１０１のエンジンＣＰＵ割り込み制御部１１０は、同時にエンジンＣＰＵ１０３にＤＭＡ受信バッファフル割り込みを発生する。
【００７７】
［ステップＳ４２９］
エンジンＣＰＵ１０３は、ＤＭＡ受信バッファフル割り込みが来たら、ＤＭＡ受信データサイズを読み出す。
【００７８】
［ステップＳ４３０］
エンジンＣＰＵ１０３は、通信用ＳＲＡＭ１１６からエンジンパラメータを読み出す。
【００７９】
［ステップＳ４３１］
エンジンＣＰＵ１０３は、ＤＭＡ受信データサイズ分の読み出しが終了していなければステップＳ４３０へ戻る。
【００８０】
［ステップＳ４３２］
エンジンＣＰＵ１０３は、ＤＭＡ受信データサイズ分の読み出しが終了したら、ＤＭＡ読み出し終了レジスタをセットする。
【００８１】
［ステップＳ４３３］
ＡＳＩＣ１０１は、ＤＭＡ読み出し終了レジスタがセットされると、ＤＭＡ送信バッファエンプティ割り込み要因レジスタを１にする。
【００８２】
次に、エンジンＣＰＵ１０３からコントローラＣＰＵ１０２への大容量データ転送について図６及び図７を参照して説明する。図６及び図７は、大容量データ転送モードで、エンジンＣＰＵ１０３からコントローラＣＰＵ１０２にデータを送信する場合の動作フローである。以下の説明においては、大容量データの一例として、エンジンが持つエンジンパラメータを転送する場合について説明する。
【００８３】
［ステップＳ６０１］
エンジンＣＰＵ１０３は、ＤＭＡ送信バッファエンプティ割り込み要因レジスタのチェックを行う。エンジンＣＰＵ１０３が送信したデータの読み出しをコントローラＣＰＵ１０２が完了していない場合、ＤＭＡ送信バッファエンプティ割り込み要因レジスタは０に、完了している場合は１になっている。
【００８４】
［ステップＳ６０２］
ＤＭＡ送信バッファエンプティ割り込み要因レジスタが０の場合は、コントローラＣＰＵ１０２の読み出しが終了するまで待つ必要があるので、ステップＳ６０３へ進む。ＤＭＡ送信バッファエンプティ割り込み要因レジスタが１の場合は、通信用ＳＲＡＭ１１６に書き込みが可能なのでステップＳ６０７へ進む。
【００８５】
［ステップＳ６０３］
エンジンＣＰＵ１０３は、ＤＭＡ送信バッファエンプティ割り込み要因レジスタが０になっている場合は、ＤＭＡ送信バッファエンプティ割り込みマスクを解除してコントローラＣＰＵ１０２の読み出しが終了するのを待つ。
【００８６】
［ステップＳ６０４］
ＡＳＩＣ１０１は、コントローラＣＰＵ１０２の読み出しが終了して、ＤＭＡ読み出し終了レジスタがセットされるのを待つ。
【００８７】
［ステップＳ６０５］
ＤＭＡ読み出し終了レジスタがセットされると、ＡＳＩＣ１０１のＤＭＡ送信バッファエンプティ要因レジスタは１になる。
【００８８】
［ステップＳ６０６］
コントローラＣＰＵ１０２がデータの読み出しを終了すると、ＡＳＩＣ１０１のエンジンＣＰＵ割り込み制御部１１０は、エンジンＣＰＵ１０３にＤＭＡ送信バッファエンプティ割り込みを出力する。
【００８９】
［ステップＳ６０７］
エンジンＣＰＵ１０３は、通信用ＳＲＡＭ１１６に送信するエンジンパラメータの書き込みを行う。
【００９０】
［ステップＳ６０８］
エンジンＣＰＵ１０３は、通信用ＳＲＡＭ１１６にエンジンパラメータの書き込みが終了していなければステップＳ６０７へ戻る。
【００９１】
［ステップＳ６０９］
エンジンＣＰＵ１０３は、ＤＭＡ送信データサイズレジスタにエンジンパラメータのＤＭＡ送信データサイズを書き込む。
【００９２】
［ステップＳ６１０］
ＡＳＩＣ１０１は、エンジンＣＰＵ１０３用のＤＭＡ送信バッファエンプティ割り込み要因レジスタを０にする。
【００９３】
［ステップＳ６１１］
ＡＳＩＣ１０１は、コントローラＣＰＵ１０２用のＤＭＡ受信データサイズレジスタにエンジンパラメータの送信データサイズをセットする。
【００９４】
［ステップＳ６１２］
ＡＳＩＣ１０１のコントローラＣＰＵ用割り込み制御部１１２は、コントローラＣＰＵ１０２にＤＭＡ受信バッファフル割り込みを出す。
【００９５】
［ステップＳ６１３］
コントローラＣＰＵ１０２は、ＤＭＡ受信バッファフル割り込みが来たら、ＤＭＡ受信データサイズレジスタの値を読み出す。
【００９６】
［ステップＳ６１４］
コントローラＣＰＵ１０２は、メインメモリ１０４にエンジンパラメータ用のメモリ領域を確保する。
【００９７】
［ステップＳ６１５］
コントローラＣＰＵ１０２は、メインメモリ１０４に通信バッファＤＭＡＣ１１７によるＤＭＡ転送のためのディスクリプタ情報を書き込む。
【００９８】
［ステップＳ６１６］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣモード設定レジスタをメモリライトモードにする。
【００９９】
［ステップＳ６１７］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【０１００】
［ステップＳ６１８］
コントローラＣＰＵ１０２は、ＤＭＡ転送が終了するまで、別のタスクを実行できる。したがって、この間に、エンジンＣＰＵ用送信バッファ１２１及びエンジンＣＰＵ用受信バッファ１２３並びにコントローラＣＰＵ用送信バッファ１２４及びコントローラＣＰＵ用受信バッファ１２２を使用してコマンドの送受信を行うことができる。
【０１０１】
［ステップＳ６１９］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、起動されると、メインメモリ１０４からディスクリプタ情報を読み出す。
【０１０２】
［ステップＳ６２０］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、読み出したディスクリプタ情報に従ってエンジンパラメータを通信用ＳＲＡＭ１１６から読み出す。
【０１０３】
［ステップＳ６２１］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、読み出したエンジンパラメータをメインメモリ１０４に転送する。
【０１０４】
［ステップＳ６２２］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、ＤＭＡ転送が終了していなければステップＳ６２０に戻る。
【０１０５】
［ステップＳ６２３］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、ＤＭＡ転送が終了したらコントローラＣＰＵ１０２にｃｏｍｐｌｅｔｅ割り込みを出す。
【０１０６】
［ステップＳ６２４］
コントローラＣＰＵ１０２は、ｃｏｍｐｌｅｔｅ割り込みが来たら、ＤＭＡ読み出し終了レジスタをセットする。
【０１０７】
［ステップＳ６２５］
ＡＳＩＣ１０１は、ＤＭＡ読み出し終了レジスタがセットされると、ＤＭＡ送信バッファエンプティ割り込み要因レジスタを１にする。
【０１０８】
［ステップＳ６２６］
コントローラＣＰＵ１０２は、メインメモリ１０４のエンジンパラメータをハードディスク１０５に保存するために、メインメモリ１０４にハードディスクＤＭＡＣ１１９によるＤＭＡ転送のためのディスクリプタ情報を書き込む。
【０１０９】
［ステップＳ６２７］
コントローラＣＰＵ１０２は、ハードディスクＤＭＡＣ１１９のＤＭＡＣモード設定レジスタをメモリリードモードにする。
【０１１０】
［ステップＳ６２８］
コントローラＣＰＵ１０２は、ハードディスクＤＭＡＣ１１９のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【０１１１】
［ステップＳ６２９］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、起動されると、メインメモリ１０４からディスクリプタ情報を読み出す。
【０１１２】
［ステップＳ６３０］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、読み出したディスクリプタ情報に従ってエンジンパラメータをメインメモリ１０４から読み出してハードディスクインターフェース１１８に転送する。
【０１１３】
［ステップＳ６３１］
ＡＳＩＣ１０１のハードディスクインターフェース１１８は、ハードディスク１０５にエンジンパラメータの書き込みを行う。
【０１１４】
［ステップＳ６３２］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、転送が完了していなければステップＳ６３０に戻る。
【０１１５】
［ステップＳ６３３］
ＡＳＩＣ１０１のハードディスクＤＭＡＣ１１９は、ＤＭＡ転送が終了したら、コントローラＣＰＵ１０２にｃｏｍｐｌｅｔｅ割り込みを出力する。
【０１１６】
次に、本実施形態の通信ログモードの説明をする。通信ログモードでは、通信用ＳＲＡＭ１１６及び通信バッファＤＭＡＣ１１７を通信ログの記憶及びメインメモリ１０４への転送に使用する。
【０１１７】
また、通信は、小容量のエンジン向けバッファとコントローラ向けバッファ（すなわち、エンジンＣＰＵ用送信バッファ１２１及びエンジンＣＰＵ用受信バッファ１２３並びにコントローラＣＰＵ用送信バッファ１２４及びコントローラＣＰＵ用受信バッファ１２２）を使用して行う。通信で送られるコマンドとしては、コントローラＣＰＵ１０２からエンジンＣＰＵ１０３に対しては、スキャナプロセス実行／中断コマンド、プロッタプロセス実行／中断コマンド、給紙先／排紙先設定コマンドなどがあり、エンジンＣＰＵ１０３からコントローラＣＰＵ１０２に対しては、スキャナ状態通知コマンド、給紙トレイ状態通知コマンド、プロッタドア状態通知コマンドなどがある。
【０１１８】
まず、コントローラＣＰＵ１０２からエンジンＣＰＵ１０３へ送信時の通信ログ作成について図８を参照して説明する。図８は、通信ログモードでコントローラＣＰＵ１０２からエンジンＣＰＵ１０３へコマンドやデータを送信する時における通信ログ作成の動作フローである。
【０１１９】
［ステップＳ８０１］
コントローラＣＰＵ１０２は、メインメモリ１０４に通信ログを保存するために十分なメモリ領域を確保する。
【０１２０】
［ステップＳ８０２］
コントローラＣＰＵ１０２は、メインメモリ１０４に通信バッファＤＭＡＣ１１７によるＤＭＡ転送のためのディスクリプタ情報を作成する。
【０１２１】
［ステップＳ８０３］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣモード設定レジスタをメモリライトモードにセットする。
【０１２２】
［ステップＳ８０４］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【０１２３】
［ステップＳ８０５］
通信バッファＤＭＡＣ１１７は、起動されると、メインメモリ１０４からディスクリプタ情報の読み出しを行う。
【０１２４】
［ステップＳ８０６］
コントローラＣＰＵ１０２は、送信バッファエンプティ割り込み要因レジスタのチェックを行う。
【０１２５】
［ステップＳ８０７］
送信バッファエンプティ割り込み要因レジスタが０の時、コントローラＣＰＵ１０２が出したコマンドの読み出しをエンジンＣＰＵ１０３が終了していないので、エンジンＣＰＵ１０３が読み出しが終わるのを待つためにステップＳ８０８へ進む。送信バッファエンプティ割り込み要因レジスタが１の時、コントローラＣＰＵ１０２はエンジンＣＰＵ向けバッファに書き込みができるので、ステップＳ８１２へ進む。
【０１２６】
［ステップＳ８０８］
コントローラＣＰＵ１０２は送信バッファエンプティ割り込みマスクを解除してエンジンＣＰＵ１０３の読み出しが終了するのを待つ。
【０１２７】
［ステップＳ８０９］
ＡＳＩＣ１０１は、エンジンＣＰＵ１０３の読み出しが終了して、読み出し終了レジスタがセットされるのを待つ。
【０１２８】
［ステップＳ８１０］
ＡＳＩＣ１０１は、エンジンＣＰＵ１０３の読み出し終了レジスタがセットされたら、送信バッファエンプティ割り込み要因レジスタを１にする。
【０１２９】
［ステップＳ８１１］
ＡＳＩＣ１０１のコントローラＣＰＵ割り込み制御部１１２は、コントローラＣＰＵ１０２に送信バッファエンプティ割り込みを出す。
【０１３０】
［ステップＳ８１２］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用送信バッファ１２４へ送信するコマンドを書き込む。
【０１３１】
［ステップＳ８１３］
コントローラＣＰＵインターフェース１１４は、コントローラＣＰＵ用送信バッファ１２４にコマンドが書き込まれると、同時に通信バッファＤＭＡＣ１１７にコマンドを書き込む。
【０１３２】
［ステップＳ８１４］
通信バッファＤＭＡＣ１１７は、コントローラＣＰＵインターフェース１１４により書き込まれたコマンドを、メインメモリ１０４に転送する。
【０１３３】
［ステップＳ８１５］
ＡＳＩＣ１０１は、コントローラＣＰＵ用送信バッファ１２４の内容をエンジンＣＰＵ用受信バッファ１２３にセットする。
【０１３４】
［ステップＳ８１６］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用送信バッファ１２４へコマンドの書き込みが終了していなければステップＳ８１２へ戻る。
【０１３５】
［ステップＳ８１７］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用送信バッファ１２４へコマンドの書き込みを終了したら、送信データサイズをレジスタ１１１に書き込む。
【０１３６】
［ステップＳ８１８］
ＡＳＩＣ１０１は、送信バッファエンプティ割り込み要因レジスタを０にする。
【０１３７】
［ステップＳ８１９］
ＡＳＩＣ１０１は、エンジンＣＰＵ１０３用の受信データサイズレジスタに送信データサイズをセットする。
【０１３８】
［ステップＳ８２０］
ＡＳＩＣ１０１のエンジンＣＰＵ割り込み制御部１１０は、送信データサイズレジスタにサイズが書き込まれると、エンジンＣＰＵ１０３に受信バッファフル割り込みを発する。
【０１３９】
［ステップＳ８２１］
エンジンＣＰＵ１０３は、受信バッファフル割り込みが来たら、受信データサイズを読み出す。
【０１４０】
［ステップＳ８２２］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用受信バッファ１２３からのコマンドを読み出す。
【０１４１】
［ステップＳ８２３］
エンジンＣＰＵインターフェース１１３は、エンジンＣＰＵ用受信バッファ１２３からのコマンドを読み出すと同時に通信用ＳＲＡＭ１１６に受信データを書き込む。
【０１４２】
［ステップＳ８２４］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用受信バッファ１２３からの読み出しが終了していなければステップＳ８２２へ戻る。
【０１４３】
［ステップＳ８２５］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用受信バッファ１２３からの読み出しが終了したら、読み出し終了レジスタをセットする。
【０１４４】
［ステップＳ８２６］
ＡＳＩＣ１０１は、読み出し終了レジスタがセットされると、送信バッファエンプティ割り込み要因レジスタを１にする。
【０１４５】
次に、エンジンＣＰＵ１０３からコントローラＣＰＵ１０２へ送信時の通信ログ作成について図９を参照して説明する。図９は、通信ログモードで、エンジンＣＰＵ１０３からコントローラＣＰＵ１０２へコマンドやデータを送信する時における通信ログ作成の動作フローである。
【０１４６】
［ステップＳ９０１］
コントローラＣＰＵ１０２は、メインメモリ１０４にログ記録用の十分なメモリ領域を確保する。
【０１４７】
［ステップＳ９０２］
コントローラＣＰＵ１０２は、メインメモリ１０４に通信バッファＤＭＡＣ１１７によるＤＭＡ転送用のディスクリプタ情報をを作成する。
【０１４８】
［ステップＳ９０３］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣモード設定レジスタをメモリライトモードにセットする。
【０１４９】
［ステップＳ９０４］
コントローラＣＰＵ１０２は、通信バッファＤＭＡＣ１１７のＤＭＡＣ起動レジスタでＤＭＡＣを起動する。
【０１５０】
［ステップＳ９０５］
ＡＳＩＣ１０１の通信バッファＤＭＡＣ１１７は、起動されると、メインメモリ１０４からディスクリプタ情報の読み出しを行う。
【０１５１】
［ステップＳ９０６］
エンジンＣＰＵ１０３は、送信バッファエンプティ割り込み要因レジスタのチェックを行う。
【０１５２】
［ステップＳ９０７］
送信バッファエンプティ割り込み要因レジスタが０の時、エンジンＣＰＵ１０３が出したコマンドの読み出しをエンジンＣＰＵ１０３が終了していないので、コントローラＣＰＵ１０２が読み出しが終わるのを待つためにステップＳ９０８へ進む。送信バッファエンプティ割り込み要因レジスタが１の時、エンジンＣＰＵ１０３はコントローラＣＰＵ向けバッファに書き込みができるので、ステップＳ９１２へ進む。
【０１５３】
［ステップＳ９０８］
送信バッファエンプティ割り込み要因レジスタが０の時、エンジンＣＰＵ１０３が出したコマンドの読み出しをコントローラＣＰＵ１０２が終了していないので、エンジンＣＰＵ１０３は送信バッファエンプティ割り込みマスクを解除してバッファの読み出しが終了するのを待つ。
【０１５４】
［ステップＳ９０９］
ＡＳＩＣ１０１は、コントローラＣＰＵ１０２の読み出しが終了して、読み出し終了レジスタがセットされるのを待つ。
【０１５５】
［ステップＳ９１０］
ＡＳＩＣ１０１は、コントローラＣＰＵ１０２の読み出しが終了したら、送信バッファエンプティ割り込み要因レジスタを１にする。
【０１５６】
［ステップＳ９１１］
ＡＳＩＣ１０１のエンジンＣＰＵ割り込み制御部１１０は、エンジンＣＰＵ１０３に送信バッファエンプティ割り込みを出す。
【０１５７】
［ステップＳ９１２］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用送信バッファ１２１へ送信するコマンドを書き込む。
【０１５８】
［ステップＳ９１３］
エンジンＣＰＵインターフェース１１３は、エンジンＣＰＵ用送信バッファ１２１へコマンドを書き込まれると、同時に通信ＳＲＡＭ１１６にコマンドを書き込む。
【０１５９】
［ステップＳ９１４］
ＡＳＩＣ１０１は、エンジンＣＰＵ用送信バッファ１２１へコマンドを書き込まれると、コントローラＣＰＵ用受信バッファ１２２にコマンドをセットする。
【０１６０】
［ステップＳ９１５］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用送信バッファ１２１へコマンドの書き込みが終了していなければステップＳ９１２へ戻る。
【０１６１】
［ステップＳ９１６］
エンジンＣＰＵ１０３は、エンジンＣＰＵ用送信バッファ１２１へコマンドの書き込みを終了したら、送信データサイズをレジスタ１１１に書き込む。
【０１６２】
［ステップＳ９１７］
ＡＳＩＣ１０１は、送信データサイズレジスタにサイズが書き込まれると、送信バッファエンプティ割り込み要因レジスタを０にする。
【０１６３】
［ステップＳ９１８］
ＡＳＩＣ１０１は、送信データサイズレジスタにサイズが書き込まれると、コントローラＣＰＵ１０２用の受信データサイズレジスタに送信データサイズをセットする。
【０１６４】
［ステップＳ９１９］
ＡＳＩＣ１０１のコントローラＣＰＵ割り込み制御部１１２は、コントローラＣＰＵ１０２に受信バッファフル割り込みを発する。
【０１６５】
［ステップＳ９２０］
コントローラＣＰＵ１０２は、受信バッファフル割り込みが来たら、受信データサイズを読み出す。
【０１６６】
［ステップＳ９２１］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用受信バッファ１２２のコマンドを読み出す。
【０１６７】
［ステップＳ９２２］
コントローラＣＰＵインターフェース１１４は、コントローラＣＰＵ用受信バッファ１２２のコマンドが読み出されると、同時に通信バッファＤＭＡＣ１１７にコマンドを書き込む。
【０１６８】
［ステップＳ９２３］
通信バッファＤＭＡＣ１１７は、書き込まれたコマンドをメインメモリ１０４に転送する。
【０１６９】
［ステップＳ９２４］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用受信バッファ１２２のコマンドの読み出しが終了していなければ、ステップＳ９２１に戻る。
【０１７０】
［ステップＳ９２５］
コントローラＣＰＵ１０２は、コントローラＣＰＵ用受信バッファ１２２のコマンドの読み出しが終了したら、読み出し終了レジスタをセットする。
【０１７１】
［ステップＳ９２６］
ＡＳＩＣ１０１は、読み出し終了レジスタがセットされると、送信バッファエンプティ割り込み要因レジスタを１にする。
【０１７２】
次に、操作部１０６での通信ログの表示動作について図１０を参照して説明する。図１０は、メインメモリ１０４にある通信ログを操作部１０６に表示する場合の動作フローである。
【０１７３】
［ステップＳ１００１］
操作部１０６からのキー入力により、通信ログ表示の指定がされると、操作部１０６は、ＡＳＩＣ１０１に通信ログ転送コマンドを出す。
【０１７４】
［ステップＳ１００２］
ＡＳＩＣ１０１は、通信ログ転送コマンドを受けると、メインメモリ１０４にある通信ログを読み出す。
【０１７５】
［ステップＳ１００３］
ＡＳＩＣ１０１は、メインメモリ１０４から読み出した通信ログを操作部１０６に転送する。
【０１７６】
［ステップＳ１００４］
操作部１０６は、転送された通信ログを表示画面上に表示する。
【０１７７】
次に、端末装置２００による通信ログの表示動作について図１１を参照して説明する。図１１は、通信用ＳＲＡＭ１１６にある通信ログを外部の端末装置２００に接続して表示する場合の動作フローである。コントローラＣＰＵ１０２がハングアップしている場合など、操作部１０６で通信ログを確認できない時には、パーソナルコンピュータなどのシリアルインターフェースを持つ装置を接続し、端末装置２００からシリアルインターフェースを経由して通信用ＳＲＡＭ１１６領域の読み出しを行うことにより、通信ログを確認することができる。
【０１７８】
［ステップＳ１１０１］
端末装置２００から通信ログ表示の指定がされると、端末装置２００のシリアルインターフェースを経由して通信ログ転送コマンドがＡＳＩＣ１０１に送られる。
【０１７９】
［ステップＳ１１０２］
ＡＳＩＣ１０１は、通信ログ転送コマンドを受けると、通信用ＳＲＡＭ１１６にある通信ログを読み出す。
【０１８０】
［ステップＳ１１０３］
ＡＳＩＣ１０１は、読み出した通信ログをシリアルインターフェースを経由して端末装置２００に出力する。
【０１８１】
［ステップＳ１１０４］
端末装置２００は、シリアルインターフェースから受信した通信ログを端末装置２００の表示画面に表示する。
【０１８２】
以上で、本実施形態の構成と動作についての説明を終え、以下に、本実施形態の効果について述べる。
【０１８３】
上記本実施形態によれば、ＣＰＵ間通信におけるデータ転送において、コントローラＣＰＵ１０２を介さずメインメモリ１０４を制御する制御手段として機能する通信バッファＤＭＡＣ１１７と、大容量データの一時的な記憶手段として機能する通信用ＳＲＡＭ１１６とを有しているため、送信するデータのサイズによってデータ転送方法を変更することができ、転送速度及びＣＰＵの負荷を最適化することができる。
【０１８４】
また、上記実施形態によれば、大容量データ転送の終了を通信バッファＤＭＡＣ１１７画角ＣＰＵに通知するまで各種コマンドのやりとりを含む通常のデータ転送はＣＰＵインターフェース間で行うことができるため、各ＣＰＵは、大容量データの転送中に別タスクを実行することができる。
【０１８５】
また、上記実施形態によれば、通信バッファＤＭＡＣ１１７と通信用ＳＲＡＭ１１６を、通信ログ取得にも兼用するため、データ転送内容のモニタを行うために専用の制御手段や記憶手段の追加をする必要がなく、したがって、コストアップせずにデバッグ機能を実装できる。また、通信ログを操作部に表示することにより、外部にバスのプロトコルを観測するための専用のプロトコルモニタ装置を接続する必要がなくなり、容易にデバッグを行うことができる。
【図面の簡単な説明】
【０１８６】
【図１】本発明の実施形態のハードウェア構成例を示す図である。
【図２】図１のＣＰＵインターフェース間通信の詳細を示す図である。
【図３】本実施形態の動作モード切り替えの手順を示す図である。
【図４】本実施形態の大容量データ転送モードによるデータ転送手順（コントローラＣＰＵからエンジンＣＰＵへ）を示すシーケンス図（その１）である。
【図５】本実施形態の大容量データ転送モードによるデータ転送手順（コントローラＣＰＵからエンジンＣＰＵへ）を示すシーケンス図（その２）である。
【図６】本実施形態の大容量データ転送モードによるデータ転送手順（エンジンＣＰＵからコントローラＣＰＵへ）を示すシーケンス図（その１）である。
【図７】本実施形態の大容量データ転送モードによるデータ転送手順（エンジンＣＰＵからコントローラＣＰＵへ）を示すシーケンス図（その２）である。
【図８】本実施形態の通信ログモードによるデータ転送手順（コントローラＣＰＵからエンジンＣＰＵへ）を示すシーケンス図である。
【図９】本実施形態の通信ログモードによるデータ転送手順（エンジンＣＰＵからコントローラＣＰＵへ）を示すシーケンス図である。
【図１０】本実施形態の操作部での通信ログの表示手順を示すシーケンス図である。
【図１１】本実施形態の端末装置による通信ログの表示手順を示すシーケンス図である。
【符号の説明】
【０１８７】
１００    画像形成装置
１０１    ＡＳＩＣ
１０２    コントローラＣＰＵ
１０３    エンジンＣＰＵ
１０４    メインメモリ
１０５    ハードディスク
１０６    操作部
１１０    エンジンＣＰＵ割り込み制御部
１１１    レジスタ
１１２    コントローラＣＰＵ割り込み制御部
１１３    エンジンＣＰＵインターフェース
１１４    コントローラＣＰＵインターフェース
１１５    シリアルインターフェース
１１６    通信用ＳＲＡＭ
１１７    通信バッファＤＭＡＣ
１１８    ハードディスクインターフェース
１１９    ハードディスクＤＭＡＣ
１２０    操作部コントローラ
１２１    エンジンＣＰＵ用送信バッファ
１２２    コントローラＣＰＵ用受信バッファ
１２３    エンジンＣＰＵ用受信バッファ
１２４    コントローラＣＰＵ用送信バッファ
【図１】
2008227975.tif 000003
【図２】
2008227975.tif 000004
【図３】
2008227975.tif 000005
【図４】
2008227975.tif 000006
【図５】
2008227975.tif 000007
【図６】
2008227975.tif 000008
【図７】
2008227975.tif 000009
【図８】
2008227975.tif 000010
【図９】
2008227975.tif 000011
【図１０】
2008227975.tif 000012
【図１１】
2008227975.tif 000013