(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】画像形成装置、画像形成装置の制御方法および制御装置
(51)【国際特許分類】
H04N 1/00 20060101AFI20241210BHJP
G03G 21/00 20060101ALI20241210BHJP
B41J 29/38 20060101ALI20241210BHJP
G06F 1/24 20060101ALI20241210BHJP
【FI】
H04N1/00 C
G03G21/00 398
G03G21/00 510
B41J29/38 301
B41J29/38 104
H04N1/00 885
G06F1/24 B
(21)【出願番号】P 2021001897
(22)【出願日】2021-01-08
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】高橋 賢
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2007-286859(JP,A)
【文献】特開2008-131603(JP,A)
【文献】特開2012-008661(JP,A)
【文献】特開2000-232540(JP,A)
【文献】特開2014-032464(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
G03G 21/00
B41J 29/38
G06F 1/24
(57)【特許請求の範囲】
【請求項1】
画像を形成する画像形成部と、
第1コントローラを含み、第1動作モード時に前記画像形成部の制御を実施し、前記第1動作モードより消費電力が小さい第2動作モード時に前記画像形成部とともに電源が遮断される第1制御部と、
前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、を有し、
前記第2制御部は、
前記第2動作モード時に前記第2コントローラの異常を検出した場合、異常検出信号を出力する異常検出部と、
前記異常検出信号に基づいて、前記第1制御部を前記第2動作モードから前記第1動作モードに復帰させる復帰処理部と、
前記第2制御部内の複数の回路の状態を示す回路情報を保持する回路情報保持部と、
前記第2動作モードから前記第1動作モードに復帰した場合に前記第1制御部から発行される情報取得要求に基づいて
、前記回路情報保持部に保持された前記回路情報を前記第1制御部に出力する回路情報通知部と、
前記第1制御部から受信するリセット要求が示す回路をリセットするリセット部と、
を有
し、
前記第1制御部は、前記第2制御部から通知された前記回路情報に基づいて前記第2制御部内で異常が発生した前記回路を判定できない場合、前記第2コントローラの動作を停止させる停止要求を前記第2制御部に発行する停止要求発行部を有し、
前記第2制御部は、前記停止要求に基づいて前記第2コントローラの動作を停止する停止信号を生成する停止信号生成回路を有すること
を特徴とする画像形成装置。
【請求項2】
前記第1制御部は、
前記復帰処理部により前記第2動作モードから前記第1動作モードに復帰した場合、前記情報取得要求を発行する取得要求発行部と、
前記第2制御部から通知された前記回路情報に基づいて決定したリセット範囲を示す前記リセット要求を前記第2制御部に発行するリセット要求発行部と、を有し、
前記リセット部は、
前記リセット要求に基づいてリセットする回路を示すリセット情報を出力するリセット情報生成回路と、
前記リセット情報生成回路から受信する前記リセット情報が示す回路をリセットするリセット信号を生成するリセット生成回路と、を有すること
を特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記第2制御部は、前記複数の回路を相互に接続する内部バスを含むインターコネクトを有し、
前記第1制御部の
前記リセット要求発行部は、前記第2制御部から通知された前記回路情報が前記インターコネクトの異常を示す場合、前記インターコネクトをリセットする前記リセット要求を前記第2制御部に発行すること
を特徴とする
請求項2に記載の画像形成装置。
【請求項4】
前記第2制御部は、前記第1制御部と通信を実施する通信インタフェースを有し、
前記通信インタフェースは、前記リセット情報生成回路および前記停止信号生成回路の少なくともいずれかを含むこと
を特徴とする
請求項2または請求項3に記載の画像形成装置。
【請求項5】
前記通信インタフェースは、PCIeインタフェースを有し、
前記第1制御部は、前記リセット要求、前記情報取得要求および前記停止要求をPCIeパケットとして前記通信インタフェースに送信すること
を特徴とする
請求項4に記載の画像形成装置。
【請求項6】
前記通信インタフェースは、シリアルインタフェースを有し、
前記第1制御部は、前記リセット要求、前記情報取得要求および前記停止要求をシリアル信号として前記通信インタフェースに送信すること
を特徴とする
請求項4に記載の画像形成装置。
【請求項7】
前記第2制御部は、前記第2制御部の動作の履歴を示す履歴情報を保持するメモリを有し、
前記第1制御部は、前記第2制御部から前記回路情報を通知された後、前記メモリにメモリアクセス要求を発行し、前記メモリに保持された前記履歴情報を読み出すこと
を特徴とする
請求項1ないし請求項6のいずれか1項に記載の画像形成装置。
【請求項8】
前記第2制御部に接続され、ユーザに操作される操作部を有し、
前記第2コントローラは、前記第2動作モード中、前記操作部の操作に基づいて前記復帰処理部に前記第2動作モードから前記第1動作モードへの復帰を指示し、
前記復帰処理部は、前記第2コントローラからの復帰の指示に基づいて前記第1制御部を前記第2動作モードから前記第1動作モードに復帰させること
を特徴とする
請求項1ないし請求項7のいずれか1項に記載の画像形成装置。
【請求項9】
画像を形成する画像形成部と、第1動作モード時に前記画像形成部の制御を実施し、前記第1動作モードより消費電力が小さい第2動作モード時に前記画像形成部とともに電源が遮断される第1制御部と、前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、を有する画像形成装置の制御方法であって、
前記第2制御部が
前記第2動作モード時に前記第2コントローラの異常を検出した場合、異常検出信号を出力し、
前記異常検出信号に基づいて、前記第1制御部を前記第2動作モードから前記第1動作モードに復帰させ、
前記第2制御部内の複数の回路の状態を示す回路情報を保持し、
前記第2動作モードから前記第1動作モードに復帰した場合に前記第1制御部から発行される情報取得要求に基づいて
、保持した前記回路情報を前記第1制御部に出力し、
前記第1制御部から受信するリセット要求が示す回路をリセット
し、
前記第1制御部は、前記第2制御部から通知された前記回路情報に基づいて前記第2制御部内で異常が発生した前記回路を判定できない場合、前記第2コントローラの動作を停止させる停止要求を前記第2制御部に発行し、
前記第2制御部は、前記停止要求に基づいて前記第2コントローラの動作を停止する停止信号を生成すること
を特徴とする画像形成装置の制御方法。
【請求項10】
所定の機能を有する機器と、
第1コントローラを含み、第1動作モード時に前記機器の制御を実施し、前記第1動作モードより消費電力が小さい第2動作モード時に前記機器とともに電源が遮断される第1制御部と、
前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、を有し、
前記第2制御部は、
前記第2動作モード時に前記第2コントローラの異常を検出した場合、異常検出信号を出力する異常検出部と、
前記異常検出信号に基づいて、前記第1制御部を前記第2動作モードから前記第1動作モードに復帰させる復帰処理部と、
前記第2制御部内の複数の回路の状態を示す回路情報を保持する回路情報保持部と、
前記第2動作モードから前記第1動作モードに復帰した場合に前記第1制御部から発行される情報取得要求に基づいて
、前記回路情報保持部に保持された前記回路情報を前記第1制御部に出力する回路情報通知部と、
前記第1制御部から受信するリセット要求が示す回路をリセットするリセット部と、
を有
し、
前記第1制御部は、前記第2制御部から通知された前記回路情報に基づいて前記第2制御部内で異常が発生した前記回路を判定できない場合、前記第2コントローラの動作を停止させる停止要求を前記第2制御部に発行する停止要求発行部を有し、
前記第2制御部は、前記停止要求に基づいて前記第2コントローラの動作を停止する停止信号を生成する停止信号生成回路を有すること
を特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、画像形成装置の制御方法および制御装置に関する。
【背景技術】
【0002】
通常モード時に画像処理エンジンなどの機器を制御するメイン制御装置と、通常モードより消費電力が少ない省エネルギーモード時にメイン制御装置に代わって機器の一部を制御するサブ制御部を有する画像形成装置が知られている。外部と通信するI/OコントローラとサブCPUとがサブ制御部に搭載される画像形成装置において、サブCPUが暴走した場合、外部と常時通信する回路を除きリセットすることで、制御装置の動作異常を防止する手法が知られている(例えば、特許文献1参照)。
【0003】
また、サブCPUが暴走して正常に復帰できないときに、リセットを繰り返すサブ制御部により無駄な電力が消費されることを抑制するために、画像形成装置全体の電源をオフする手法が知られている(例えば、特許文献2参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
サブCPUが暴走したときのリセット範囲が予め決められている場合、リセットしない要素の異常によりサブCPUが再び暴走するおそれがある。この場合、暴走前にサブ制御部に保持されているデータが喪失するおそれがある。
【0005】
開示の技術は、第2コントローラの異常の発生要因である回路を検出してリセットすることで、第2コントローラの異常が繰り返し発生することを防止し、第2制御部に保持されるデータの喪失を防止することを目的とする。
【課題を解決するための手段】
【0006】
上記技術的課題を解決するため、本発明の一形態の画像形成装置は、画像を形成する画像形成部と、第1コントローラを含み、第1動作モード時に前記画像形成部の制御を実施し、前記第1動作モードより消費電力が小さい第2動作モード時に前記画像形成部とともに電源が遮断される第1制御部と、前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、を有し、前記第2制御部は、前記第2動作モード時に前記第2コントローラの異常を検出した場合、異常検出信号を出力する異常検出部と、前記異常検出部が検出した異常に基づいて、前記第1制御部を前記第2動作モードから前記第1動作モードに復帰させる復帰処理部と、前記第2制御部内の複数の回路の状態を示す回路情報を保持する回路情報保持部と、前記第2動作モードから前記第1動作モードに復帰した場合に前記第1制御部から発行される情報取得要求に基づいて、前記回路情報保持部に保持された前記回路情報を前記第1制御部に出力する回路情報通知部と、前記第1制御部から受信するリセット要求が示す回路をリセットするリセット部と、を有し、前記第1制御部は、前記第2制御部から通知された前記回路情報に基づいて前記第2制御部内で異常が発生した前記回路を判定できない場合、前記第2コントローラの動作を停止させる停止要求を前記第2制御部に発行する停止要求発行部を有し、
前記第2制御部は、前記停止要求に基づいて前記第2コントローラの動作を停止する停止信号を生成する停止信号生成回路を有することを特徴とする。
【発明の効果】
【0007】
第2コントローラの異常の発生要因である回路を検出してリセットすることで、第2コントローラの異常が繰り返し発生することを防止し、第2制御部に保持されるデータの喪失を防止することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の第1の実施形態に係る画像形成装置の一例を示すブロック図である。
【
図2】
図1の画像形成装置の動作の一例を示すシーケンス図である。
【
図3】
図1の画像形成装置の動作の別の例を示すシーケンス図である。
【
図4】
図1の画像形成装置の動作のさらなる別の例を示すシーケンス図である。
【
図5】本発明の第2の実施形態に係る画像形成装置の一例を示すブロック図である。
【
図6】
図5の画像形成装置の動作の一例を示すシーケンス図である。
【
図7】本発明の第3の実施形態に係る画像形成装置の一例を示すブロック図である。
【
図8】本発明の第4の実施形態に係る制御装置の一例を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施の形態の説明を行う。以下では、信号等の情報が伝達される信号線には、信号名と同じ符号を使用する。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
【0010】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像形成装置の一例を示すブロック図である。
図1に示す画像形成装置100は、エンジン10、メイン制御部20、サブ制御部30、ROM(Read Only Memory)60および操作部70を有する。メイン制御部20は、第1制御部の一例であり、サブ制御部30は第2制御部の一例である。
【0011】
例えば、エンジン10は、紙媒体等に記録された画像等を読み取って画像データを形成するスキャナ11と、画像データ等を使用して画像を紙媒体等に形成するプロッタ12とを有する。なお、エンジン10は、プロッタ12の代わりに、トナーまたはインクを使用して画像データ等を紙媒体にプリントするプリンタを含んでもよい。エンジン10は、画像を形成する画像形成部の一例である。
【0012】
図1に示す要素のうち、太枠で示す要素は、動作モードの1つである通常モード時に動作し、動作モードの別の1つである省エネルギーモード時に動作を停止する。
図1に太枠以外で示す要素は、通常モード時および省エネルギーモード時に動作する。以下では、省エネルギーモードは、省エネモードとも称される。通常モードは、第1動作モードの一例であり、省エネモードは、第2動作モードの一例である。
【0013】
メイン制御部20は、メインCPU(Central Processing Unit)21、PMC(Power Management Controller)22およびPCIe(Peripheral Component Interconnect express)インタフェース(I/F)23を有する。
【0014】
サブ制御部30は、サブCPU31、PCIeインタフェース32、ウォッチドッグタイマ(WDT)33、PMC34、システムレジスタ35、リセット生成器36およびアービタ37を有する。また、サブ制御部30は、QSPI(Quad Serial Peripheral Interface)38、ワークRAM39、USB(Universal Serial Bus)インタフェース40、ネットワークインタフェース41および操作部インタフェース42を有する。以下では、ウォッチドッグタイマ33は、WDT33とも称される。
【0015】
PCIeインタフェース32は、通信インタフェース51、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55を有する。判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55は、例えば、PCIeインタフェース32内のプログラマブルロジックを使用して形成される。
【0016】
これにより、サブ制御部30内に新たな回路を追加することなく、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55をサブ制御部30に設けることができる。なお、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55は、PCIeインタフェース32の外側に設けられてもよい。
【0017】
メインCPU21は、第1コントローラの一例であり、サブCPU31は、第2コントローラの一例である。なお、メインCPU21およびサブCPU31は、CPU以外のプロセッサまたはコントローラでもよい。
【0018】
メインCPU21は、通常モード時、画像形成装置100の全体の動作を制御するとともに、エンジン10を制御して、スキャナ動作またはプロット動作等を実施する。メインCPU21は、動作モードに応じて起動と停止とを繰り返す。
【0019】
PMC22は、サブ制御部30のPMC34からの指示に基づいて、メイン制御部20内の各要素への電源の供給を制御する。例えば、PMC22は、省エネモードから通常モードに復帰させる電源復帰指示に基づいて、メインCPU21およびPCIeインタフェース23に電源を投入し、起動させる。また、PMC22は、通常モードから省エネモードに移行させる電源遮断指示に基づいて、メインCPU21およびPCIeインタフェース23の動作を終了させ、電源の供給を遮断する。
【0020】
PCIeインタフェース23は、サブ制御部30のPCIeインタフェース32との間で、パケット(PCIeパケット)による通信を相互に実施する。これにより、既存のインタフェースを利用して、後述する回路情報、リセット要求、ホールド要求等をメイン制御部20とサブ制御部30との間で送受信することができる。また、開発済みの既存のメイン制御部20を使用して、メインCPU21が実行するプログラムを改良するだけで、後述する
図2から
図4に示す動作を実現することができる。なお、メイン制御部20とサブ制御部30との間は、PCIeインタフェース以外の通信インタフェースで接続されてもよい。
【0021】
サブCPU31は、省エネモード時、メインCPU21に代わって、画像形成装置100の全体を制御する。サブCPU31は、動作モードにかかわりなく常に動作する。なお、メインCPU21は、エンジン10の動作を制御し、画像処理等の負荷の大きい処理を実施するため、回路規模が大きく、消費電力が大きい。これに対して、サブCPU31は、エンジン10の動作に伴う画像処理等を実施しないため、メインCPU21に比べて、回路規模を小さくでき、消費電力を小さくできる。したがって、エンジン10が動作しない省エネモード時の画像形成装置100の消費電力を、通常モード時に比べて、さらに小さくすることができる。
【0022】
通信インタフェース51は、PCIeインタフェース23の図示しない通信インタフェースとの間でパケットを送受信する。判定回路52は、通信インタフェース51を介してメインCPU21から受信するパケットが予め設定された特定のパケットであるか否かを判定する。
【0023】
判定回路52は、特定のパケットがサブCPU31の動作を停止させるHALT要求を示す場合、HALT生成回路53にHALT指示を出力する。HALT要求は、停止要求の一例であり、HALT要求を発行するメインCPU21は、停止要求発行部の一例である。
【0024】
判定回路52は、特定のパケットがサブ制御部30内の所定の要素をリセットさせるリセット要求を示す場合、リセット指示をリセット生成回路55に出力する。リセット要求を発行するメインCPU21は、リセット要求発行部の一例である。
【0025】
また、判定回路52は、メインCPU21からの情報取得要求に基づいて、サブ制御部30内の各回路の状態を示す回路情報を回路情報保持部54から取得し、取得した回路情報を、通信インタフェース51を介してメインCPU21に送信する。情報取得要求を発行するメインCPU21は、取得要求発行部の一例である。通信インタフェース51および判定回路52は、メイン制御部20からの情報取得要求に基づいてサブ制御部30内の複数の回路の状態を示す回路情報をメイン制御部20に出力する回路情報通知部の一例である。
【0026】
ここで、メインCPU21は、PMC22による通常モードへの復帰が、サブ制御部30の動作の異常に基づくものである場合、サブ制御部30内での異常の発生範囲を判断するため、情報取得要求をサブ制御部30に発行する。そして、メインCPU21は、サブ制御部30から取得した回路情報に基づいてHALT要求またはリセット要求等をサブ制御部30に発行する。なお、メインCPU21は、PMC22による通常モードへの復帰指示に基づいて、サブ制御部30の動作の異常に基づくか否かにかかわりなく、情報取得要求をサブ制御部30に発行してもよい。
【0027】
HALT生成回路53は、判定回路52からのHALT指示に応答して、サブCPU31への停止信号HALTをアサートする。また、HALT生成回路53は、判定回路52からのHALT解除指示に応答して、サブCPU31への停止信号HALTをネゲートする。HALT生成回路53は、停止信号生成回路の一例である。
【0028】
HALT生成回路53の出力は、アービタ37を介さずに専用の停止信号線HALTでサブCPU31に直接接続される。これにより、例えば、メイン制御部20が、アービタ37の異常に基づいてPMC34からの電源復帰指示を受信した場合にも、HALT生成回路53は、異常が発生したアービタ37を介さずにサブCPU31をホールトすることができる。これにより、ワークRAM39を誤って書き換えるなどのサブCPU31の誤動作を防止することができる。
【0029】
リセット生成回路55は、判定回路52からのリセット指示に基づいて、リセット指示に含まれるリセット範囲に対応する回路をリセットさせるリセット情報RSTをリセット生成器36に発行する。リセット生成回路55は、リセット情報RSTをリセット生成器36に出力するリセット情報生成回路の一例である。
【0030】
リセット生成回路55の出力は、アービタ37を介さずに専用のリセット信号線でリセット生成器36に直接接続される。これにより、例えば、メイン制御部20が、アービタ37の異常に基づいてPMC34からの電源復帰指示を受信した場合にも、リセット生成器36は、アービタ37をリセットすることができる。
【0031】
回路情報保持部54は、通常モード時、例えばアービタ37を介してサブ制御部30内の各回路から回路情報を常時受信し、受信した回路情報を保持する。なお、回路情報保持部54は、アービタ37を介さずに、各回路(アービタ37を含む)から回路情報を直接受信してもよい。回路情報保持部54は、レジスタ、ラッチ、バッファまたはメモリである。また、回路情報保持部54は、判定回路52内に設けられてもよい。
【0032】
WDT33は、図示しない信号線を介してサブCPU31から所定の頻度で受信するリセット信号に応答して内蔵するタイマ(カウンタ)をリセットする。WDT33は、省エネモード時に、サブCPU31が実行するプログラムの暴走により、リセット信号を受信できずタイムアウトが発生した場合、メイン制御部20を省エネモードから通常モードに復帰させる復帰信号をPMC34に出力する。
【0033】
また、WDT33は、省エネモード時にタイムアウトが発生した場合、PCIeインタフェース32に省エネモードから通常モードに復帰させる復帰信号を出力する。WDT33は、省エネモード時にサブCPU31の異常を検出した場合、異常検出信号である復帰信号を出力する異常検出部の一例である。PCIeインタフェース32は、復帰信号に応答して起動され、動作可能な状態になる。
【0034】
PMC34は、サブCPU31からの復帰信号またはWDT33からの復帰信号に応答して、PMC22およびエンジン10を省エネモードから通常モードに復帰させる電源復帰指示を出力する。上述したように、PMC22は、電源復帰指示に基づいてメイン制御部20を省エネモードから通常モードに復帰させる。
【0035】
なお、PMC34は、WDT33等による異常の検出に基づく復帰信号と、サブ制御部30の正常動作中に省エネモードから通常モードに復帰させる復帰信号とをそれぞれPMC22およびエンジン10に出力してもよい。PMC34は、サブ制御部30の正常動作中の復帰信号を、例えば、ユーザによる操作部70の操作に基づいて出力する。
【0036】
エンジン10は、電源復帰指示に基づいて、スキャナ11およびプロッタ12等の内部要素に電源を供給し、通常モードに復帰する。PMC34は、WDT33が検出した異常に基づいて、メイン制御部20を省エネモードから通常モードに復帰させる復帰処理部の一例である。
【0037】
システムレジスタ35は、例えば、サブ制御部30内でリセット可能な回路に対応する複数のビットを有する。システムレジスタ35は、サブCPU31によりセットされたビットに対応する信号をアサートしてリセット生成器36に出力する。リセット生成器36は、アサートされた信号に対応する回路をリセットする。これにより、サブCPU31により、リセット可能な任意の回路をリセットすることができる。なお、システムレジスタ35は、リセットする回路を示す情報がコード化された値を保持してもよい。この場合、リセット生成器36は、コード化された値をデコードすることで、リセットする回路を判断する。
【0038】
リセット生成器36は、上述したように、リセット生成回路55からのリセット情報RSTまたはシステムレジスタ35から出力される信号のアサートに応じて、対応する回路をリセットするリセット信号を出力する。リセット生成回路55およびリセット生成器36は、メイン制御部20から受信するリセット要求が示す回路をリセットするリセット部の一例である。
【0039】
アービタ37は、サブ制御部内の各回路を相互に接続する内部バスを有し、各回路による内部バスの使用権を調停する機能を有する。アービタ37は、複数の回路を相互に接続する内部バスを含むインターコネクトの一例である。
【0040】
QSPI38は、アービタ37を介して受信するアクセス要求に基づいて、例えば、シリアルフラッシュメモリ等のROM60にアクセスする。ROM60には、サブCPU31が実行するプログラムが格納されてもよい。ワークRAM39は、サブCPU31で使用するワークデータおよびサブ制御部30内の各回路の状態を示す回路情報等を保持する。
【0041】
USBインタフェース40は、USB端子に接続される図示しないUSB機器との間で通信を実施する。ネットワークインタフェース41は、ネットワークに接続される。操作部インタフェース42は、画像形成装置100の操作部70のユーザによる操作を受け付け、操作部70に搭載される画面に画像形成装置100の操作に関する情報を表示する。
【0042】
図2は、
図1の画像形成装置100の動作の一例を示すシーケンス図である。すなわち、
図2は、画像形成装置100の制御方法の一例を示す。
図2の初期状態において、メイン制御部20とPCIeインタフェース32とは、省エネモードにより動作を停止している(省エネ中)。図示していないが、エンジン10も動作を停止している。
図2において、縦長の矩形は、各回路が動作中であることを示す。矩形中の黒丸は、信号等の情報が中継されることを示す。
【0043】
サブCPU31は、WDT33を定期的にリセットし、WDT33は、リセットによりタイムアウトを回避する。何らかの原因でサブCPU31が暴走した場合、サブCPU31は、WDT33をリセットできない。このため、WDT33にタイムアウトが発生する(発火)。WDT33は、PCIeインタフェース32に復帰信号を出力し、PCIeインタフェース32の省エネモードを解除して通常モードに復帰させる。また、WDT33は、PMC34を介してメイン制御部20に復帰信号を出力し、メイン制御部20の省エネモードを解除して通常モードに復帰させる。
【0044】
省エネモードから通常モードに復帰したメインCPU21は、PCIeインタフェース32の回路情報保持部54から回路情報を取得し、サブ制御部30内の各回路の状態を検出する。
図2に示す例では、メインCPU21は、取得した回路情報を解析するが、サブ制御部30内で異常が発生した回路(原因)を判定できない。
【0045】
この場合、メインCPU21は、HALT要求をPCIeインタフェース32に発行する。PCIeインタフェース32のHALT生成回路53は、サブCPU31にアサートレベルの停止信号HALTを出力し、サブCPU31の動作を停止させる。これにより、サブCPU31の暴走によるワークRAM39の誤った書き換え等の誤動作を防止することができる。
【0046】
この後、メインCPU21は、PCIeインタフェース32およびアービタ37を介してワークRAM39にメモリアクセス要求を発行する。そして、メインCPU21は、ワークRAM39に保持された通信データおよびログデータ等のサブ制御部30の異常の原因を解析するための情報をバックアップする。
【0047】
メインCPU21により通信データおよびログデータ等を取得することで、回路情報の取得では判定できない異常発生の原因を判定することが可能になる。異常発生の原因は、メインCPU21が実行する制御プログラムにより判定されてもよく、画像形成装置100をデバッグする開発者等が通信データおよびログデータを解析することにより判定してもよい。
【0048】
なお、メインCPU21は、ワークRAM39に保持されたワークデータ等をバックアップしてもよい。これにより、サブCPU31が再起動後に再び暴走して、ワークRAM39内のデータが書き換えられた場合にも、ワークデータを復活させることが可能になる。
【0049】
メインCPU21は、取得した回路情報およびワークRAM39から取得したデータの少なくともいずれかを使用して、リセットする回路を決定する。そして、メインCPU21は、リセットする回路を示す情報を含むリセット要求(リセット指示、リセット情報RST)を、PCIeインタフェース32を介してリセット生成器36に出力する。
図2に示す例では、メインCPU21は、取得した回路情報に基づいて、サブCPU31のみのリセットを決定する。
【0050】
リセット生成器36は、リセット指示で指示されるサブCPU31およびワークRAM39をリセットするリセット信号を出力する。リセットされたサブCPU31は、再起動され、プログラムの実行を再開する。なお、メインCPU21は、サブ制御部30にリセット要求を出力後、HALT要求を解除する。ワークRAM39は、リセットにより初期化される。
【0051】
図2に示すように、メインCPU21が、サブ制御部30から受信する回路情報に基づいて、サブ制御部30内でリセットする回路を決定することで、異常からの復帰に必要な最小限の回路をリセットすることができる。換言すれば、リセットする範囲を固定せず、サブ制御部30の異常状態に応じてリセットする回路を決定することで、リセット後に異常が再び発生する可能性を低くすることができ、画像形成装置100の信頼性を向上することができる。また、リセットすべき回路を適切に決定してリセットできるため、ワークRAM39内のデータが誤って書き換えられるなどの不具合の発生を防止することができる。
【0052】
図3は、
図1の画像形成装置100の動作の別の例を示すシーケンス図である。すなわち、
図3は、画像形成装置100の制御方法の一例を示す。
図2と同様の動作については、詳細な説明は省略する。
図3では、アービタ37の内部バスがストールすることにより、サブCPU31が暴走し、WDT33が発火する。メインCPU21がサブCPU31の動作を停止(HALT)させるまでの動作は、アービタ37の内部バスがストールすることを除き、
図2と同様である。
【0053】
メインCPU21は、取得した回路情報の解析に基づいて、内部バスのストールを検出する。そして、メインCPU21は、内部バスのリセット指示を含むリセット要求を、PCIeインタフェース32を介してリセット生成器36に出力する。リセット生成器36は、リセット指示に基づいて内部バスをリセットするリセット信号を出力する。
【0054】
内部バスが正常状態に復帰した後、メインCPU21は、
図2と同様に、アービタ37(内部バス)を介してワークRAM39に保持されたデータをバックアップする。そして、メインCPU21は、サブCPU31およびワークRAM39のリセット指示を含むリセット要求を、PCIeインタフェース32を介してリセット生成器36に出力する。リセット生成器36は、リセット指示に基づいて、ワークRAM39をリセットし、サブCPU31にリセット信号を出力することで、サブCPU31を再起動させる。
【0055】
図3においても、リセットする範囲を固定せず、サブ制御部30の異常状態に応じてリセットする回路を決定することで、リセット後に異常が再び発生する可能性を低くすることができ、画像形成装置100の信頼性を向上することができる。さらに、アービタ37に異常が発生した場合、アービタ37をリセットした後に、ワークRAM39に保持されたデータをコピーすることで、データのバックアップを正常に実施することができる。また、バックアップするデータにサブ制御部30の動作の履歴情報が含まれる場合、バックアップしたデータを使用して、サブ制御部30の不具合の原因を調査することが可能になる。
【0056】
図4は、
図1の画像形成装置100の動作のさらなる別の例を示すシーケンス図である。すなわち、
図4は、画像形成装置100の制御方法の一例を示す。
図2および
図3と同様の動作については、詳細な説明は省略する。
図4では、省エネモード中に、サブCPU31は、USBインタフェース40の異常を検出し、アービタ37を介してPMC34およびPCIeインタフェース32に省エネモードの解除を指示する。通常モードに復帰後、メインCPU21がワークRAM39に保持されたデータをバックアップするまでの動作は、WDT33でなく、サブCPU31により省エネモードが解除されることを除き、
図2と同様である。
【0057】
なお、メインCPU21は、サブCPU31が暴走していない場合にも、回路情報を取得後、HALT要求を発行し、サブCPU31の動作を停止する。これにより、例えば、USBインタフェース40の異常に起因してサブCPU31が暴走することを防止することができ、サブ制御部30内の異常状態が拡大することを防止することができる。この結果、サブ制御部30を正常に復帰できる可能性を高くすることができ、画像形成装置100の信頼性を向上することができる。
【0058】
メインCPU21は、取得した回路情報の解析に基づいて、USBインタフェース40の異常を検出する。そして、メインCPU21は、ワークRAM39からのデータのバックアップ後、USBインタフェース40およびワークRAM39のリセット指示を含むリセット要求を、PCIeインタフェース32を介してリセット生成器36に出力する。
【0059】
リセット生成器36は、リセット指示に基づいてUSBインタフェース40およびワークRAM39をリセットするリセット信号を出力する。この後、メインCPU21は、HALT解除要求をPCIeインタフェース32に発行する。PCIeインタフェース32のHALT生成回路53は、HALT解除要求に基づいて停止信号HALTをネゲートすることで、サブCPU31にHALT解除指示を発行し、サブCPU31の動作を再開させる。
【0060】
以上、第1の実施形態では、サブ制御部30は、省エネモード中にサブCPU31の暴走を検出したとき、メインCPU21からの指示に基づいてサブ制御部30内でリセットが必要な回路をリセットする。例えば、メインCPU21は、サブ制御部30から受信する回路情報に基づいて、サブ制御部30内でリセットする回路を決定し、決定した回路を示す情報をサブ制御部30に出力する。
【0061】
リセットすべき回路を適切に決定してリセットできるため、サブCPU31の暴走が繰り返されることを防止することができる。これにより、暴走が繰り返されることによりワークRAM39内のデータが誤って書き換えられるなどの不具合の発生を防止することができる。換言すれば、リセットする範囲を固定せず、サブ制御部30の異常状態に応じてリセットする回路を決定することで、リセット後に異常が再び発生する可能性を低くすることができ、画像形成装置100の信頼性を向上することができる。
【0062】
サブ制御部30は、メイン制御部20からのHALT要求に基づいてサブCPU31の動作を一時的に停止させる。この後、メイン制御部20からのリセット要求に基づいてサブ制御部30内の所定の回路をリセットすることで、サブCPU31の動作の影響を受けることなく、回路のリセット動作を正常に完了することができる。
【0063】
サブ制御部30は、メイン制御部20からのリセット要求にアービタ37のリセット指示が含まれる場合、アービタ37をリセットする。これにより、メインCPU21は、アービタ37がリセットされた後、ワークRAM39に保持されたデータをコピーすることで、データのバックアップを正常に実施することができる。また、バックアップするデータにサブ制御部30の動作の履歴情報が含まれる場合、バックアップしたデータを使用して、サブ制御部30の不具合の原因を調査することが可能になる。
【0064】
(第2の実施形態)
図5は、本発明の第2の実施形態に係る画像形成装置の一例を示すブロック図である。
図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図5に示す画像形成装置100Aは、
図1のメイン制御部20およびサブ制御部30の代わりにメイン制御部20Aおよびサブ制御部30Aを有する。画像形成装置100Aのその他の構成は、
図1と同様である。
【0065】
メイン制御部20Aは、
図1のメイン制御部20にUART(Universal Asynchronous Receiver/Transmitter)24を追加している。UART24は、通信インタフェースの一例であり、シリアル信号を送受信するシリアルインタフェースの一例である。すなわち、メインCPU21は、PCIeインタフェース23およびUART24を使用してサブ制御部30Aと通信する機能を有する。
【0066】
サブ制御部30Aは、
図1のサブ制御部30にUART44を追加し、
図1のPCIeインタフェース32の代わりにPCIeインタフェース32Aを有している。すなわち、サブCPU31は、PCIeインタフェース32AおよびUART44を使用してサブ制御部30Aと通信する機能を有する。
【0067】
PCIeインタフェース32Aは、
図1のPCIeインタフェース32から判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55を削除して構成される。すなわち、PCIeインタフェース32Aは、
図1のPCIeインタフェース32の通信インタフェース51のみを有する。サブ制御部30Aのその他の構成は、WDT33がUART44とPCIeインタフェース32Aとに復帰信号を出力することを除き、
図1のサブ制御部30と同様である。
【0068】
UART44は、通信インタフェース45、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55を有する。HALT生成回路53、回路情報保持部54およびリセット生成回路55と他の回路との接続関係は、
図1と同じである。なお、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55は、UART44の外側に設けられてもよい。
【0069】
PCIeインタフェース23、32Aは、高速なデータ伝送を実現できる反面、機構が複雑でありビットエラーが発生しやすい。そして、PCIeインタフェース23、32Aは、ビットエラーを訂正できない場合、リンクエラーが発生する場合がある。一方、UART24、44等のシリアルインタフェースは、PCIeインタフェースに比べてデータ伝送が低速であるが、機構が比較的簡易であるため、エラーが発生しにくい。
【0070】
したがって、判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55をUART44に搭載することで、回路情報、リセット要求およびHALT要求等をメイン制御部20A、サブ制御部30A間で確実に送受信することができる。また、サブCPU31の暴走の原因が、PCIeインタフェース32Aのリンクエラー等である場合に、UART44を使用して、PCIeインタフェース32Aをリセットすることができる。
【0071】
図6は、
図5の画像形成装置100Aの動作の一例を示すシーケンス図である。すなわち、
図6は、画像形成装置100Aの制御方法の一例を示す。
図2から
図4と同様の動作については、詳細な説明は省略する。
図6では、省エネモード中に、サブCPU31は、例えば、ユーザによる操作部70の操作に基づいて、PMC34、UART44およびPCIeインタフェース32Aに省エネモードから通常モードへの復帰を指示する。
【0072】
しかしながら、
図6に示す例では、PCIeインタフェース23、32Aの開通が失敗し、開通の失敗に起因してサブCPU31が暴走する。サブCPU31が暴走してからワークRAM39に保持されたデータをバックアップするまでの動作は、メインCPU21からの各種指示がUART24、44を介して実施されることを除き、
図2と同様である。
【0073】
メインCPU21は、データをバックアップ後、PCIeインタフェース32A、サブCPU31およびワークRAM39のリセット指示を含むリセット要求を、UART44を介してリセット生成器36に出力する。また、メインCPU21は、メイン制御部20内のPCIeインタフェース23をリセットする。
【0074】
以上、第2の実施形態では、シリアルインタフェースであるUART24、44を使用して、メイン制御部20Aとサブ制御部30Aとの間で、回路情報、リセット要求およびHALT要求等を送受信することで、第1の実施形態と同様の効果を得ることができる。さらに、第2の実施形態では、サブCPU31の暴走の原因がPCIeインタフェース32Aである場合に、UART44を使用して、PCIeインタフェース32Aをリセットすることができる。
【0075】
(第3の実施形態)
図7は、本発明の第3の実施形態に係る画像形成装置の一例を示すブロック図である。
図1および
図5と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図7に示す画像形成装置100Bは、
図5のサブ制御部30Aの代わりにサブ制御部30Bを有する。画像形成装置100Bのその他の構成は、
図1と同様である。
【0076】
サブ制御部30Bは、
図5のPCIeインタフェース32Aの代わりに、
図1のPCIeインタフェース32を有している。サブ制御部30Bのその他の構成は、リセット生成器36がPCIeインタフェース32のリセット生成回路55から出力されるリセット情報RSTを受信することを除き、
図5のサブ制御部30Aと同様である。
【0077】
以上、第3の実施形態においても、第1の実施形態および第2の実施形態と同様の効果を得ることができる。さらに、第3の実施形態では、PCIeインタフェース32とUART44のそれぞれに判定回路52、HALT生成回路53、回路情報保持部54およびリセット生成回路55が搭載される。これにより、PCIeインタフェース32またはUART44のいずれかが原因でサブCPU31が暴走した場合にも、サブ制御部30Bを正常な状態に復帰させることができる。
【0078】
(第4の実施形態)
図8は、本発明の第4の実施形態に係る制御装置の一例を示すブロック図である。
図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図8に示す制御装置200は、
図1のエンジン10の代わりに所定の機能が実現される機器15を有する。制御装置200のその他の構成は、
図1の画像形成装置100と同様である。
【0079】
例えば、機器15は、ディスプレイまたはロボットの機構部等であり、操作部70の操作に基づいてスタンバイ状態から復帰して動作する。制御装置200の動作の例は、
図2、
図3、
図4と同様である。なお、
図5または
図7のエンジン10が機器15に置き換えられることで、制御装置200が構成されてもよい。以上、第4の実施形態においても、上述した実施形態と同様の効果を得ることができる。
【0080】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0081】
10 エンジン
11 スキャナ
12 プロッタ
15 機器
20、20A メイン制御部
21 メインCPU
23 PCIeインタフェース
24 UART
30、30A、30B サブ制御部
31 サブCPU
32、32A PCIeインタフェース
33 WDT
34 PMC
35 システムレジスタ
36 リセット生成器
37 アービタ
38 QSPI
39 ワークRAM
40 USBインタフェース
41 ネットワークインタフェース
42 操作部インタフェース
44 UART
45 通信インタフェース
51 通信インタフェース
52 判定回路
53 HALT生成回路
54 回路情報保持部
55 リセット生成回路
60 ROM
70 操作部
100、100A、100B 画像形成装置
200 制御装置
HALT 停止信号
RST リセット情報
【先行技術文献】
【特許文献】
【0082】
【文献】特開2007-286859号公報
【文献】特開2011-51217号公報