JP2008227975A - 画像形成装置、画像形成装置の制御方法及びデータ転送装置 - Google Patents

画像形成装置、画像形成装置の制御方法及びデータ転送装置 Download PDF

Info

Publication number
JP2008227975A
JP2008227975A JP2007064151A JP2007064151A JP2008227975A JP 2008227975 A JP2008227975 A JP 2008227975A JP 2007064151 A JP2007064151 A JP 2007064151A JP 2007064151 A JP2007064151 A JP 2007064151A JP 2008227975 A JP2008227975 A JP 2008227975A
Authority
JP
Japan
Prior art keywords
data transfer
data
cpu
control means
communication
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.)
Withdrawn
Application number
JP2007064151A
Other languages
English (en)
Inventor
Ryuya Kuranaga
竜弥 倉永
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 JP2007064151A priority Critical patent/JP2008227975A/ja
Publication of JP2008227975A publication Critical patent/JP2008227975A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】複数のCPUを有する画像形成装置において、CPU間のデータ転送の際、転送速度を向上させ、CPUの負荷を最適化する。
【解決手段】コントローラCPU102とエンジンCPU103間でデータ転送が行われるとき、データサイズが所定の値以上であったら、大容量データ転送モードで転送が実行される。当該モードは、通信バッファDMAC117が、メインメモリ104に格納されている大容量データを、コントローラCPU102の制御を介さないで読み出し、通信用SRAM116に一時的に格納し、データ受け取り先のエンジンCPU103に転送する。また、通信ログをとるモードでは、通信ログを通信用SRAM116に一時的に格納し、通信バッファDMAC117がこれをメインメモリ104に格納する。
【選択図】図1

Description

本発明は、画像形成装置、画像形成装置の制御方法及びデータ転送装置に関し、特に、複数のCPU間のデータ転送技術に関する。
プリンタや、コピー/FAX/プリンタの機能を持つ複合機では、装置の制御のために複数のCPUを搭載しており、それぞれのCPUは、機能を実現するために各種コマンドやデータのやりとりを行っている。プリンタや複合機では、プリンタの画像の描画や各種アプリケーションの実行を行うコントローラCPUと、用紙の搬送や作像、定着などの制御を行うエンジンCPUが搭載されている。従来、コントローラCPUとエンジンCPUとの通信方法として、両方のCPUからアクセスできるASIC(Application Specific Integrated Circuit:特定用途向け集積回路)に小容量のバッファを設け、コマンドやデータのやりとりを行う方法が実施されていた(例えば、特許文献1の段落「0052」等を参照)。
特開2005−094679号公報
しかしながら、上記従来技術には、コントローラ側からエンジン側にプログラムをダウンロードしたり、大容量のエンジンパラメータをエンジン側からコントローラ側に転送したりする場合に、小容量に分けて転送を行うため、転送に時間がかかり、CPUの負荷も高くなっているという問題点があった。
また、デバッグ時に通信内容をモニタするために、外部にバスのプロトコルを観測するための専用のプロトコルモニタ装置を接続する必要があるという問題点もあった。
そこで本発明は、上記従来技術の問題点に鑑み、複数のCPUを有する画像形成装置において、CPU間のデータ転送の際、転送速度を向上させ、CPUの負荷を最適化することを目的とする。
上記目的を達成するための、請求項1に記載の発明は、複数の演算制御手段を備える画像形成装置であって、前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御手段の主記憶とデータ転送先の演算制御手段間で、前記データ転送元の演算制御手段の制御を介さずに、前記主記憶に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、を有することを特徴とする画像形成装置である。
請求項2に記載の発明は、請求項1に記載の画像形成装置において、前記データ転送制御手段は、サイズが前記所定の値以上のデータの転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に、通知することを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載の画像形成装置において、前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段は、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておき、前記データ転送制御手段は、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させることを特徴とする。
請求項4に記載の発明は、複数の演算制御手段を備える画像形成装置の制御方法であって、前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上であるか否かを判断する大容量データ転送モード判定工程と、該大容量データ転送モード判定工程により、前記転送されるデータのサイズが前記所定の値以上であると判断された場合に、データ転送元の演算制御手段の主記憶から、前記データ転送元の演算制御手段の制御を介さずに転送されるデータを、バッファリングを行う一時記憶手段に、入力するデータ転送制御工程と、を有することを特徴とする画像形成装置の制御方法である。
請求項5に記載の発明は、請求項4に記載の画像形成装置の制御方法において、前記データ転送制御工程の後に、データ転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に通知する転送終了通知工程を、さらに有することを特徴とする。
請求項6に記載の発明は、請求項4又は5に記載の画像形成装置の制御方法において、前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段が、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておく通信ログ取得工程と、前記データ転送制御工程を実行するデータ転送制御手段が、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させる通信ログ出力工程と、をさらに有することを特徴とする。
請求項7に記載の発明は、複数の演算制御装置間のデータ転送を実行するデータ転送装置であって、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御装置の主記憶装置とデータ転送先の演算制御装置間で、前記データ転送元の演算制御装置の制御を介さずに、前記主記憶装置に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、を有することを特徴とするデータ転送装置である。
本発明によれば、複数のCPUを有する画像形成装置において、CPU間のデータ転送の際、転送速度を向上させ、CPUの負荷を最適化することができる。
以下、本発明の好適な実施の形態について図面を参照して説明する。
まず、本実施形態のハードウェア構成について説明する。図1を参照すると、本実施形態のハードウェアの構成例が示されている。図1に示した各部について説明する。
本実施形態の画像形成装置100は、装置全体を制御するコントローラCPU102、作像制御等を実行するエンジンCPU103、メインメモリ104、ハードディスク105、操作部106を有して構成されており、各部はASIC101で相互に通信可能に接続されている。また、ASIC101は、外部の端末装置200とも通信可能である。
ASIC101は、ハードディスク105やメインメモリ104、操作部106の制御及びコントローラCPU102とエンジンCPU103の通信のためのバッファを含む構成である。
コントローラCPU102は、プリンタの画像描画や各種アプリケーションの実行を行う。また、画像形成装置100全体の制御も行う。
エンジンCPU103は、用紙の搬送や、作像、定着などの制御を行う。
メインメモリ104は、コントローラCPU102がプリンタの画像描画や各種アプリケーションの実行を行うための作業用メモリで、コントローラCPU102により、エンジンパラメータの一時記憶領域や、DMAC用ディスクリプタ領域などの用途に使用される。
ハードディスク105は、画像データの一時記憶や、画像形成装置100の電源がオフになるときに保存しておく情報を記憶するための大容量記憶装置で、エンジンパラメータの保存などに使用する。
操作部106は、ユーザとのインターフェース装置で、各種情報の表示のための画面及び操作のためのキーを備える。例えば、液晶タッチパネルなどが利用できる。
端末装置200は、パーソナルコンピュータなどのシリアルインターフェースを持つ情報処理装置が利用できる。端末装置200は、デバッグ時にASIC101のシリアルインターフェース115に接続して、ASIC101内部のレジスタ111や通信用SRAM(Static Random Access Memory)116の書き込みデータの入力及び送信、読み出しデータの受信及び表示を行う。
ASIC101は、以下に挙げるモジュールを備える。
エンジンCPUインターフェース113は、エンジンCPU103からの通信用SRAM116やレジスタ111へのアクセスの制御を行う。
エンジンCPUインターフェース113とコントローラCPUインターフェース114間には、データ転送の際に使用される小容量のバッファ領域が、受信用と送信用にそれぞれ用意されている。図2に、このCPUインターフェース間通信の詳細を示す。
図2において、エンジンCPU用送信バッファ121は、エンジンCPU103がコントローラCPU102へ転送するコマンドやデータを書き込むための小容量のバッファ領域である。
コントローラCPU用送信バッファ124は、コントローラCPU102がエンジンCPU103へ転送するコマンドやデータを書き込むための小容量のバッファ領域である。
エンジンCPU用受信バッファ123は、コントローラCPU102がエンジンCPU103へ送信したコマンドやデータを読み出すための小容量のバッファ領域である。
コントローラCPU用受信バッファ122は、エンジンCPU103がコントローラCPU102へ送信したコマンドやデータを読み出すための小容量のバッファ領域である。
図1に戻り、ASIC101の他のモジュールの説明をする。通信用SRAM(Static Random Access Memory)116は、大容量のデータをコントローラCPU102とエンジンCPU103との間で送受信するために使用される大容量のメモリである。
レジスタ111は、それぞれのCPUがASIC101の制御を行うためのパラメータ設定領域である。それぞれのCPU用に、動作モードレジスタ、割り込み要因レジスタ、割り込みマスクレジスタ、DMACモード設定レジスタ、DMAC起動レジスタ、送信/受信データサイズレジスタ、DMA送信/受信データサイズレジスタ、読み出し終了レジスタ、DMA読み出し終了レジスタなどを備える。
コントローラCPUインターフェース114は、コントローラCPU102からの、通信用SRAM116やレジスタ111へのアクセス制御及びASIC101内各モジュールの制御を行う。
通信バッファDMAC117は、通信用SRAM116とメインメモリ104との間で、DMA転送を行う。
ハードディスクDMAC119は、ハードディスクインターフェース118を経由してハードディスク105とメインメモリ104との間で、DMA転送を行う。
ハードディスクインターフェース118は、ハードディスク105へのデータの書き込み、ハードディスク105からのデータの読み出しの制御を行う。
操作部コントローラ120は、操作部106の画面表示や、操作部106からのキー入力の制御を行う。
エンジンCPU割り込み制御部110は、ASIC101内部の各種主信号の状態に応じて割り込み信号を生成して、エンジンCPU103に割り込みを発生する。
コントローラCPU割り込み制御部112は、ASIC101内部の各種主信号の状態に応じて割り込み信号を生成して、コントローラCPU102に割り込みを発生する。
次に、本実施形態の動作モード切り替え動作の説明を、図3を参照して説明する。
[ステップS301]
通信ログをとるか否かを決める。通信ログをとる場合はステップS302へ進む。とらない場合はステップS303へ進む。
[ステップS302]
通信ログをとる場合は、動作モードレジスタが通信ログモードに設定される。この場合、通信用SRAM116及び通信バッファDMAC117は、通信ログ記録用に使用される。通信ログモードの詳細については後述する。
[ステップS303]
通信ログをとらない場合は、動作モードレジスタが大容量データ転送モードに設定される。この場合、通信用SRAM116及び通信バッファDMAC117は、大容量データ転送用に使用される。
[ステップS304]
大容量データ転送モードでデータ転送を行う場合、送信側のCPUは、送信するデータサイズが一定サイズを超えているかどうかを判定する。超えている場合はステップS305へ、超えていない場合はステップS306へ進む。
[ステップS305]
送信するデータサイズが一定サイズを超えている場合は、通信用SRAM116及び通信バッファDMAC117を使用して、データの転送を行う。詳細は後述する。
[ステップS306]
送信するデータサイズが一定サイズを超えていない場合は、通信用SRAM116及び通信バッファDMAC117は使用せずに、図2に示したコントローラCPU用送信バッファ124及びコントローラCPU用受信バッファ122並びにエンジンCPU用送信バッファ121及びエンジンCPU用受信バッファ123を使用して通常のコマンドやデータの転送を行う。
次に、本実施形態の大容量データ転送モードについて説明する。前述の通り、大容量データ転送モードでは、通信用SRAM116及び通信バッファDMAC117を大容量データの転送に使用する。
まず、コントローラCPU102からエンジンCPU103への大容量データ転送について図4及び図5を参照して説明する。図4及び図5は、大容量データ転送モードで、コントローラCPU102からエンジンCPU103にデータを送信する場合の動作フローである。以下の説明においては、大容量データの一例として、エンジンが持つエンジンパラメータを転送する場合について説明する。
[ステップS401]
コントローラCPU102は、ハードディスク105にあるエンジンパラメータをメインメモリ104に転送するために、メインメモリ104にエンジンパラメータ用のメモリ領域を確保する。
[ステップS402]
コントローラCPU102は、ハードディスクDMAC119によるDMA転送のためのディスクリプタ情報をメインメモリ104に書き込む。ディスクリプタ情報は、DMA転送時のアドレスや転送サイズといったパラメータの情報である。
[ステップS403]
コントローラCPU102は、ハードディスクDMAC119のDMACモード設定レジスタをメモリライトモードにセットする。
[ステップS404]
コントローラCPU102は、ハードディスクDMAC119のDMAC起動レジスタでDMACを起動する。
[ステップS405]
ASIC101のハードディスクDMAC119は、起動されると、メインメモリ104からディスクリプタ情報を読み出す。
[ステップS406]
ASIC101のハードディスクインターフェース118はハードディスク105からエンジンパラメータの読み出しを行い、ハードディスクDMAC119に送る。
[ステップS407]
ASIC101のハードディスクDMAC119は、ディスクリプタ情報に従ってエンジンパラメータをメインメモリ104に転送する。
[ステップS408]
ASIC101のハードディスクDMAC119は、転送が終了していなければ、ステップS406へ戻る。
[ステップS409]
ASIC101のコントローラCPU割り込み制御部112は、転送が終了したら、コントローラCPU102にcomplete割り込みを出力する。
[ステップS410]
コントローラCPU102は、complete割り込みが来たら、DMA送信バッファエンプティ割り込み要因レジスタのチェックを行う。コントローラCPU102が送信したデータの読み出しをエンジンCPU103が完了していない場合、DMA送信バッファエンプティ割り込み要因レジスタは0に、完了している場合は1になっている。
[ステップS411]
DMA送信バッファエンプティ割り込み要因レジスタが0の場合は、エンジンCPU103の読み出しが終了するまで待つ必要があるので、ステップS412へ進む。DMA送信バッファエンプティ割り込み要因レジスタが1の場合は、通信用SRAM116に書き込みが可能なのでステップS416へ進む。
[ステップS412]
コントローラCPU102は、DMA送信バッファエンプティ割り込みマスクを解除してDMA送信バッファエンプティ割り込みが来るのを待つ。
[ステップS413]
ASIC101は、エンジンCPU103の読み出しが終了して、DMA読み出し終了レジスタがセットされるのを待つ。
[ステップS414]
DMA読み出し終了レジスタがセットされると、ASIC101内のDMA送信バッファエンプティ要因レジスタは1になる。
[ステップS415]
エンジンCPU103がデータの読み出しを終了して、DMA読み出し終了レジスタがセットされると、ASIC101のコントローラCPU割り込み制御部112は、コントローラCPU102にDMA送信バッファエンプティ割り込みを出力する。
[ステップS416]
コントローラCPU102は、通信バッファDMAC117によるDMA転送のためのディスクリプタ情報をメインメモリ104に書き込む。
[ステップS417]
コントローラCPU102は、通信バッファDMAC117のDMACモード設定レジスタをメモリリードモードにセットする。
[ステップS418]
コントローラCPU103は、通信バッファDMAC117のDMAC起動レジスタでDMACを起動する。
[ステップS419]
コントローラCPU102は、DMA転送が終了するまで、別のタスクを実行できる。したがって、この間に、エンジンCPU用送信バッファ121及びエンジンCPU用受信バッファ123並びにコントローラCPU用送信バッファ124及びコントローラCPU用受信バッファ122を使用してコマンドやデータの送受信を行うことができる。
[ステップS420]
ASIC101の通信バッファDMAC117は、起動されると、メインメモリ104からディスクリプタ情報を読み出す。
[ステップS421]
ASIC101の通信バッファDMAC117は、ディスクリプタ情報に従ってエンジンパラメータをメインメモリ104から読み出す。
[ステップS422]
ASIC101の通信バッファDMAC117は、メインメモリ104から読み出したエンジンパラメータを通信用SRAM116に書き込む。
[ステップS423]
ASIC101の通信バッファDMAC117は、転送が終了していなければ、ステップS421へ戻る。
[ステップS424]
ASIC101のコントローラCPU割り込み制御部112は、転送が終了したら、コントローラCPU102にcomplete割り込みを出力する。
[ステップS425]
コントローラCPU102は、通信用SRAM116へのデータ転送が終了したら、DMA送信データサイズレジスタにDMA送信データサイズを書き込む。
[ステップS426]
ASIC101は、DMA送信データサイズが書き込まれると、DMA送信バッファエンプティ割り込み要因レジスタを0にする。
[ステップS427]
ASIC101は、DMA送信データサイズが書き込まれると、エンジンCPU103用のDMA受信データサイズレジスタにDMA送信データサイズをセットする。
[ステップS428]
ASIC101のエンジンCPU割り込み制御部110は、同時にエンジンCPU103にDMA受信バッファフル割り込みを発生する。
[ステップS429]
エンジンCPU103は、DMA受信バッファフル割り込みが来たら、DMA受信データサイズを読み出す。
[ステップS430]
エンジンCPU103は、通信用SRAM116からエンジンパラメータを読み出す。
[ステップS431]
エンジンCPU103は、DMA受信データサイズ分の読み出しが終了していなければステップS430へ戻る。
[ステップS432]
エンジンCPU103は、DMA受信データサイズ分の読み出しが終了したら、DMA読み出し終了レジスタをセットする。
[ステップS433]
ASIC101は、DMA読み出し終了レジスタがセットされると、DMA送信バッファエンプティ割り込み要因レジスタを1にする。
次に、エンジンCPU103からコントローラCPU102への大容量データ転送について図6及び図7を参照して説明する。図6及び図7は、大容量データ転送モードで、エンジンCPU103からコントローラCPU102にデータを送信する場合の動作フローである。以下の説明においては、大容量データの一例として、エンジンが持つエンジンパラメータを転送する場合について説明する。
[ステップS601]
エンジンCPU103は、DMA送信バッファエンプティ割り込み要因レジスタのチェックを行う。エンジンCPU103が送信したデータの読み出しをコントローラCPU102が完了していない場合、DMA送信バッファエンプティ割り込み要因レジスタは0に、完了している場合は1になっている。
[ステップS602]
DMA送信バッファエンプティ割り込み要因レジスタが0の場合は、コントローラCPU102の読み出しが終了するまで待つ必要があるので、ステップS603へ進む。DMA送信バッファエンプティ割り込み要因レジスタが1の場合は、通信用SRAM116に書き込みが可能なのでステップS607へ進む。
[ステップS603]
エンジンCPU103は、DMA送信バッファエンプティ割り込み要因レジスタが0になっている場合は、DMA送信バッファエンプティ割り込みマスクを解除してコントローラCPU102の読み出しが終了するのを待つ。
[ステップS604]
ASIC101は、コントローラCPU102の読み出しが終了して、DMA読み出し終了レジスタがセットされるのを待つ。
[ステップS605]
DMA読み出し終了レジスタがセットされると、ASIC101のDMA送信バッファエンプティ要因レジスタは1になる。
[ステップS606]
コントローラCPU102がデータの読み出しを終了すると、ASIC101のエンジンCPU割り込み制御部110は、エンジンCPU103にDMA送信バッファエンプティ割り込みを出力する。
[ステップS607]
エンジンCPU103は、通信用SRAM116に送信するエンジンパラメータの書き込みを行う。
[ステップS608]
エンジンCPU103は、通信用SRAM116にエンジンパラメータの書き込みが終了していなければステップS607へ戻る。
[ステップS609]
エンジンCPU103は、DMA送信データサイズレジスタにエンジンパラメータのDMA送信データサイズを書き込む。
[ステップS610]
ASIC101は、エンジンCPU103用のDMA送信バッファエンプティ割り込み要因レジスタを0にする。
[ステップS611]
ASIC101は、コントローラCPU102用のDMA受信データサイズレジスタにエンジンパラメータの送信データサイズをセットする。
[ステップS612]
ASIC101のコントローラCPU用割り込み制御部112は、コントローラCPU102にDMA受信バッファフル割り込みを出す。
[ステップS613]
コントローラCPU102は、DMA受信バッファフル割り込みが来たら、DMA受信データサイズレジスタの値を読み出す。
[ステップS614]
コントローラCPU102は、メインメモリ104にエンジンパラメータ用のメモリ領域を確保する。
[ステップS615]
コントローラCPU102は、メインメモリ104に通信バッファDMAC117によるDMA転送のためのディスクリプタ情報を書き込む。
[ステップS616]
コントローラCPU102は、通信バッファDMAC117のDMACモード設定レジスタをメモリライトモードにする。
[ステップS617]
コントローラCPU102は、通信バッファDMAC117のDMAC起動レジスタでDMACを起動する。
[ステップS618]
コントローラCPU102は、DMA転送が終了するまで、別のタスクを実行できる。したがって、この間に、エンジンCPU用送信バッファ121及びエンジンCPU用受信バッファ123並びにコントローラCPU用送信バッファ124及びコントローラCPU用受信バッファ122を使用してコマンドの送受信を行うことができる。
[ステップS619]
ASIC101の通信バッファDMAC117は、起動されると、メインメモリ104からディスクリプタ情報を読み出す。
[ステップS620]
ASIC101の通信バッファDMAC117は、読み出したディスクリプタ情報に従ってエンジンパラメータを通信用SRAM116から読み出す。
[ステップS621]
ASIC101の通信バッファDMAC117は、読み出したエンジンパラメータをメインメモリ104に転送する。
[ステップS622]
ASIC101の通信バッファDMAC117は、DMA転送が終了していなければステップS620に戻る。
[ステップS623]
ASIC101の通信バッファDMAC117は、DMA転送が終了したらコントローラCPU102にcomplete割り込みを出す。
[ステップS624]
コントローラCPU102は、complete割り込みが来たら、DMA読み出し終了レジスタをセットする。
[ステップS625]
ASIC101は、DMA読み出し終了レジスタがセットされると、DMA送信バッファエンプティ割り込み要因レジスタを1にする。
[ステップS626]
コントローラCPU102は、メインメモリ104のエンジンパラメータをハードディスク105に保存するために、メインメモリ104にハードディスクDMAC119によるDMA転送のためのディスクリプタ情報を書き込む。
[ステップS627]
コントローラCPU102は、ハードディスクDMAC119のDMACモード設定レジスタをメモリリードモードにする。
[ステップS628]
コントローラCPU102は、ハードディスクDMAC119のDMAC起動レジスタでDMACを起動する。
[ステップS629]
ASIC101のハードディスクDMAC119は、起動されると、メインメモリ104からディスクリプタ情報を読み出す。
[ステップS630]
ASIC101のハードディスクDMAC119は、読み出したディスクリプタ情報に従ってエンジンパラメータをメインメモリ104から読み出してハードディスクインターフェース118に転送する。
[ステップS631]
ASIC101のハードディスクインターフェース118は、ハードディスク105にエンジンパラメータの書き込みを行う。
[ステップS632]
ASIC101のハードディスクDMAC119は、転送が完了していなければステップS630に戻る。
[ステップS633]
ASIC101のハードディスクDMAC119は、DMA転送が終了したら、コントローラCPU102にcomplete割り込みを出力する。
次に、本実施形態の通信ログモードの説明をする。通信ログモードでは、通信用SRAM116及び通信バッファDMAC117を通信ログの記憶及びメインメモリ104への転送に使用する。
また、通信は、小容量のエンジン向けバッファとコントローラ向けバッファ(すなわち、エンジンCPU用送信バッファ121及びエンジンCPU用受信バッファ123並びにコントローラCPU用送信バッファ124及びコントローラCPU用受信バッファ122)を使用して行う。通信で送られるコマンドとしては、コントローラCPU102からエンジンCPU103に対しては、スキャナプロセス実行/中断コマンド、プロッタプロセス実行/中断コマンド、給紙先/排紙先設定コマンドなどがあり、エンジンCPU103からコントローラCPU102に対しては、スキャナ状態通知コマンド、給紙トレイ状態通知コマンド、プロッタドア状態通知コマンドなどがある。
まず、コントローラCPU102からエンジンCPU103へ送信時の通信ログ作成について図8を参照して説明する。図8は、通信ログモードでコントローラCPU102からエンジンCPU103へコマンドやデータを送信する時における通信ログ作成の動作フローである。
[ステップS801]
コントローラCPU102は、メインメモリ104に通信ログを保存するために十分なメモリ領域を確保する。
[ステップS802]
コントローラCPU102は、メインメモリ104に通信バッファDMAC117によるDMA転送のためのディスクリプタ情報を作成する。
[ステップS803]
コントローラCPU102は、通信バッファDMAC117のDMACモード設定レジスタをメモリライトモードにセットする。
[ステップS804]
コントローラCPU102は、通信バッファDMAC117のDMAC起動レジスタでDMACを起動する。
[ステップS805]
通信バッファDMAC117は、起動されると、メインメモリ104からディスクリプタ情報の読み出しを行う。
[ステップS806]
コントローラCPU102は、送信バッファエンプティ割り込み要因レジスタのチェックを行う。
[ステップS807]
送信バッファエンプティ割り込み要因レジスタが0の時、コントローラCPU102が出したコマンドの読み出しをエンジンCPU103が終了していないので、エンジンCPU103が読み出しが終わるのを待つためにステップS808へ進む。送信バッファエンプティ割り込み要因レジスタが1の時、コントローラCPU102はエンジンCPU向けバッファに書き込みができるので、ステップS812へ進む。
[ステップS808]
コントローラCPU102は送信バッファエンプティ割り込みマスクを解除してエンジンCPU103の読み出しが終了するのを待つ。
[ステップS809]
ASIC101は、エンジンCPU103の読み出しが終了して、読み出し終了レジスタがセットされるのを待つ。
[ステップS810]
ASIC101は、エンジンCPU103の読み出し終了レジスタがセットされたら、送信バッファエンプティ割り込み要因レジスタを1にする。
[ステップS811]
ASIC101のコントローラCPU割り込み制御部112は、コントローラCPU102に送信バッファエンプティ割り込みを出す。
[ステップS812]
コントローラCPU102は、コントローラCPU用送信バッファ124へ送信するコマンドを書き込む。
[ステップS813]
コントローラCPUインターフェース114は、コントローラCPU用送信バッファ124にコマンドが書き込まれると、同時に通信バッファDMAC117にコマンドを書き込む。
[ステップS814]
通信バッファDMAC117は、コントローラCPUインターフェース114により書き込まれたコマンドを、メインメモリ104に転送する。
[ステップS815]
ASIC101は、コントローラCPU用送信バッファ124の内容をエンジンCPU用受信バッファ123にセットする。
[ステップS816]
コントローラCPU102は、コントローラCPU用送信バッファ124へコマンドの書き込みが終了していなければステップS812へ戻る。
[ステップS817]
コントローラCPU102は、コントローラCPU用送信バッファ124へコマンドの書き込みを終了したら、送信データサイズをレジスタ111に書き込む。
[ステップS818]
ASIC101は、送信バッファエンプティ割り込み要因レジスタを0にする。
[ステップS819]
ASIC101は、エンジンCPU103用の受信データサイズレジスタに送信データサイズをセットする。
[ステップS820]
ASIC101のエンジンCPU割り込み制御部110は、送信データサイズレジスタにサイズが書き込まれると、エンジンCPU103に受信バッファフル割り込みを発する。
[ステップS821]
エンジンCPU103は、受信バッファフル割り込みが来たら、受信データサイズを読み出す。
[ステップS822]
エンジンCPU103は、エンジンCPU用受信バッファ123からのコマンドを読み出す。
[ステップS823]
エンジンCPUインターフェース113は、エンジンCPU用受信バッファ123からのコマンドを読み出すと同時に通信用SRAM116に受信データを書き込む。
[ステップS824]
エンジンCPU103は、エンジンCPU用受信バッファ123からの読み出しが終了していなければステップS822へ戻る。
[ステップS825]
エンジンCPU103は、エンジンCPU用受信バッファ123からの読み出しが終了したら、読み出し終了レジスタをセットする。
[ステップS826]
ASIC101は、読み出し終了レジスタがセットされると、送信バッファエンプティ割り込み要因レジスタを1にする。
次に、エンジンCPU103からコントローラCPU102へ送信時の通信ログ作成について図9を参照して説明する。図9は、通信ログモードで、エンジンCPU103からコントローラCPU102へコマンドやデータを送信する時における通信ログ作成の動作フローである。
[ステップS901]
コントローラCPU102は、メインメモリ104にログ記録用の十分なメモリ領域を確保する。
[ステップS902]
コントローラCPU102は、メインメモリ104に通信バッファDMAC117によるDMA転送用のディスクリプタ情報をを作成する。
[ステップS903]
コントローラCPU102は、通信バッファDMAC117のDMACモード設定レジスタをメモリライトモードにセットする。
[ステップS904]
コントローラCPU102は、通信バッファDMAC117のDMAC起動レジスタでDMACを起動する。
[ステップS905]
ASIC101の通信バッファDMAC117は、起動されると、メインメモリ104からディスクリプタ情報の読み出しを行う。
[ステップS906]
エンジンCPU103は、送信バッファエンプティ割り込み要因レジスタのチェックを行う。
[ステップS907]
送信バッファエンプティ割り込み要因レジスタが0の時、エンジンCPU103が出したコマンドの読み出しをエンジンCPU103が終了していないので、コントローラCPU102が読み出しが終わるのを待つためにステップS908へ進む。送信バッファエンプティ割り込み要因レジスタが1の時、エンジンCPU103はコントローラCPU向けバッファに書き込みができるので、ステップS912へ進む。
[ステップS908]
送信バッファエンプティ割り込み要因レジスタが0の時、エンジンCPU103が出したコマンドの読み出しをコントローラCPU102が終了していないので、エンジンCPU103は送信バッファエンプティ割り込みマスクを解除してバッファの読み出しが終了するのを待つ。
[ステップS909]
ASIC101は、コントローラCPU102の読み出しが終了して、読み出し終了レジスタがセットされるのを待つ。
[ステップS910]
ASIC101は、コントローラCPU102の読み出しが終了したら、送信バッファエンプティ割り込み要因レジスタを1にする。
[ステップS911]
ASIC101のエンジンCPU割り込み制御部110は、エンジンCPU103に送信バッファエンプティ割り込みを出す。
[ステップS912]
エンジンCPU103は、エンジンCPU用送信バッファ121へ送信するコマンドを書き込む。
[ステップS913]
エンジンCPUインターフェース113は、エンジンCPU用送信バッファ121へコマンドを書き込まれると、同時に通信SRAM116にコマンドを書き込む。
[ステップS914]
ASIC101は、エンジンCPU用送信バッファ121へコマンドを書き込まれると、コントローラCPU用受信バッファ122にコマンドをセットする。
[ステップS915]
エンジンCPU103は、エンジンCPU用送信バッファ121へコマンドの書き込みが終了していなければステップS912へ戻る。
[ステップS916]
エンジンCPU103は、エンジンCPU用送信バッファ121へコマンドの書き込みを終了したら、送信データサイズをレジスタ111に書き込む。
[ステップS917]
ASIC101は、送信データサイズレジスタにサイズが書き込まれると、送信バッファエンプティ割り込み要因レジスタを0にする。
[ステップS918]
ASIC101は、送信データサイズレジスタにサイズが書き込まれると、コントローラCPU102用の受信データサイズレジスタに送信データサイズをセットする。
[ステップS919]
ASIC101のコントローラCPU割り込み制御部112は、コントローラCPU102に受信バッファフル割り込みを発する。
[ステップS920]
コントローラCPU102は、受信バッファフル割り込みが来たら、受信データサイズを読み出す。
[ステップS921]
コントローラCPU102は、コントローラCPU用受信バッファ122のコマンドを読み出す。
[ステップS922]
コントローラCPUインターフェース114は、コントローラCPU用受信バッファ122のコマンドが読み出されると、同時に通信バッファDMAC117にコマンドを書き込む。
[ステップS923]
通信バッファDMAC117は、書き込まれたコマンドをメインメモリ104に転送する。
[ステップS924]
コントローラCPU102は、コントローラCPU用受信バッファ122のコマンドの読み出しが終了していなければ、ステップS921に戻る。
[ステップS925]
コントローラCPU102は、コントローラCPU用受信バッファ122のコマンドの読み出しが終了したら、読み出し終了レジスタをセットする。
[ステップS926]
ASIC101は、読み出し終了レジスタがセットされると、送信バッファエンプティ割り込み要因レジスタを1にする。
次に、操作部106での通信ログの表示動作について図10を参照して説明する。図10は、メインメモリ104にある通信ログを操作部106に表示する場合の動作フローである。
[ステップS1001]
操作部106からのキー入力により、通信ログ表示の指定がされると、操作部106は、ASIC101に通信ログ転送コマンドを出す。
[ステップS1002]
ASIC101は、通信ログ転送コマンドを受けると、メインメモリ104にある通信ログを読み出す。
[ステップS1003]
ASIC101は、メインメモリ104から読み出した通信ログを操作部106に転送する。
[ステップS1004]
操作部106は、転送された通信ログを表示画面上に表示する。
次に、端末装置200による通信ログの表示動作について図11を参照して説明する。図11は、通信用SRAM116にある通信ログを外部の端末装置200に接続して表示する場合の動作フローである。コントローラCPU102がハングアップしている場合など、操作部106で通信ログを確認できない時には、パーソナルコンピュータなどのシリアルインターフェースを持つ装置を接続し、端末装置200からシリアルインターフェースを経由して通信用SRAM116領域の読み出しを行うことにより、通信ログを確認することができる。
[ステップS1101]
端末装置200から通信ログ表示の指定がされると、端末装置200のシリアルインターフェースを経由して通信ログ転送コマンドがASIC101に送られる。
[ステップS1102]
ASIC101は、通信ログ転送コマンドを受けると、通信用SRAM116にある通信ログを読み出す。
[ステップS1103]
ASIC101は、読み出した通信ログをシリアルインターフェースを経由して端末装置200に出力する。
[ステップS1104]
端末装置200は、シリアルインターフェースから受信した通信ログを端末装置200の表示画面に表示する。
以上で、本実施形態の構成と動作についての説明を終え、以下に、本実施形態の効果について述べる。
上記本実施形態によれば、CPU間通信におけるデータ転送において、コントローラCPU102を介さずメインメモリ104を制御する制御手段として機能する通信バッファDMAC117と、大容量データの一時的な記憶手段として機能する通信用SRAM116とを有しているため、送信するデータのサイズによってデータ転送方法を変更することができ、転送速度及びCPUの負荷を最適化することができる。
また、上記実施形態によれば、大容量データ転送の終了を通信バッファDMAC117画角CPUに通知するまで各種コマンドのやりとりを含む通常のデータ転送はCPUインターフェース間で行うことができるため、各CPUは、大容量データの転送中に別タスクを実行することができる。
また、上記実施形態によれば、通信バッファDMAC117と通信用SRAM116を、通信ログ取得にも兼用するため、データ転送内容のモニタを行うために専用の制御手段や記憶手段の追加をする必要がなく、したがって、コストアップせずにデバッグ機能を実装できる。また、通信ログを操作部に表示することにより、外部にバスのプロトコルを観測するための専用のプロトコルモニタ装置を接続する必要がなくなり、容易にデバッグを行うことができる。
本発明の実施形態のハードウェア構成例を示す図である。 図1のCPUインターフェース間通信の詳細を示す図である。 本実施形態の動作モード切り替えの手順を示す図である。 本実施形態の大容量データ転送モードによるデータ転送手順(コントローラCPUからエンジンCPUへ)を示すシーケンス図(その1)である。 本実施形態の大容量データ転送モードによるデータ転送手順(コントローラCPUからエンジンCPUへ)を示すシーケンス図(その2)である。 本実施形態の大容量データ転送モードによるデータ転送手順(エンジンCPUからコントローラCPUへ)を示すシーケンス図(その1)である。 本実施形態の大容量データ転送モードによるデータ転送手順(エンジンCPUからコントローラCPUへ)を示すシーケンス図(その2)である。 本実施形態の通信ログモードによるデータ転送手順(コントローラCPUからエンジンCPUへ)を示すシーケンス図である。 本実施形態の通信ログモードによるデータ転送手順(エンジンCPUからコントローラCPUへ)を示すシーケンス図である。 本実施形態の操作部での通信ログの表示手順を示すシーケンス図である。 本実施形態の端末装置による通信ログの表示手順を示すシーケンス図である。
符号の説明
100 画像形成装置
101 ASIC
102 コントローラCPU
103 エンジンCPU
104 メインメモリ
105 ハードディスク
106 操作部
110 エンジンCPU割り込み制御部
111 レジスタ
112 コントローラCPU割り込み制御部
113 エンジンCPUインターフェース
114 コントローラCPUインターフェース
115 シリアルインターフェース
116 通信用SRAM
117 通信バッファDMAC
118 ハードディスクインターフェース
119 ハードディスクDMAC
120 操作部コントローラ
121 エンジンCPU用送信バッファ
122 コントローラCPU用受信バッファ
123 エンジンCPU用受信バッファ
124 コントローラCPU用送信バッファ

Claims (7)

  1. 複数の演算制御手段を備える画像形成装置であって、
    前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御手段の主記憶とデータ転送先の演算制御手段間で、前記データ転送元の演算制御手段の制御を介さずに、前記主記憶に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、
    該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、
    を有することを特徴とする画像形成装置。
  2. 前記データ転送制御手段は、サイズが前記所定の値以上のデータの転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に、通知することを特徴とする請求項1に記載の画像形成装置。
  3. 前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段は、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておき、
    前記データ転送制御手段は、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させることを特徴とする請求項1又は2に記載の画像形成装置。
  4. 複数の演算制御手段を備える画像形成装置の制御方法であって、
    前記複数の演算制御手段の間でデータ転送が実行されるとき、転送されるデータのサイズが所定の値以上であるか否かを判断する大容量データ転送モード判定工程と、
    該大容量データ転送モード判定工程により、前記転送されるデータのサイズが前記所定の値以上であると判断された場合に、データ転送元の演算制御手段の主記憶から、前記データ転送元の演算制御手段の制御を介さずに転送されるデータを、バッファリングを行う一時記憶手段に、入力するデータ転送制御工程と、
    を有することを特徴とする画像形成装置の制御方法。
  5. 前記データ転送制御工程の後に、データ転送が終了したとき、転送終了を、前記データ転送元の演算制御手段に通知する転送終了通知工程を、さらに有することを特徴とする請求項4に記載の画像形成装置の制御方法。
  6. 前記複数の演算制御手段の間でデータ転送が実行されるときに操作者により通信ログをとることが選択された場合、データ転送元の演算制御手段が、データ転送のために発したコマンドを、前記一時記憶手段に通信ログとして記憶させておく通信ログ取得工程と、
    前記データ転送制御工程を実行するデータ転送制御手段が、前記一時記憶手段に記憶されている前記通信ログを前記主記憶に記憶させる通信ログ出力工程と、
    をさらに有することを特徴とする請求項4又は5に記載の画像形成装置の制御方法。
  7. 複数の演算制御装置間のデータ転送を実行するデータ転送装置であって、
    転送されるデータのサイズが所定の値以上の場合に、データ転送元の演算制御装置の主記憶装置とデータ転送先の演算制御装置間で、前記データ転送元の演算制御装置の制御を介さずに、前記主記憶装置に格納されたデータの入出力を行い、データ転送制御を実行するデータ転送制御手段と、
    該データ転送制御手段の制御を受けて、転送されるデータを一時的に記憶してバッファリングを行う一時記憶手段と、
    を有することを特徴とするデータ転送装置。
JP2007064151A 2007-03-13 2007-03-13 画像形成装置、画像形成装置の制御方法及びデータ転送装置 Withdrawn JP2008227975A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007064151A JP2008227975A (ja) 2007-03-13 2007-03-13 画像形成装置、画像形成装置の制御方法及びデータ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007064151A JP2008227975A (ja) 2007-03-13 2007-03-13 画像形成装置、画像形成装置の制御方法及びデータ転送装置

Publications (1)

Publication Number Publication Date
JP2008227975A true JP2008227975A (ja) 2008-09-25

Family

ID=39846041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007064151A Withdrawn JP2008227975A (ja) 2007-03-13 2007-03-13 画像形成装置、画像形成装置の制御方法及びデータ転送装置

Country Status (1)

Country Link
JP (1) JP2008227975A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017004439A (ja) * 2015-06-15 2017-01-05 株式会社リコー 画像形成装置、画像形成方法及びプログラム
CN117149680A (zh) * 2023-10-27 2023-12-01 合肥安迅精密技术有限公司 用于贴片机子模块日志上传的主控板及上传方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017004439A (ja) * 2015-06-15 2017-01-05 株式会社リコー 画像形成装置、画像形成方法及びプログラム
CN117149680A (zh) * 2023-10-27 2023-12-01 合肥安迅精密技术有限公司 用于贴片机子模块日志上传的主控板及上传方法
CN117149680B (zh) * 2023-10-27 2024-02-02 合肥安迅精密技术有限公司 用于贴片机子模块日志上传的主控板及上传方法

Similar Documents

Publication Publication Date Title
JP5273072B2 (ja) データ処理装置、データ入出力装置およびデータ入出力方法
CN102665022A (zh) 能够适当执行关机处理的信息处理设备及其控制方法
EP2846524A2 (en) Wireless communication apparatus, wireless communication method, program, and storage medium
JP2016051925A (ja) メインシステムおよびサブシステムを備える情報処理装置等
JP5743475B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2008227975A (ja) 画像形成装置、画像形成装置の制御方法及びデータ転送装置
JP2010134710A (ja) 仮想マシンの移行方法、サーバ、及び、プログラム
JP5209535B2 (ja) Usbホストコントローラ及びusbホストコントローラの制御方法
JP2012015812A (ja) 画像形成装置
JP5518143B2 (ja) 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
JP2011197990A (ja) 情報処理装置及びプログラム
JP2007156854A (ja) 画像処理装置、課金管理装置並設接続装置、課金管理プログラムおよび課金管理方法
JP4779010B2 (ja) バッファリング装置およびバッファリング方法
JP6210099B2 (ja) 画面遷移制御方法、画面遷移制御装置およびプログラム
JP2012128705A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2017059051A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP4509461B2 (ja) データ処理装置、データ入出力装置およびデータ入出力方法
JP2024064842A (ja) 印刷システムおよびサブプリンタ
JP4304595B2 (ja) 画像形成装置
JP6155883B2 (ja) 表示プログラムおよび表示装置
JP2009089366A (ja) 画像形成装置および表示方法
JP2007068015A (ja) 画像形成システム、画像形成装置、画像読取装置、画像形成装置の制御方法
JP2022115878A (ja) 画像形成装置、制御方法およびプログラム
JP6482434B2 (ja) データ処理システム
JP2014071834A (ja) 通信装置およびプログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100601